{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper – Enriched, Fast & Cheap",
    "description": "Extract title, URL, source, publish date, and thumbnail image etc. Perfect for news monitoring, research, and media tracking workflows.",
    "version": "1.0",
    "x-build-id": "l7x0jKqkLFwKb0rXQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/epicscrapers~google-news-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-epicscrapers-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/epicscrapers~google-news-scraper/runs": {
      "post": {
        "operationId": "runs-sync-epicscrapers-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/epicscrapers~google-news-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-epicscrapers-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": [
          "language"
        ],
        "properties": {
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Search text, as you would type it into Google News. Operators work: `site:reuters.com`, `intitle:`, `inurl:`, exact phrases in double quotes, `-` to exclude, `AND`, `OR`. Example: `\"electric vehicles\" site:reuters.com -tesla`. The date range below is added to the search automatically. Leave empty to scrape only topics.",
            "default": "AI breakthrough"
          },
          "topics": {
            "title": "Topics",
            "type": "array",
            "description": "Google News topic feeds in the selected language and country. `NATION` is the news of the selected country. Topics are scraped separately from the search query, not combined with it, and always return what Google News currently lists (the date range does not apply).",
            "items": {
              "type": "string",
              "enum": [
                "WORLD",
                "NATION",
                "BUSINESS",
                "TECHNOLOGY",
                "ENTERTAINMENT",
                "SPORTS",
                "SCIENCE",
                "HEALTH"
              ],
              "enumTitles": [
                "WORLD 🌎",
                "NATION 👥",
                "BUSINESS 📈",
                "TECHNOLOGY 💻",
                "ENTERTAINMENT 🎸",
                "SPORTS ⚽",
                "SCIENCE 🧪",
                "HEALTH 🩺"
              ]
            },
            "default": []
          },
          "topicsHashed": {
            "title": "Topics (hashed)",
            "type": "array",
            "description": "Topic or section feeds that are not in the list above. Paste the part of a Google News URL after `news.google.com/topics/`, or the whole URL. Sections work too: `TOPIC_ID/sections/SECTION_ID`. Example (Technology → Artificial intelligence): `CAAqJggKIiBDQkFTRWdvSUwyMHZNRGRqTVhZU0FtVnVHZ0pWVXlnQVAB/sections/CAQiQ0NCQVNMQW9JTDIwdk1EZGpNWFlTQW1WdUdnSlZVeUlOQ0FRYUNRb0hMMjB2TUcxcmVpb0pFZ2N2YlM4d2JXdDZLQUEqKggAKiYICiIgQ0JBU0Vnb0lMMjB2TURkak1YWVNBbVZ1R2dKVlV5Z0FQAVAB`.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "language": {
            "title": "Language and region",
            "enum": [
              "US:en",
              "SK:sk",
              "AU:en",
              "BW:en",
              "CA:en",
              "ET:en",
              "GH:en",
              "IN:en",
              "ID:en",
              "IE:en",
              "IL:en",
              "KE:en",
              "LV:en",
              "MY:en",
              "NA:en",
              "NZ:en",
              "NG:en",
              "PK:en",
              "PH:en",
              "SG:en",
              "ZA:en",
              "TZ:en",
              "UG:en",
              "GB:en",
              "ZW:en",
              "ID:id",
              "CZ:cs",
              "DE:de",
              "AT:de",
              "CH:de",
              "AR:es-419",
              "CL:es-419",
              "CO:es-419",
              "CU:es-419",
              "ES:es",
              "US:es-419",
              "MX:es-419",
              "PE:es-419",
              "VE:es-419",
              "BE:fr",
              "CA:fr",
              "FR:fr",
              "MA:fr",
              "SN:fr",
              "CH:fr",
              "IT:it",
              "LV:lv",
              "LT:lt",
              "HU:hu",
              "BE:nl",
              "NL:nl",
              "NO:no",
              "PL:pl",
              "BR:pt-419",
              "PT:pt-150",
              "RO:ro",
              "SI:sl",
              "SE:sv",
              "VN:vi",
              "TR:tr",
              "GR:el",
              "BG:bg",
              "RU:ru",
              "UA:ru",
              "RS:sr",
              "UA:uk",
              "IL:he",
              "AE:ar",
              "SA:ar",
              "LB:ar",
              "EG:ar",
              "IN:mr",
              "IN:hi",
              "BD:bn",
              "IN:bn",
              "IN:ta",
              "IN:te",
              "IN:ml",
              "TH:th",
              "CN:zh-Hans",
              "TW:zh-Hant",
              "HK:zh-Hant",
              "JP:ja",
              "KR:ko"
            ],
            "type": "string",
            "description": "Select your language and region pair.",
            "default": "US:en"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of articles to save, newest first. Google News returns at most about 100 articles per search. Above 100, the Actor searches each day of the date range separately, newest day first, and stops once it has enough. Leave empty to save everything one search returns (up to about 100 plus topic feeds)."
          },
          "fetchArticleDetails": {
            "title": "Fetch article details",
            "type": "boolean",
            "description": "Replace Google News redirect links with the publisher's article URL and add the article's preview image (`og:image`). Links are decoded through Google's own decoder, about 10 articles at a time, with no browser. Adds roughly 1 second per 10 articles.",
            "default": false
          },
          "cacheDecodedLinks": {
            "title": "Remember decoded links between runs",
            "type": "boolean",
            "description": "Save decoded publisher links in a key-value store named `google-news-scraper-link-cache` in your own Apify account, so later runs (for example scheduled monitoring) skip articles they already decoded. Only used with `Fetch article details`. The store keeps the 20,000 most recently used links; delete it in Storage → Key-value stores to reset.",
            "default": true
          },
          "dateFrom": {
            "title": "Date from (YYYY-MM-DD)",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "First day to search (inclusive), as YYYY-MM-DD. Overrides `Open-ended date range`. If only `Date to` is set, the range starts 30 days before it."
          },
          "dateTo": {
            "title": "Date to (YYYY-MM-DD)",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Last day to search (inclusive), as YYYY-MM-DD. Overrides `Open-ended date range`. If only `Date from` is set, the range ends today."
          },
          "openEndedDateRange": {
            "title": "Open-ended date range",
            "pattern": "^$|^\\d+[hdy]$",
            "type": "string",
            "description": "Relative date range up to now: `1h` or `12h` for the last hours (exact, uses Google's `when:` operator), `7d` for the last 7 days, `1y` for the last year. Used when `Date from` and `Date to` are empty. Applies to the search query, not to topics.",
            "default": "60d"
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Use either automatic Apify proxies or your own.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}