API Reference

Read-only endpoints for searching, browsing, and filtering global news events.

Get your API key

Create an account to unlock higher rate limits (200 req/60s vs 30 for anonymous).

Get API Key →

Quick start

X-API-Key: <your-key>
30 req / 60s per IP

The X-API-Key header is optional — anonymous requests are allowed at a lower rate limit. Authenticated requests get 200 req/60s.

curl "/api/search?q=climate+policy" \ -H "X-API-Key: your-key-here"

Endpoints

MethodPathDescription
GET /api/search Hybrid semantic + keyword search via RRF
GET /api/clusters Active event clusters with optional filtering
GET /api/clusters/{id} Single cluster with all member articles
GET /api/articles Recent articles, newest first
GET /api/stats Total articles, clusters, embeddings, largest cluster

Search

GET /api/search Hybrid semantic + keyword search

Parameters

ParamTypeDescription
qstring (required)Search query
limitint (1–100, default 20)Max results
semantic_weightfloat (0–1, default 0.5)Balance between semantic and keyword scoring
clustersboolInclude cluster-level results
locationstringFilter by location name
personstringFilter by person name
orgstringFilter by organization
themestringFilter by GDELT theme code
domainstringFilter by source domain
sourcestringFilter by source name
date_fromISO dateStart date filter
date_toISO dateEnd date filter
curl "/api/search?q=earthquake+Turkey&semantic_weight=0.7&location=Turkey&limit=10" \ -H "X-API-Key: your-key-here"

Clusters

GET /api/clusters List event clusters

Parameters

ParamTypeDescription
limitint (default 20)Max clusters to return
sortstringSort by: recent or articles
locationstringFilter by location
personstringFilter by person
orgstringFilter by organization
themestringFilter by theme
domainstringFilter by domain
sourcestringFilter by source
date_fromISO dateStart date
date_toISO dateEnd date
GET /api/clusters/{id} Cluster detail

Returns the cluster metadata along with all member articles.

curl "/api/clusters?sort=articles&theme=MILITARY_CONFLICT&limit=20" \ -H "X-API-Key: your-key-here"

Articles & Stats

GET /api/articles Browse articles with filters

Parameters

ParamTypeDescription
limitint (1–200, default 50)Max articles to return
locationstringFilter by location name
personstringFilter by person
orgstringFilter by organization
themestringFilter by GDELT theme code
domainstringFilter by source domain
sourcestringFilter by source name
date_fromISO dateStart date filter
date_toISO dateEnd date filter
GET /api/stats Pipeline statistics

Returns total articles, clusters, embeddings, sources, themes, and largest cluster size.

OpenAPI Spec

The machine-readable spec is available at /api/openapi.json — import it into Postman, Insomnia, or any OpenAPI-compatible tooling.