{
  "openapi": "3.0.1",
  "info": {
    "title": "Google News Monitor: Keyword Alerts & New Articles",
    "description": "Monitor Google News for keywords, topics or any Google News link and get only the new articles on every run, with real publisher URLs. Schedule it hourly or daily and send alerts to Slack, email, Sheets or webhooks. 41 editions.",
    "version": "0.1",
    "x-build-id": "G74Ui4udCCx1gVAwZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ragequit~google-news-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ragequit-google-news-monitor",
        "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-monitor/runs": {
      "post": {
        "operationId": "runs-sync-ragequit-google-news-monitor",
        "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-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-ragequit-google-news-monitor",
        "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": "Keywords to monitor",
            "type": "array",
            "description": "Each run returns only articles that are new since the previous run. Google operators work: \"exact phrase\", OR, -exclude, site:reuters.com.",
            "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": "How far back the first run looks (searches only). Later runs return only new articles anyway.",
            "default": "7d"
          },
          "maxArticlesPerFeed": {
            "title": "Max new articles per keyword or feed per run",
            "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"
            }
          },
          "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; change it to start over.",
            "default": "google-news-alerts"
          },
          "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}