{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper - Articles, Publishers & Publish Times",
    "description": "Scrape Google News for any topic or keyword: headline, publisher, direct article link, snippet and exact publish time. Sort by date, filter by date range or publisher, 46 countries. Clean JSON/CSV for media monitoring and AI agents. No API keys.",
    "version": "0.0",
    "x-build-id": "d3XcfQdknwzbZIoRx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/santhej~google-news-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-santhej-google-news-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/santhej~google-news-scraper/runs": {
      "post": {
        "operationId": "runs-sync-santhej-google-news-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/santhej~google-news-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-santhej-google-news-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "queries"
        ],
        "properties": {
          "queries": {
            "title": "Topics / keywords",
            "minItems": 1,
            "maxItems": 200,
            "type": "array",
            "description": "What to search on Google News, for example 'artificial intelligence' or 'Tesla'. One search per line, up to 200 per run. Duplicates are removed.",
            "items": {
              "type": "string"
            }
          },
          "resultsDepth": {
            "title": "Articles per query",
            "minimum": 10,
            "maximum": 100,
            "type": "integer",
            "description": "How many articles to return for each query (10-100). You are charged per article actually returned.",
            "default": 20
          },
          "locationCode": {
            "title": "Country",
            "enum": [
              "2840",
              "2826",
              "2124",
              "2036",
              "2356",
              "2276",
              "2250",
              "2724",
              "2380",
              "2528",
              "2056",
              "2756",
              "2040",
              "2372",
              "2752",
              "2578",
              "2208",
              "2246",
              "2616",
              "2620",
              "2203",
              "2300",
              "2792",
              "2076",
              "2484",
              "2032",
              "2152",
              "2170",
              "2392",
              "2410",
              "2702",
              "2344",
              "2158",
              "2360",
              "2458",
              "2608",
              "2764",
              "2704",
              "2784",
              "2682",
              "2376",
              "2818",
              "2710",
              "2566",
              "2404",
              "2554"
            ],
            "type": "string",
            "description": "The country edition of Google News to search. Results, sources and top stories are local to it.",
            "default": "2840"
          },
          "languageCode": {
            "title": "Language",
            "type": "string",
            "description": "Two-letter language code for the results, for example en, de, es, fr, ja. Use the country's own language to see its local press (Germany + de).",
            "default": "en"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Relevance is Google's default order. Date returns the newest articles first.",
            "default": "relevance"
          },
          "dateRange": {
            "title": "Date range",
            "enum": [
              "any",
              "past-hour",
              "past-day",
              "past-week",
              "past-month",
              "past-year"
            ],
            "type": "string",
            "description": "Only return articles published within this window.",
            "default": "any"
          },
          "dateFrom": {
            "title": "Published after",
            "type": "string",
            "description": "Start of a custom date range, as YYYY-MM-DD. When this or 'Published before' is set, it replaces 'Date range'."
          },
          "dateTo": {
            "title": "Published before",
            "type": "string",
            "description": "End of a custom date range, as YYYY-MM-DD."
          },
          "site": {
            "title": "Only this publisher",
            "type": "string",
            "description": "Keep only articles from one publisher's domain, for example bbc.com or reuters.com. The search is steered toward that publisher and anything from other sites is dropped, so expect fewer articles than the per-query limit. You are charged only for the articles kept."
          },
          "excludeWords": {
            "title": "Exclude words",
            "type": "string",
            "description": "Words that must not appear in the results, separated by commas or spaces."
          },
          "dedupe": {
            "title": "Remove duplicate articles",
            "type": "boolean",
            "description": "Google often lists a top story again further down. With this on, each article appears once per query.",
            "default": true
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}