{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper - Search, Topics, Real URLs, Trend Surge",
    "description": "Scrape Google News without login: keyword search with operators, top stories and topics for 60+ countries, original publisher URLs, and a trend surge detector that ranks terms by how fast their coverage is growing. Google News API alternative. US$ 2.50 per 1,000 articles, errors free.",
    "version": "0.1",
    "x-build-id": "DWcNu7dE1Zw2mq1HG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~google-news-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-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/scrapewise~google-news-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-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/scrapewise~google-news-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords as you would type them on Google News. Operators work: \"exact phrase\", OR, -exclude, site:reuters.com, intitle:, inurl:.",
            "items": {
              "type": "string"
            }
          },
          "timeRange": {
            "title": "Published within",
            "enum": [
              "any",
              "1h",
              "12h",
              "1d",
              "7d",
              "30d",
              "1y"
            ],
            "type": "string",
            "description": "Applies to keyword searches (Google News when: operator).",
            "default": "any"
          },
          "dateFrom": {
            "title": "From date",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Optional, like 2026-09-01. Keyword searches only. Overrides 'Published within'."
          },
          "dateTo": {
            "title": "To date (exclusive)",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Optional, like 2026-09-30. Keyword searches only."
          },
          "topics": {
            "title": "Headline topics",
            "type": "array",
            "description": "The headlines Google News shows for each topic in each country, with the other outlets covering the same story.",
            "items": {
              "type": "string",
              "enum": [
                "TOP",
                "WORLD",
                "NATION",
                "BUSINESS",
                "TECHNOLOGY",
                "ENTERTAINMENT",
                "SCIENCE",
                "SPORTS",
                "HEALTH"
              ],
              "enumTitles": [
                "Top stories",
                "World",
                "Nation (the country's own news)",
                "Business",
                "Technology",
                "Entertainment",
                "Science",
                "Sports",
                "Health"
              ]
            }
          },
          "articleUrls": {
            "title": "Google News links",
            "type": "array",
            "description": "news.google.com links: an article (returns the publisher URL, title, description and image), a search page, a topic page, or any custom topic or section URL copied from news.google.com. A link Google has no feed for returns a free NOT_FOUND row.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two-letter country codes (US, GB, IN, DE, FR, JP, BR...). Every search, topic and trend term runs once per country.",
            "items": {
              "type": "string"
            },
            "default": [
              "US"
            ]
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Optional. Leave empty for the country's main language, or set a code like en, es, fr, de, ja, zh, ar."
          },
          "trendTerms": {
            "title": "Terms to check for a surge",
            "type": "array",
            "description": "For each term: how many articles in the recent window (default the last 24 hours) against the daily average of the previous days (default 7). One row per term, biggest jump first.",
            "items": {
              "type": "string"
            }
          },
          "trendAutoTerms": {
            "title": "Also find terms automatically",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "0 = off. Otherwise takes the most repeated names in the headline titles of the topics below and checks each for a surge.",
            "default": 0
          },
          "trendAutoTopics": {
            "title": "Topics for automatic terms",
            "type": "array",
            "description": "Where the automatic terms come from.",
            "items": {
              "type": "string",
              "enum": [
                "TOP",
                "WORLD",
                "NATION",
                "BUSINESS",
                "TECHNOLOGY",
                "ENTERTAINMENT",
                "SCIENCE",
                "SPORTS",
                "HEALTH"
              ],
              "enumTitles": [
                "Top stories",
                "World",
                "Nation",
                "Business",
                "Technology",
                "Entertainment",
                "Science",
                "Sports",
                "Health"
              ]
            },
            "default": [
              "TOP"
            ]
          },
          "trendRecentHours": {
            "title": "Recent window (hours)",
            "minimum": 1,
            "maximum": 72,
            "type": "integer",
            "description": "The window whose article count is compared with the baseline.",
            "default": 24
          },
          "trendBaselineDays": {
            "title": "Baseline days",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many full days before the recent window make the daily average.",
            "default": 7
          },
          "trendArticlesPerTerm": {
            "title": "Latest articles per term",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Newest articles of the recent window included inside each trend row (not charged separately).",
            "default": 5
          },
          "maxItems": {
            "title": "Max articles per search, topic or link",
            "minimum": 1,
            "type": "integer",
            "description": "Google News feeds stop at 100 articles. Above 100, keyword searches are split day by day to go further back.",
            "default": 50
          },
          "onlyNew": {
            "title": "Only new articles (for schedules)",
            "type": "boolean",
            "description": "Remembers the articles already delivered for each search, topic or feed link in each country (in a named Key-Value Store in your account, 'google-news-scraper-only-new') and returns only articles not delivered in previous runs. Skipped articles are not charged and do not count toward 'Max articles'. The first run delivers up to the limit and marks the rest of today's feed as seen; schedule the same input daily and each run is a news alert with only what is new. Does not apply to trend rows or single article links. Delete the store to start over.",
            "default": false
          },
          "resolveOriginalUrl": {
            "title": "Resolve the original publisher URL",
            "type": "boolean",
            "description": "Turns the news.google.com redirect into the real article URL. Off = faster, only the Google link.",
            "default": true
          },
          "includeArticleDetails": {
            "title": "Add description, image and author",
            "type": "boolean",
            "description": "Google News feeds have no summary or image. This opens each publisher page to read them. Slower, same price. Some sites block it; those rows keep the other fields.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy is recommended.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}