{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper - News API, Articles & RSS",
    "description": "Scrape Google News with no API key. Search by keyword, topic or headlines and get article title, publisher, date, snippet, image, author and full text in any country and language. Resolves real publisher URLs. For news, media and brand monitoring. Export JSON, CSV, Excel.",
    "version": "0.1",
    "x-build-id": "ZlsS9sroLsPHzPTss"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~google-news-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-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/scrapers_lat~google-news-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-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/scrapers_lat~google-news-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-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": {
          "maxArticles": {
            "title": "Max Articles",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of articles to collect. Optional."
          },
          "withDetails": {
            "title": "Resolve Real Article URL",
            "type": "boolean",
            "description": "When enabled, the scraper resolves the Google News redirect link into the publisher's real article URL for each article and emits a details record. When disabled, only the Google News link is kept.",
            "default": true
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "topic",
              "headlines"
            ],
            "type": "string",
            "description": "What to scrape: a keyword search, a news topic section, or the top headlines.",
            "default": "search"
          },
          "query": {
            "title": "Search Query",
            "type": "string",
            "description": "Search terms used when mode is Search. Supports Google News operators, for example: artificial intelligence when:7d. You can also use intitle:, site:, OR and -exclude. Use the date fields below instead of typing operators if you prefer."
          },
          "keywords": {
            "title": "Keywords (alternative to Search Query)",
            "type": "array",
            "description": "Optional list of keywords, combined with OR, used when mode is Search. Use this instead of Search Query to run one search across several terms.",
            "items": {
              "type": "string"
            }
          },
          "when": {
            "title": "Time window",
            "type": "string",
            "description": "Limit results to a recent window: 1h, 1d, 7d or 1y (leave blank or use all for no limit). Maps to the Google News when: operator.",
            "default": ""
          },
          "dateFrom": {
            "title": "Published after (YYYY-MM-DD)",
            "type": "string",
            "description": "Only return articles published on or after this date, for example 2026-01-31. Maps to the after: operator.",
            "default": ""
          },
          "dateTo": {
            "title": "Published before (YYYY-MM-DD)",
            "type": "string",
            "description": "Only return articles published before this date, for example 2026-02-28. Maps to the before: operator.",
            "default": ""
          },
          "topic": {
            "title": "Topic",
            "enum": [
              "WORLD",
              "NATION",
              "BUSINESS",
              "TECHNOLOGY",
              "ENTERTAINMENT",
              "SPORTS",
              "SCIENCE",
              "HEALTH"
            ],
            "type": "string",
            "description": "Topic section to read when mode is Topic.",
            "default": "TECHNOLOGY"
          },
          "topicHash": {
            "title": "Custom topic id (advanced)",
            "type": "string",
            "description": "Optional Google News topic id (the long token in a /topics/ URL, for example CAAqJggK..). When set with mode Topic, reads that exact section feed instead of a named topic.",
            "default": ""
          },
          "language": {
            "title": "Language (hl)",
            "type": "string",
            "description": "Interface and content language code, for example en-US or es-419. Maps to the Google News hl parameter.",
            "default": "en-US"
          },
          "country": {
            "title": "Country (gl)",
            "type": "string",
            "description": "Country code for the Google News edition, for example US, MX, GB, ES, BR. Maps to the gl parameter.",
            "default": "US"
          },
          "withSummary": {
            "title": "AI summary (add-on)",
            "type": "boolean",
            "description": "Opt-in paid add-on. Generate a 1-2 sentence neutral AI summary of each article. Requires a paid Apify plan.",
            "default": false
          },
          "withSentiment": {
            "title": "AI sentiment / tone (add-on)",
            "type": "boolean",
            "description": "Opt-in paid add-on. Classify each article's tone (positive/negative/neutral) with a confidence score using AI. Requires a paid Apify plan.",
            "default": false
          },
          "withTopics": {
            "title": "AI topics & category (add-on)",
            "type": "boolean",
            "description": "Opt-in paid add-on. Extract topic/keyword tags and a broad news category for each article using AI. Requires a paid Apify plan.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}