doc: Search news articles

API: gdeltproject.org:gdelt-api
Endpoint: /api/v2/doc/doc
Response format: application/json
Auth: none
Method: GET
Last Status: 429
Latency: 1392ms

Description

Query the GDELT Doc API to search global news articles. Supports keyword searches with optional filters for themes, countries, dates, and languages.

Parameters (4)

format (string, query, optional, default: json)

Response format

Constraints: {'enum': ['json', 'csv']}

maxrecords (integer, query, optional, default: 10)

Maximum number of records to return

Constraints: {'minimum': 1, 'maximum': 250}

mode (string, query, required)

Response mode. ArtList returns article metadata. Other modes may be available.

Constraints: {'enum': ['ArtList']}

query (string, query, required)

Search query. Can include keywords, themes (theme:THEME_NAME), countries (country:COUNTRY_CODE), and dates (date:YYYYMMDD or date:YYYYMMDD-YYYYMMDD). Multiple terms can be combined with spaces.

Examples (1)

Search news articles openapi-spec
curl 'https://api.gdeltproject.org/api/v2/doc/doc?query=climate+change&mode=ArtList'
import requests

resp = requests.get(
    "https://api.gdeltproject.org/api/v2/doc/doc",
    params={
        'query': 'climate change',
        'mode': 'ArtList',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("gdeltproject")
result = api.fetch("api/v2/doc/doc", query="climate change", mode="ArtList")

for item in result:
    print(item)
const resp = await fetch("https://api.gdeltproject.org/api/v2/doc/doc?query=climate+change&mode=ArtList");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 17:17:26.661346 429 1392ms
2026-04-16 01:45:55.090523 200 7161ms
2026-04-15 00:07:31.369272 200 2320ms
2026-04-14 00:21:33.367968 200 4718ms
2026-04-12 12:49:13.818718 200 8875ms
2026-04-10 02:12:55.782538 429 707ms
2026-04-09 00:31:19.421602 200 8694ms
2026-04-08 00:31:46.810947 200 21344ms
2026-04-07 00:43:38.018269 200 15104ms
2026-04-05 21:50:36.205985 429 706ms