{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News - Articles, Headlines & Keyword Search",
    "description": "Search Google News articles by keyword, country and language, including Chinese. One row per article: headline, publisher, publication date and Google News link. Filter dates and publisher domains before billing; exclude known IDs. RSS metadata only, not full text or direct publisher article URLs.",
    "version": "1.0",
    "x-build-id": "EjWz5riufVYRXrnzz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kestrel~google-news/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kestrel-google-news",
        "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/kestrel~google-news/runs": {
      "post": {
        "operationId": "runs-sync-kestrel-google-news",
        "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/kestrel~google-news/run-sync": {
      "post": {
        "operationId": "run-sync-kestrel-google-news",
        "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",
        "required": [
          "queries"
        ],
        "properties": {
          "queries": {
            "title": "Queries",
            "type": "array",
            "description": "Required: 1-10 keyword searches, e.g. [\"artificial intelligence\"]. Google operators such as quotes, OR and site: work in queries. Returns recent RSS metadata, not full article text or direct publisher article URLs. At most about 100 source entries per query; no exhaustive historical archive.",
            "items": {
              "type": "string"
            }
          },
          "maxArticlesPerQuery": {
            "title": "Max articles per query",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "20 by default; 1-100. Maximum matching articles per query AFTER dates, publishers and exclusions. Newest publication first within the returned feed; RSS may contain fewer matches and has no pagination. 10 articles cost $0.01.",
            "default": 20
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "100 by default. Maximum delivered article rows across all inputs, after filters and deduplication. Stops early even if sources remain. Free status rows do not count. Cost is at most maxResults × $0.001; use Apify run option maxTotalChargeUsd for a dollar cap.",
            "default": 100
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "\"US\" default. Two-letter Google News edition, not the location of every story. 中文示例: \"CN\" + language=\"zh-CN\" (简体); \"TW\" + \"zh-TW\" (繁體). Keep US if no region is requested. country and language select a feed, not a translation. No extra charge.",
            "default": "US"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt",
              "nl",
              "pl",
              "tr",
              "ar",
              "hi",
              "ja",
              "ko",
              "id",
              "vi",
              "th",
              "zh-CN",
              "zh-TW"
            ],
            "type": "string",
            "description": "\"en\" default. Feed language, not translation. For 简体中文 use \"zh-CN\" with country=\"CN\"; for 繁體中文 use \"zh-TW\" with country=\"TW\". \"es\" pairs with \"ES\". Keep en if unspecified. Some edition pairs may return few or no articles. No extra charge.",
            "default": "en"
          },
          "sinceDate": {
            "title": "Since date",
            "type": "string",
            "description": "Empty = no lower date bound. \"2026-10-01\" includes publication dates on or after midnight UTC. Free filter before caps; entries without a publication date are excluded. Narrowing the query does not guarantee an exhaustive historical archive.",
            "default": ""
          },
          "untilDate": {
            "title": "Until date",
            "type": "string",
            "description": "Empty = no upper bound. \"2026-10-16\" excludes publication dates on/after midnight UTC on October 16; this bound is exclusive. Must be later than sinceDate. Free filter before caps. For all of October 15, use sinceDate=\"2026-10-15\", untilDate=\"2026-10-16\".",
            "default": ""
          },
          "publisherDomains": {
            "title": "Publisher domains",
            "type": "array",
            "description": "[\"reuters.com\", \"bbc.com\"] keeps either publisher domain or its subdomains. Empty = any publisher. Bare domains only, no URLs. Narrows the Google query and filters source publisher metadata before billing. publisher_url is the publisher homepage, not the original article URL.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeArticleIds": {
            "title": "Exclude article ids",
            "type": "array",
            "description": "article_id or google_news_url values from earlier output; up to 10000 strings. Empty = no exclusions. Duplicate IDs across queries are billed only once. Distinct publishers covering the same story remain separate articles. Save/pass IDs externally; the actor does not remember prior runs or schedule itself.",
            "default": [],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}