{
  "openapi": "3.0.1",
  "info": {
    "title": "News Scraper — Global News Search by Keyword, No API Key",
    "description": "Search news articles from the last 72 hours worldwide by keyword, source domain, country, language or theme, using the GDELT Project's open 15-minute feeds. Each article: URL, title, source, time, tone, themes, locations, organisations and image. No API key. $1.20 per 1,000 articles.",
    "version": "0.1",
    "x-build-id": "mbxlsBd53KLandk3r"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/actor-forge~news-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-actor-forge-news-search",
        "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/actor-forge~news-search/runs": {
      "post": {
        "operationId": "runs-sync-actor-forge-news-search",
        "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/actor-forge~news-search/run-sync": {
      "post": {
        "operationId": "run-sync-actor-forge-news-search",
        "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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Words or phrases to find, e.g. \"artificial intelligence\", \"Tesla\" or \"interest rates\". Matched as whole words, case-insensitive, in the article title, its URL, the organisations GDELT extracted and the names mentioned in the article (not the full article text). Leave empty to get all articles that pass the other filters.",
            "items": {
              "type": "string"
            }
          },
          "keywordMatch": {
            "title": "Keyword logic",
            "enum": [
              "any",
              "all"
            ],
            "type": "string",
            "description": "Any: an article matching at least one keyword is returned. All: every keyword must match.",
            "default": "any"
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop articles that mention any of these words or phrases (same matching as keywords).",
            "items": {
              "type": "string"
            }
          },
          "lookbackHours": {
            "title": "Look back (hours)",
            "minimum": 1,
            "maximum": 72,
            "type": "integer",
            "description": "How far back to search, from the newest GDELT batch: 1 to 72 hours. The translated (non-English) feed is searched over at most 24 hours. Newest articles come first.",
            "default": 24
          },
          "maxArticles": {
            "title": "Max articles",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Stop after this many articles (newest first). Each article is one charged row.",
            "default": 100
          },
          "feed": {
            "title": "News feed",
            "enum": [
              "english",
              "all",
              "translated"
            ],
            "type": "string",
            "description": "English: English-language news worldwide. Translated: news in about 65 other languages (titles stay in the original language; organisations and themes are in English). All: both. A non-English language filter switches to the translated feed automatically.",
            "default": "english"
          },
          "languages": {
            "title": "Languages",
            "type": "array",
            "description": "Only articles in these languages, as ISO codes like en, de, fr, es, zh, ar (two- or three-letter). Empty = all languages in the chosen feed.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries mentioned",
            "type": "array",
            "description": "Only articles that mention a place in one of these countries, by English country name, e.g. \"Germany\", \"United States\", \"United Kingdom\", \"India\". Case-insensitive.",
            "items": {
              "type": "string"
            }
          },
          "sourceDomains": {
            "title": "Source domains",
            "type": "array",
            "description": "Only articles from these news sites, e.g. bbc.co.uk, reuters.com, lemonde.fr. Subdomains are included.",
            "items": {
              "type": "string"
            }
          },
          "excludeSourceDomains": {
            "title": "Exclude source domains",
            "type": "array",
            "description": "Drop articles from these sites (subdomains included).",
            "items": {
              "type": "string"
            }
          },
          "themes": {
            "title": "GDELT themes",
            "type": "array",
            "description": "Only articles tagged with one of these GDELT GKG themes. A full code (ECON_STOCKMARKET) or a prefix ending at an underscore boundary (ECON, TAX_FNCACT, WB_). See the GDELT GKG theme list.",
            "items": {
              "type": "string"
            }
          },
          "sentiment": {
            "title": "Sentiment",
            "enum": [
              "any",
              "positive",
              "neutral",
              "negative"
            ],
            "type": "string",
            "description": "Only articles with this overall tone. GDELT tone ≥ 1.5 is positive, ≤ −1.5 negative, otherwise neutral.",
            "default": "any"
          },
          "requireTitle": {
            "title": "Only articles with a title",
            "type": "boolean",
            "description": "Skip the rare articles for which GDELT recorded no page title.",
            "default": true
          },
          "includePeople": {
            "title": "Include people mentioned",
            "type": "boolean",
            "description": "Add the names of people GDELT found in each article (mostly public figures). Off by default; not intended for profiling individuals.",
            "default": false
          },
          "newSinceLastRun": {
            "title": "Only new since last run (monitor mode)",
            "type": "boolean",
            "description": "For scheduled runs: skip GDELT batches already scanned by an earlier run with the same filters, so each run returns only newer articles. State is kept in a key-value store named news-search-state in your account.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}