{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper: Full Text, 100+ Results, Monitoring",
    "description": "Scrape Google News by keyword or topic in 48 country and language editions. Get real publisher URLs, more than 100 results per query, optional full article text in clean Markdown, and a monitoring mode that returns only articles you haven't seen yet.",
    "version": "1.0",
    "x-build-id": "fkuiUUcfN0kXAP2Yf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kvali~google-news-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kvali-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/kvali~google-news-scraper/runs": {
      "post": {
        "operationId": "runs-sync-kvali-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/kvali~google-news-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-kvali-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": "What to search for, one query per line. Google News operators work: \"exact phrase\", OR, -exclude, site:reuters.com, intitle:word.",
            "items": {
              "type": "string"
            }
          },
          "topics": {
            "title": "Topics (headline sections)",
            "type": "array",
            "description": "Scrape Google News headline sections instead of (or as well as) searching. These return the current headlines, up to about 70 per topic.",
            "items": {
              "type": "string",
              "enum": [
                "TOP",
                "WORLD",
                "NATION",
                "BUSINESS",
                "TECHNOLOGY",
                "ENTERTAINMENT",
                "SPORTS",
                "SCIENCE",
                "HEALTH"
              ],
              "enumTitles": [
                "Top stories",
                "World",
                "Nation (local country news)",
                "Business",
                "Technology",
                "Entertainment",
                "Sports",
                "Science",
                "Health"
              ]
            }
          },
          "region": {
            "title": "Country and language",
            "enum": [
              "US:en",
              "GB:en",
              "CA:en",
              "AU:en",
              "IN:en",
              "IE:en",
              "NZ:en",
              "SG:en",
              "ZA:en",
              "NG:en",
              "PH:en",
              "DE:de",
              "AT:de",
              "CH:de",
              "FR:fr",
              "CA:fr",
              "BE:fr",
              "ES:es",
              "MX:es-419",
              "AR:es-419",
              "CO:es-419",
              "BR:pt-419",
              "PT:pt-150",
              "IT:it",
              "NL:nl",
              "PL:pl",
              "SE:sv",
              "NO:no",
              "CZ:cs",
              "RO:ro",
              "HU:hu",
              "GR:el",
              "TR:tr",
              "UA:uk",
              "RU:ru",
              "IL:he",
              "AE:ar",
              "SA:ar",
              "EG:ar",
              "IN:hi",
              "ID:id",
              "TH:th",
              "VN:vi",
              "JP:ja",
              "KR:ko",
              "CN:zh-Hans",
              "TW:zh-Hant",
              "HK:zh-Hant"
            ],
            "type": "string",
            "description": "Which Google News edition to use.",
            "default": "US:en"
          },
          "timeRange": {
            "title": "Time range",
            "enum": [
              "any",
              "1h",
              "1d",
              "7d",
              "30d",
              "1y",
              "custom"
            ],
            "type": "string",
            "description": "Only return articles published in this period. Choose \"Custom dates\" to set exact dates below.",
            "default": "any"
          },
          "dateFrom": {
            "title": "From date",
            "type": "string",
            "description": "Start date (inclusive) when the time range is \"Custom dates\"."
          },
          "dateTo": {
            "title": "To date",
            "type": "string",
            "description": "End date (inclusive) when the time range is \"Custom dates\". Leave empty for today."
          },
          "maxItemsPerQuery": {
            "title": "Maximum articles per query",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Google News shows at most 100 results per search. Above 100, the scraper automatically splits the time range into smaller windows to collect more (works with Past 7 days, Past 30 days, Past year and Custom dates).",
            "default": 100
          },
          "decodeUrls": {
            "title": "Resolve real publisher URLs",
            "type": "boolean",
            "description": "Replace Google's news.google.com redirect links with the real article URL (for example https://www.reuters.com/...). Recommended.",
            "default": true
          },
          "fetchFullText": {
            "title": "Get full article text",
            "type": "boolean",
            "description": "Open every article and extract its main text as clean Markdown and plain text, plus author, image and description. Ideal for AI, RAG and sentiment analysis. Charged as an extra event only when the text is extracted successfully; paywalled articles are not charged.",
            "default": false
          },
          "excludeSources": {
            "title": "Exclude sources",
            "type": "array",
            "description": "Skip articles from these publishers. Use a domain (example.com) or the exact source name shown in Google News.",
            "items": {
              "type": "string"
            }
          },
          "dedupeAcrossQueries": {
            "title": "Remove duplicates across queries",
            "type": "boolean",
            "description": "If the same article matches several queries, return it only once (for the first matching query).",
            "default": true
          },
          "onlyNew": {
            "title": "Only new articles (monitoring mode)",
            "type": "boolean",
            "description": "Remember what earlier runs returned and output only articles you haven't received before. Use with a schedule (for example, every hour) to monitor news and pay only for new articles.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Runs that share the same monitor name share their memory of already-seen articles. Use a different name for each separate monitor.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Usually not needed. Turn on if you run very large jobs and see blocked requests.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}