{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper: Real Article URLs (No Login)",
    "description": "Scrape Google News by keyword or topic: one row per article with title, outlet, publication time, publisher's article URL and News link. Use it for news and brand monitoring. The Only new articles option returns only articles added since your last run. No article text. Not affiliated with Google.",
    "version": "0.0",
    "x-build-id": "beUcfzryzdx6n07Sz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kizukidata~google-news-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kizukidata-google-news-feed",
        "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/kizukidata~google-news-feed/runs": {
      "post": {
        "operationId": "runs-sync-kizukidata-google-news-feed",
        "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/kizukidata~google-news-feed/run-sync": {
      "post": {
        "operationId": "run-sync-kizukidata-google-news-feed",
        "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": "Search queries, up to 10, one request each. Google News search syntax works: double quotes for exact phrases, OR between terms, a minus sign to exclude a word, site:example.com for one outlet. An article found by two queries is returned once. When Topics are set and this field is left at its default, only the topics are read.",
            "default": [
              "artificial intelligence"
            ],
            "items": {
              "type": "string"
            }
          },
          "topics": {
            "title": "Topics",
            "type": "array",
            "description": "Google News topic sections of the edition, one request each: TOP (top stories), WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SPORTS, SCIENCE, HEALTH. Topic rows also list other outlets' coverage of the same story (relatedCoverage). Period does not apply to topics; use Published after.",
            "items": {
              "type": "string",
              "enum": [
                "TOP",
                "WORLD",
                "NATION",
                "BUSINESS",
                "TECHNOLOGY",
                "ENTERTAINMENT",
                "SPORTS",
                "SCIENCE",
                "HEALTH"
              ],
              "enumTitles": [
                "Top stories",
                "World",
                "Nation (the edition's country)",
                "Business",
                "Technology",
                "Entertainment",
                "Sports",
                "Science",
                "Health"
              ]
            },
            "default": []
          },
          "timespan": {
            "title": "Period",
            "type": "string",
            "description": "How far back to search: 1 to 48 hours or 1 to 30 days, for example \"6h\", \"24h\", \"7d\", \"30d\". It is added to each query as Google News' when: operator, unless the query has its own when:.",
            "default": "24h"
          },
          "edition": {
            "title": "Edition",
            "enum": [
              "US:en",
              "GB:en",
              "CA:en",
              "AU:en",
              "IN:en",
              "JP:ja",
              "DE:de",
              "FR:fr",
              "ES:es",
              "IT:it",
              "BR:pt-419",
              "MX:es-419",
              "KR:ko",
              "TW:zh-Hant",
              "NL:nl"
            ],
            "type": "string",
            "description": "Google News edition (country and language) to search. It decides which outlets and which language Google News favours.",
            "default": "US:en"
          },
          "publishedAfter": {
            "title": "Published after",
            "type": "string",
            "description": "Keep only articles published at or after this time: an ISO 8601 date or date-time (UTC when no zone is given). Useful for scheduled runs. Articles left out are not charged. Empty keeps all.",
            "default": ""
          },
          "includeOutlets": {
            "title": "Only these outlets",
            "type": "array",
            "description": "Keep only articles from these outlets: a domain (matches its subdomains too, for example reuters.com) or the exact outlet name. Up to 50. Articles left out are not charged. Empty keeps all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeOutlets": {
            "title": "Exclude outlets",
            "type": "array",
            "description": "Leave out articles from these outlets: a domain (matches its subdomains too) or the exact outlet name. Up to 50. Articles left out are not charged.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "splitByDay": {
            "title": "Split by day (more than 100 per query)",
            "type": "boolean",
            "description": "Search each query day by day (one request per day, up to 7 days per run in total across queries, newest day first), to get past the feed's 100 articles per request. Days = the Period in days, at most 7 divided by the number of queries; up to 7 queries. Off by default. If Google News answers 'too many requests', the remaining days are skipped and listed in OUTPUT uncheckedInputs.",
            "default": false
          },
          "onlyNewItems": {
            "title": "Only new articles",
            "type": "boolean",
            "description": "Return only articles that no earlier run with the same queries and edition returned (state kept for 90 days in a named key-value store in your account). The first run returns everything up to maxItems; articles left out by maxItems or the spending limit come back as new next time. Do not run the same input twice at the same time.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of articles to return across all queries, from 1 to 1000. Each query contributes at most an equal share, in the order the feed lists them (by relevance, not strictly by date), and the feed lists at most 100 articles per query. Each returned article is one charged result.",
            "default": 20
          },
          "resolveArticleUrls": {
            "title": "Resolve the outlet article URL",
            "type": "boolean",
            "description": "Look up the outlet's own article URL for every returned row (the `articleUrl` field) instead of only the Google News link. One extra request per returned row, so a run takes a little longer; a link that cannot be resolved still returns its row with the reason in `articleUrlReason`. Off returns every row with `articleUrl` empty and the reason saying so.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. The default uses no proxy. Residential proxies are not available.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}