{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper + Full Article Text",
    "description": "Scrape Google News search results and topic headlines in 56 countries. Get real publisher URLs (no news.google.com redirects), publish dates, sources and optional full article text for AI/RAG, sentiment and media monitoring.",
    "version": "1.0",
    "x-build-id": "tt75mkYiD9Jfch4yo"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kirozhang~google-news-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kirozhang-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/kirozhang~google-news-scraper/runs": {
      "post": {
        "operationId": "runs-sync-kirozhang-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/kirozhang~google-news-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-kirozhang-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": {
          "queries": {
            "title": "Search queries",
            "type": "array",
            "description": "Keywords to search in Google News. Google search operators work, e.g. <code>\"exact phrase\"</code>, <code>site:reuters.com</code>, <code>-exclude</code>, <code>OR</code>. Leave empty to scrape topic feeds only.",
            "items": {
              "type": "string"
            }
          },
          "topics": {
            "title": "Topic feeds (headlines)",
            "type": "array",
            "description": "Scrape Google News topic headline feeds. Works together with search queries.",
            "items": {
              "type": "string",
              "enum": [
                "TOP",
                "WORLD",
                "NATION",
                "BUSINESS",
                "TECHNOLOGY",
                "ENTERTAINMENT",
                "SPORTS",
                "SCIENCE",
                "HEALTH"
              ],
              "enumTitles": [
                "Top stories",
                "World",
                "Nation (country)",
                "Business",
                "Technology",
                "Entertainment",
                "Sports",
                "Science",
                "Health"
              ]
            },
            "default": []
          },
          "editions": {
            "title": "Country & language editions",
            "type": "array",
            "description": "Google News editions to scrape. Each query/topic runs once per edition.",
            "items": {
              "type": "string",
              "enum": [
                "US:en",
                "GB:en",
                "CA:en",
                "CA:fr",
                "AU:en",
                "NZ:en",
                "IE:en",
                "IN:en",
                "IN:hi",
                "SG:en",
                "PH:en",
                "MY:en",
                "ZA:en",
                "NG:en",
                "KE:en",
                "PK:en",
                "DE:de",
                "AT:de",
                "CH:de",
                "FR:fr",
                "BE:fr",
                "BE:nl",
                "NL:nl",
                "ES:es",
                "MX:es-419",
                "AR:es-419",
                "CO:es-419",
                "CL:es-419",
                "PE:es-419",
                "US:es-419",
                "BR:pt-419",
                "PT:pt-150",
                "IT:it",
                "PL:pl",
                "CZ:cs",
                "SE:sv",
                "NO:no",
                "DK:da",
                "FI:fi",
                "GR:el",
                "HU:hu",
                "RO:ro",
                "UA:uk",
                "TR:tr",
                "IL:he",
                "AE:ar",
                "SA:ar",
                "EG:ar",
                "JP:ja",
                "KR:ko",
                "CN:zh-Hans",
                "TW:zh-Hant",
                "HK:zh-Hant",
                "ID:id",
                "VN:vi",
                "TH:th"
              ],
              "enumTitles": [
                "United States (English)",
                "United Kingdom (English)",
                "Canada (English)",
                "Canada (French)",
                "Australia (English)",
                "New Zealand (English)",
                "Ireland (English)",
                "India (English)",
                "India (Hindi)",
                "Singapore (English)",
                "Philippines (English)",
                "Malaysia (English)",
                "South Africa (English)",
                "Nigeria (English)",
                "Kenya (English)",
                "Pakistan (English)",
                "Germany (German)",
                "Austria (German)",
                "Switzerland (German)",
                "France (French)",
                "Belgium (French)",
                "Belgium (Dutch)",
                "Netherlands (Dutch)",
                "Spain (Spanish)",
                "Mexico (Spanish)",
                "Argentina (Spanish)",
                "Colombia (Spanish)",
                "Chile (Spanish)",
                "Peru (Spanish)",
                "United States (Spanish)",
                "Brazil (Portuguese)",
                "Portugal (Portuguese)",
                "Italy (Italian)",
                "Poland (Polish)",
                "Czechia (Czech)",
                "Sweden (Swedish)",
                "Norway (Norwegian)",
                "Denmark (Danish)",
                "Finland (Finnish)",
                "Greece (Greek)",
                "Hungary (Hungarian)",
                "Romania (Romanian)",
                "Ukraine (Ukrainian)",
                "Turkey (Turkish)",
                "Israel (Hebrew)",
                "UAE (Arabic)",
                "Saudi Arabia (Arabic)",
                "Egypt (Arabic)",
                "Japan (Japanese)",
                "South Korea (Korean)",
                "China (Simplified Chinese)",
                "Taiwan (Traditional Chinese)",
                "Hong Kong (Traditional Chinese)",
                "Indonesia (Indonesian)",
                "Vietnam (Vietnamese)",
                "Thailand (Thai)"
              ]
            },
            "default": [
              "US:en"
            ]
          },
          "timeRange": {
            "title": "Time range",
            "enum": [
              "any",
              "1h",
              "1d",
              "7d",
              "30d",
              "1y"
            ],
            "type": "string",
            "description": "Only return articles published within this period (applies to search queries). Ignored when Date from / Date to are set.",
            "default": "any"
          },
          "dateFrom": {
            "title": "Date from",
            "type": "string",
            "description": "Only articles published on or after this date (YYYY-MM-DD). Optional."
          },
          "dateTo": {
            "title": "Date to",
            "type": "string",
            "description": "Only articles published on or before this date (YYYY-MM-DD). Optional."
          },
          "maxArticlesPerQuery": {
            "title": "Max articles per query / topic",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Google News returns up to 100 articles per request. For more, set a time range of 7+ days or a date range — the scraper then splits the search into daily windows (up to 5,000).",
            "default": 100
          },
          "decodeUrls": {
            "title": "Resolve real article URLs",
            "type": "boolean",
            "description": "Convert news.google.com redirect links into the original publisher URLs.",
            "default": true
          },
          "extractFullText": {
            "title": "Extract full article text",
            "type": "boolean",
            "description": "Visit each publisher page and extract the clean article text, author, image and excerpt (useful for AI/RAG, summarization and sentiment analysis). Charged as an extra event only when text is extracted successfully.",
            "default": false
          },
          "includeRelated": {
            "title": "Include related coverage",
            "type": "boolean",
            "description": "Include the list of related articles from other outlets that Google groups with a story (mostly in topic feeds).",
            "default": true
          },
          "deduplicate": {
            "title": "Remove duplicates",
            "type": "boolean",
            "description": "Skip articles already returned by another query or time window in the same run.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Usually not needed. Enable Apify Proxy if Google starts rate-limiting very large runs.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}