Terra-Orb API

All of Terra-Orb's live data — events, articles, early signals, barometers, global coverage — in JSON, read-only, to power Terra-OSINT or any other analysis tool. Every article comes with its full captured text, summary, original URL, publisher and exact dates; /ask returns the excerpt of each source it relied on.

Access and pricing

The API is part of the paid service: the key is created from a Terra-Orb account and is billed in credits, only on the days it is called.

  • · 30 credits per day of use, with 1,000 requests included.
  • · 10 credits per block of 1,000 requests beyond that.
  • · No charge on days without calls, no subscription.
Market offerIts priceVolumeTerra-OrB
TheNewsAPI / MediaStack Standard99 $ / mois10 000 à 30 000 requêtes≈ 72 € / mois
MediaStack Professional249 $ / mois50 000 requêtes≈ 184 € / mois
NewsAPI Business449 $ / mois250 000 requêtes≈ 332 € / mois

At equal volume, Terra-OrB costs about 20% less than these subscriptions, with no monthly commitment: you only pay for the days actually called, and across 222 countries instead of a selection of English-language outlets.

Endpoints

Base: /api/public/v1 — all responses are in JSON and include generated_at.

GET/api/public/v1/events— Events

Merged events from the last 24h: exact/approximate dates, emitting and concerned countries, languages, number of outlets and articles, tone, intensity.

Parameters: topic, emitter=FR, about=IR, search, sort=media|recent|date|intensite, limit≤300

GET/api/public/v1/events/{id}— Event detail

Full record: coverage breakdown (ownership, orientation, country, language) and related articles.

Parameters: none

GET/api/public/v1/articles— Raw articles

Articles from the last 24h: title, canonical URL, event date vs. publication date, country, topic, tone, outlet type (digital/radio/TV/print), social network.

Parameters: topic, emitter, about, language=fr, form=digital|radio|tv|print, before=<date ISO> (pagination curseur), limit≤200

GET/api/public/v1/ask— AI answer engine (full key)

Free-form question: Terra-OrB archive then web (Tavily, fallback to Perplexity then Firecrawl), critical reasoning, cited summary [n], 4-domain impact matrix, sources, follow-ups.

Parameters: GET ?q=...&mode=rapide|profond, ou POST JSON {question, mode}

GET/api/public/v1/signals— Early signals

Events detected before wide visibility: status, confidence, acceleration rate, lead time, plus global statistics.

Parameters: status=detecte|confirme|repris, limit≤300

GET/api/public/v1/barometers— Barometers

Cross-referenced frequency and tone by topic, country and language: volume, outlets, sentiment, intensity, tension, situation level.

Parameters: none

GET/api/public/v1/coverage— Global coverage

Capture status by country: active outlets, recent articles, languages, status (covered / weak / missing / no local outlet).

Parameters: none

GET/api/public/v1/sources— Media directory

Active outlets: name, country, language, type, channel (feed, page, social network), documented ownership and orientation, reliability.

Parameters: country=FR, language=ar, form=tv, kind=media|social, before=<id> (pagination curseur), limit≤500

Example

curl -H "Authorization: Bearer tm_votre_cle" \
  "https://terra-orb.com/api/public/v1/events?about=IR&sort=intensite&limit=20"

Error codes: 401 (key missing, unknown or revoked), 402 (credits exhausted), 400 (invalid parameters), 404 (resource not found). Pagination of articles and sources uses a cursor: send back the value next_cursor in the parameter before.