{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper – News Monitoring & Article Data Extractor",
    "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": "wN4eWxbgtfL73dy9g"
  },
  "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": "Enter search query as you would write it to Google News search bar. You can also use advanced search operators in your queries, such as 'intitle', 'inurl', 'site', exclude operator '-', exact match with double-quotes, 'AND', 'OR' and more. Example queries with advanced operators: 'intitle:samsung AND inurl:forbes', '\"samsung galaxy s25\" -ultra'. You may already know some of the operators from Google search or Apify's Google Search Scraper. For more information, see Google Guide on Search Operators.",
            "default": "AI breakthrough"
          },
          "topics": {
            "title": "Topics",
            "type": "array",
            "description": "Select topics you want to search for using 'https://news.google.com/topics/' search. Note that your search query will not be combined with the selected topics but will be used as a standalone search. If you want to search for news only in the selected topics, leave the 'Search query' field empty.",
            "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": "Specify topics you want to search for using hashed topic URLs. This field is useful when you want to search for topics that are not available in the 'Topics' field. You can find hashed topic URLs in the URL of the topic page on 'https://news.google.com/topics/{TOPIC_HASH}'. The Actor also supports hashed sections URLs in the format 'https://news.google.com/topics/{TOPIC_HASH}/sections/{SECTION_HASH}'. For example, if you'd like to scrape the news from 'Technology' topic, section 'Artificial intelligence', you can use the following value (extracted from the section's URL): 'CAAqJggKIiBDQkFTRWdvSUwyMHZNRGRqTVhZU0FtVnVHZ0pWVXlnQVAB/sections/CAQiQ0NCQVNMQW9JTDIwdk1EZGpNWFlTQW1WdUdnSlZVeUlOQ0FRYUNRb0hMMjB2TUcxcmVpb0pFZ2N2YlM4d2JXdDZLQUEqKggAKiYICiIgQ0JBU0Vnb0lMMjB2TURkak1YWVNBbVZ1R2dKVlV5Z0FQAVAB'. Note that your search query will not be combined with the topics but will be used as a standalone search. If you want to search for news only in the specified topics, leave the 'Search query' field empty.",
            "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": "Set the maximum number of items you want to scrape. If you leave this field unset, the actor will extract all news available for your search criteria. If you set this field to value less than or equal to 100, date filter won't be used with your search query. Otherwise, the scraper will search news per individual days."
          },
          "fetchArticleDetails": {
            "title": "Fetch article details",
            "type": "boolean",
            "description": "Check this option if you want to decode RSS links into actual article links and also fetch images from the article's page metadata. Please note that this option will increase the runtime of the actor because additional requests to article pages will be made. If you don't need decoded links and article images, you can leave this option unchecked and your run will be significantly faster and cheaper.",
            "default": false
          },
          "dateFrom": {
            "title": "Date from (YYYY-MM-DD)",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Set the starting date. Only the news published on this or newer date will be scraped. If `Open-ended date range` field is set, `Date from` and `Date to` fields will be ignored."
          },
          "dateTo": {
            "title": "Date to (YYYY-MM-DD)",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Set the finish date. Only the news published on this date or before will be scraped. If `Open-ended date range` field is set, `Date from` and `Date to` fields will be ignored."
          },
          "openEndedDateRange": {
            "title": "Open-ended date range",
            "pattern": "^$|^\\d+[hdy]$",
            "type": "string",
            "description": "Set the open-ended date range such as '1h' to scrape news published in the last hour, '2d' for the last two days, or '1y' for the last year. You can use any combination of numbers and letters 'h', 'd', and 'y' to specify the time range. If you set this field, the `Date from` and `Date to` fields will be ignored.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}