{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Scraper: Keywords, Topics & Real Article URLs",
    "description": "Scrape Google News by keyword, topic or feed in 40+ editions. Get real publisher URLs (not Google redirects), related coverage, full article text on request, and only new articles for monitoring. More than 100 results per query.",
    "version": "0.1",
    "x-build-id": "DJPWQsgdDIQAxQxhB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ragequit~google-news-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ragequit-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/ragequit~google-news-scraper/runs": {
      "post": {
        "operationId": "runs-sync-ragequit-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/ragequit~google-news-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-ragequit-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 to search Google News for. Google search operators work: \"exact phrase\", OR, -exclude, site:reuters.com, intitle:word.",
            "items": {
              "type": "string"
            }
          },
          "topics": {
            "title": "Topics",
            "type": "array",
            "description": "Google News topic sections for the chosen edition.",
            "items": {
              "type": "string",
              "enum": [
                "TOP",
                "WORLD",
                "NATION",
                "BUSINESS",
                "TECHNOLOGY",
                "ENTERTAINMENT",
                "SPORTS",
                "SCIENCE",
                "HEALTH"
              ],
              "enumTitles": [
                "Top stories",
                "World",
                "National (the edition's country)",
                "Business",
                "Technology",
                "Entertainment",
                "Sports",
                "Science",
                "Health"
              ]
            },
            "default": []
          },
          "feedUrls": {
            "title": "Google News links",
            "type": "array",
            "description": "Any news.google.com search, topic or RSS link, e.g. a topic page you opened in the browser (news.google.com/topics/...). Converted to its feed automatically.",
            "items": {
              "type": "string"
            }
          },
          "edition": {
            "title": "Edition (country and language)",
            "enum": [
              "US:en",
              "GB:en",
              "CA:en",
              "AU:en",
              "IN:en",
              "IE:en",
              "NZ:en",
              "SG:en",
              "PH:en",
              "ZA:en",
              "NG:en",
              "PK:en",
              "DE:de",
              "AT:de",
              "CH:de",
              "FR:fr",
              "CA:fr",
              "ES:es",
              "MX:es-419",
              "AR:es-419",
              "IT:it",
              "NL:nl",
              "PL:pl",
              "PT:pt-150",
              "BR:pt-419",
              "SE:sv",
              "NO:no",
              "TR:tr",
              "RU:ru",
              "UA:uk",
              "IL:he",
              "SA:ar",
              "AE:ar",
              "JP:ja",
              "KR:ko",
              "CN:zh-Hans",
              "TW:zh-Hant",
              "HK:zh-Hant",
              "ID:id",
              "VN:vi",
              "TH:th"
            ],
            "type": "string",
            "description": "Which Google News edition to use for searches and topics.",
            "default": "US:en"
          },
          "timeRange": {
            "title": "Time range",
            "enum": [
              "any",
              "1h",
              "1d",
              "7d",
              "30d",
              "1y"
            ],
            "type": "string",
            "description": "Searches only: articles from this recent period. Ignored when you set exact dates below.",
            "default": "any"
          },
          "publishedAfter": {
            "title": "Published after",
            "type": "string",
            "description": "Searches only: articles from this date on. YYYY-MM-DD or relative like \"7 days\"."
          },
          "publishedBefore": {
            "title": "Published before",
            "type": "string",
            "description": "Searches only: articles up to this date. YYYY-MM-DD or relative like \"1 day\"."
          },
          "maxArticlesPerFeed": {
            "title": "Max articles per keyword or feed",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "A Google News feed shows up to 100 articles. For more per keyword, the Actor searches day by day (up to about 100 per day) over your dates, the time range, or the last 30 days.",
            "default": 100
          },
          "resolveUrls": {
            "title": "Resolve real article URLs",
            "type": "boolean",
            "description": "Decode Google's redirect links into the publisher's article URL (included in the price). Turn off for faster runs when Google links are enough.",
            "default": true
          },
          "includeArticleDetails": {
            "title": "Article details and full text",
            "type": "boolean",
            "description": "Open each article on the publisher's site and add its description, image, author and main text. Charged as an article with details; articles whose page cannot be read (paywalls, blocks) are charged as plain articles and get detailsError.",
            "default": false
          },
          "maxTextLength": {
            "title": "Max text length",
            "minimum": 0,
            "maximum": 200000,
            "type": "integer",
            "description": "Characters of article text to keep when details are on.",
            "default": 20000
          },
          "excludeSources": {
            "title": "Exclude sources",
            "type": "array",
            "description": "Publisher names or domains to skip, e.g. \"Yahoo Finance\" or \"yahoo.com\". Skipped articles are not charged.",
            "items": {
              "type": "string"
            }
          },
          "onlyNewArticles": {
            "title": "Only new articles (monitoring)",
            "type": "boolean",
            "description": "Return only articles not seen in earlier runs, per keyword, topic or feed. The first run returns results and remembers the whole feed; schedule the Actor to get just new articles. Seen articles are kept in a named key-value store in your account.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitoring store name",
            "type": "string",
            "description": "Name of the key-value store that remembers seen articles. Use a different name for each separate monitor.",
            "default": "google-news-monitor"
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many feeds to process at the same time.",
            "default": 5
          },
          "maxRetries": {
            "title": "Max retries per request",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "How many times to retry a failed Google request on a new IP.",
            "default": 6
          },
          "residentialFallback": {
            "title": "Switch to residential proxies when blocked",
            "type": "boolean",
            "description": "Start on cheap datacenter IPs and move to Apify residential proxies for the rest of the run if Google rate-limits them. Only applies when you use Apify datacenter proxies.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify datacenter proxies work for Google News; residential is used automatically as a fallback.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}