{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper",
    "description": "Scrapes Google News articles by search query, topic, or date range. Returns each article as a flat row with title, URL, source, and publication time. Supports 80+ locales and optional article details.",
    "version": "1.0",
    "x-build-id": "77maDgbCsGmZvxJj9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~google-news-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-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/parseforge~google-news-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-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/parseforge~google-news-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-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",
        "properties": {
          "searchQuery": {
            "title": "Search term for news articles",
            "type": "string",
            "description": "Keyword or phrase to search Google News. Supports advanced operators like \"site:bbc.com\", \"intitle:AI\", exact match with quotes. Cannot be used together with Topics."
          },
          "maxItems": {
            "title": "Maximum articles",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of news articles to collect per run."
          },
          "language": {
            "title": "Language and Region",
            "enum": [
              "en:US",
              "en:GB",
              "en:AU",
              "en:CA",
              "en:IN",
              "en:IE",
              "en:NZ",
              "en:SG",
              "en:ZA",
              "en:PH",
              "en:MY",
              "en:NG",
              "en:GH",
              "en:KE",
              "en:PK",
              "es:ES",
              "es:MX",
              "es:AR",
              "es:CL",
              "es:CO",
              "es:PE",
              "es:VE",
              "es:CU",
              "es:US",
              "fr:FR",
              "fr:CA",
              "fr:BE",
              "fr:CH",
              "fr:SN",
              "fr:MA",
              "de:DE",
              "de:AT",
              "de:CH",
              "pt:BR",
              "pt:PT",
              "it:IT",
              "nl:NL",
              "nl:BE",
              "ja:JP",
              "ko:KR",
              "zh-Hans:CN",
              "zh-Hant:TW",
              "zh-Hant:HK",
              "ru:RU",
              "ru:UA",
              "ar:SA",
              "ar:EG",
              "ar:AE",
              "ar:LB",
              "hi:IN",
              "ta:IN",
              "te:IN",
              "ml:IN",
              "bn:IN",
              "mr:IN",
              "kn:IN",
              "gu:IN",
              "th:TH",
              "vi:VN",
              "id:ID",
              "ms:MY",
              "tl:PH",
              "tr:TR",
              "pl:PL",
              "uk:UA",
              "ro:RO",
              "el:GR",
              "hu:HU",
              "cs:CZ",
              "sv:SE",
              "no:NO",
              "da:DK",
              "fi:FI",
              "sk:SK",
              "bg:BG",
              "sr:RS",
              "hr:HR",
              "lt:LT",
              "lv:LV",
              "et:EE",
              "sl:SI",
              "he:IL"
            ],
            "type": "string",
            "description": "Select the language and region for Google News results.",
            "default": "en:US"
          },
          "dateFrom": {
            "title": "Date From",
            "type": "string",
            "description": "Start date for filtering articles (YYYY-MM-DD). Only applies to search query mode."
          },
          "dateTo": {
            "title": "Date To",
            "type": "string",
            "description": "End date for filtering articles (YYYY-MM-DD). Only applies to search query mode."
          },
          "openEndedDateRange": {
            "title": "Open-Ended Date Range",
            "type": "string",
            "description": "Relative date range for recent articles. Cannot be used together with Date From/To. Examples: 1h (last hour), 24h (last 24 hours), 7d (last 7 days), 1y (last year)."
          },
          "topics": {
            "title": "Standard Topics",
            "type": "array",
            "description": "Select one or more Google News topic sections. Each topic is fetched separately and results are combined. Can be used together with Search Query.",
            "items": {
              "type": "string",
              "enum": [
                "WORLD",
                "NATION",
                "BUSINESS",
                "TECHNOLOGY",
                "ENTERTAINMENT",
                "SPORTS",
                "SCIENCE",
                "HEALTH"
              ]
            }
          },
          "topicsHashed": {
            "title": "Hashed Topic IDs",
            "type": "array",
            "description": "Custom Google News topic IDs. Find these in Google News URLs when browsing a specific topic. Supports topic sections by using the format: TOPIC_ID/sections/SECTION_ID",
            "items": {
              "type": "string"
            }
          },
          "fetchArticleDetails": {
            "title": "Fetch Article Details",
            "type": "boolean",
            "description": "When enabled, each article URL is decoded to the real destination and additional data is collected: preview image, description, author, category, modification date, and keywords. Slower but provides much richer data. From 2026-10-03 this is billed as the article-details event. Charged only for a row that receives it.",
            "default": false
          },
          "includeFullText": {
            "title": "📝 Include full article text",
            "type": "boolean",
            "description": "Adds the full body text of each article (fullText) and its word count (fullTextWordCount), read from the publisher page. One extra request per article, shared with Fetch Article Details when both are on. Charged only for a row that receives it.",
            "default": false
          },
          "includeRelatedCoverage": {
            "title": "🗞️ Include related coverage",
            "type": "boolean",
            "description": "Adds relatedArticles: the other outlets Google News groups under the same story (title, link and source for each). Published on topic feeds, search feeds rarely carry it. No extra request. Charged only for a row that receives it.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}