Pressroom API
A deterministic, fully-cited news-intelligence API. Query events, entities, quotes, certified facts, and analysis across a corpus of 200,000+ articles — every answer traceable to its source.
https://api.pressroom.news
export PRESSROOM_KEY="YOUR_API_KEY" curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/search?q=election&page_size=3"
Quick start
Every request is authenticated with your API key in the X-API-Key header. Base URL: https://api.pressroom.news
Set your key once and make your first call — the panels on the right show the base URL and the request.
https://api.pressroom.news
export PRESSROOM_KEY="YOUR_API_KEY" curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/search?q=election&page_size=3"
Authentication
Pass your key on every call, either header form:
Unauthenticated requests to data endpoints return 401. Keep your key secret; it is tied to your quota and tier. Two endpoints are open (no key): /v1/health and /v1/version.
X-API-Key: YOUR_API_KEY # — or — Authorization: Bearer YOUR_API_KEY
Tiers & rate limits
Each key belongs to a tier with a monthly call quota and a per-minute burst limit. Exceeding either returns 429 with a Retry-After hint.
| Tier | Monthly quota | Burst |
|---|---|---|
free | 1,000 | 30/min |
academic | 50,000 | 60/min |
starter | 100,000 | 120/min |
growth | 1,000,000 | 300/min |
pro | 5,000,000 | 600/min |
enterprise | unlimited | 1200/min |
What you get — features & roadmap
Deterministic, provenance-cited news intelligence over a 200K+ article corpus (India / Bangladesh / UK / Nepal focus, 28 sources, English + Hindi + Bengali + Nepali originals). Every number links back to the articles and text spans it came from. No generative model sits between the corpus and your response.
| Feature | What it does | Status |
|---|---|---|
| Entity graph | Canonical people / organisations / locations — profiles, search, disambiguation, coverage timeseries, co-mention relationships, identity-change history | Live |
| Quotes as objects | 385K+ attributed quote spans, searchable, with speaker resolution (people, and institutional speakers — "the RBI said"), full provenance chain | Live |
| Canonical events | Precision-gated event registry with per-event narrative timelines and coverage breakdowns | Live |
| Certified depth cards | Typed, certified fact cards (casualty counts, deadlines, legal status…) that pass a published safety gate before they exist | Live |
| Intelligence analyses | 11 POST analyses: narrative momentum, story lifecycle, signal-vs-noise, blind spots, epistemic confidence, story attribution, quote provenance, crisis trajectory… | Live |
| Cited briefs & QA | Deterministic analyst briefs and retrieval QA — every sentence cited, no LLM hallucination surface | Live |
| Geo layer | Heatmaps, radius queries, sentiment geography over geocoded locations | Live — coverage expanding |
| Real-time stream | SSE mention stream from a cursor | Live |
| Workspace | Saved searches (watchlists) and per-key article tags | Live |
| Entity enrichment at depth | Wikidata-grounded org typing, industry, country and multilingual aliases across the long tail | Rolling out |
| Self-serve keys & billing | Sign up, get a key, pay online — today keys are issued by request (below) | Planned |
| Continuous corpus sync | Cloud replica updated continuously from the extraction pipeline | Planned |
What we deliberately do not offer: article body text. Pressroom is not a content-redistribution service — endpoints return metadata, entities, quotes, and analyses, each linking to the publisher's canonical URL. Read the journalism where it was published.
Response format
Every response is JSON. List endpoints wrap results in data with a meta block for pagination; single-object endpoints return data directly.
Paginate with page and page_size query parameters.
{
"data": [ /* … results … */ ],
"meta": { "total": 9690, "page": 1, "page_size": 3 }
}Search & discovery
Full-text article search GET /v1/search
Search 200K+ articles with filters for source, language, date range, and entity.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/search?q=election&page_size=3"
{
"data": [
{
"article_id": 194929,
"headline": "Union Minister Amit Shah addresses Vijay Sankalp Abhiyan of booth workers in Indore & starts BJP's election campaign from Malwa region",
"dek": null,
"language": "en",
"provenance": {
"source_id": "news-on-air",
"source_name": "News On AIR",
"source_url": "https://newsonair.gov.in/union-minister-amit-shah-addresses-vijay-sankalp-abhiyan-of-booth-workers-in-indore-starts-bjps-election-campaign-from-malwa-region",
"extraction_method": "trafilatura",
"extracted_at": "2026-07-22T11:04:10Z",
"date_published_utc": null,
"word_count": 145
}
},
{
"article_id": 192850,
"headline": "Karnataka High Court issues notice to CM Siddaramaiah on election petition",
"dek": null,
"language": "en",
"provenance": {
"source_id": "news-on-air",
"source_name": "News On AIR",
"source_url": "https://newsonair.gov.in/karnataka-high-court-issues-notice-to-cm-siddaramaiah-on-election-petition",
"extraction_method": "trafilatura",
"extracted_at": "2026-07-21T09:06:47Z",
"date_published_utc": null,
"word_count": 167
}
},
{
"article_id": 186957,
"headline": "BNP forms Central Election Steering Committee for 13th parliamentary polls",
"dek": null,
"language": "en",
"provenance": {
… (16 more lines)Canonical event registry GET /v1/events
Paginated registry of de-duplicated real-world events, each with domain, type, and coverage counts.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/events?page_size=3"
{
"data": [
{
"id": 47133,
"label": "World Cup",
"wikidata_id": null,
"event_year": null,
"event_domain": "sport",
"event_type": "sports",
"article_count": 14783,
"has_timeline": false,
"beat_count": 0
},
{
"id": 47132,
"label": "FIFA World Cup 2026",
"wikidata_id": "Q5020214",
"event_year": "2026",
"event_domain": "sport",
"event_type": "sports",
"article_count": 2488,
"has_timeline": false,
"beat_count": 0
},
{
"id": 47187,
"label": "World Cups",
"wikidata_id": null,
"event_year": null,
"event_domain": "sport",
"event_type": "sports",
"article_count": 1110,
"has_timeline": false,
"beat_count": 0
}
],
"meta": {
"total": 9690,
… (4 more lines)Event profile GET /v1/events/47133
A single canonical event with its metadata and linkage.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/events/47133"
{
"data": {
"id": 47133,
"kind": "event",
"name": "World Cup",
"event_domain": "sport",
"event_type": "sports",
"event_year": null,
"event_date": {
"start": null,
"end": null,
"precision": null
},
"identity": {
"resolved": false,
"wikidata_id": null
},
"description": null,
"hierarchy": {
"role": "franchise",
"parent": null,
"children": [
{
"id": 52491,
"name": "World Cup 2035",
"event_year": "2035",
"event_domain": "sport"
},
{
"id": 49379,
"name": "2034 World Cup",
"event_year": "2034",
"event_domain": "sport"
},
{
"id": 47211,
"name": "2030 World Cup",
"event_year": "2030",
… (307 more lines)Quote search GET /v1/quotes/search
Find quotes by text; each carries full provenance and a resolved speaker where known.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/quotes/search?q=economy&page_size=3"
{
"data": [
{
"quote_id": 359746,
"text": "It is the country's confidence that when you bring another no-confidence motion in 2028, India will be the third largest economy in the world,",
"verb": null,
"type": "direct",
"confidence": 0.0,
"speaker": {
"person_id": null,
"name": null,
"speaker_text": null,
"resolved": false
},
"provenance": {
"article_id": 184949,
"headline": "Review of Parliament Proceedings",
"source_id": "news-on-air",
"source_url": "https://newsonair.gov.in/review-of-parliament-proceedings-3",
"extraction_method": "trafilatura",
"extracted_at": "2026-07-18T05:00:48Z",
"date_published_utc": null
}
},
{
"quote_id": 326004,
"text": "When a nation embarks upon a process of shifting from an ‘inward-leaning economy’ to an ‘outward-leaning economy’, the arena of national security concerns begins to move to the oceans. This is a phenomenon in history that occurs so frequently that it has almost become a rule rather than an exception.",
"verb": null,
"type": "direct",
"confidence": 0.0,
"speaker": {
"person_id": null,
"name": null,
"speaker_text": null,
"resolved": false
},
"provenance": {
"article_id": 156806,
… (37 more lines)Curated topics GET /v1/topics
The curated topic catalog.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/topics"
{
"data": [
{
"slug": "artificial-intelligence",
"label": "Artificial Intelligence",
"source": "curated",
"article_count": 668,
"keywords": [
"artificial intelligence",
"openai",
"chatgpt",
"machine learning",
"large language model",
"generative ai",
"neural network"
],
"aliases": [
"ai",
"genai",
"generative ai",
"machine learning"
],
"sections": [],
"updated_at": "2026-07-26T09:42:49Z"
},
{
"slug": "climate-change",
"label": "Climate & Environment",
"source": "curated",
"article_count": 2239,
"keywords": [
"climate",
"emission",
"global warming",
"renewable",
"carbon",
"net zero",
"monsoon",
… (249 more lines)Topic profile GET /v1/topics/artificial-intelligence
A single topic with its profile.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/topics/artificial-intelligence"
{
"data": {
"slug": "artificial-intelligence",
"label": "Artificial Intelligence",
"source": "curated",
"keywords": [
"artificial intelligence",
"openai",
"chatgpt",
"machine learning",
"large language model",
"generative ai",
"neural network"
],
"aliases": [
"ai",
"genai",
"generative ai",
"machine learning"
],
"sections": [],
"stats": {
"article_count": 668,
"first_seen": "2025-07-06T12:11:14Z",
"last_seen": "2026-07-26T03:53:15Z"
},
"top_sources": [
{
"source": "Mint",
"articles": 324
},
{
"source": "Reuters",
"articles": 83
},
{
"source": "Hindustan Times",
"articles": 46
… (32 more lines)Entities — people, organisations, locations
Entity profile GET /v1/people/174
Canonical profile for a person, organisation, or location (the {kind} is people / organisations / locations).
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/people/174"
{
"data": {
"id": 174,
"kind": "people",
"name": "Narendra Modi",
"identity": {
"resolved": true,
"wikidata_id": "Q1058",
"lei_code": null,
"status": "resolved"
},
"attributes": {
"current_title": null,
"current_employer": null,
"nationality": null,
"date_of_birth": null,
"wikipedia_url": "https://en.wikipedia.org/wiki/Narendra_Modi",
"twitter_handle": "narendramodi",
"twitter_url": "https://twitter.com/narendramodi",
"linkedin_url": "narendramodi",
"official_bio_url": "https://www.narendramodi.in",
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/The_official_portrait_of_Shri_Narendra_Modi%2C_the_Prime_Minister_of_the_Republic_of_India.jpg/330px-The_official_portrait_of_Shri_Narendra_Modi%2C_the_Prime_Minister_of_the_Republic_of_India.jpg",
"bio_text": "Narendra Damodardas Modi is an Indian politician who has served as the prime minister of India since 26 May 2014. Modi was the chief minister of Gujarat from 2001 to 2014 and is the Member of Parliament (MP) for Varanasi. He is a member of the Bharatiya Janata Party (BJP) and of the Rashtriya Swayamsevak Sangh (RSS), a right-wing Hindutva paramilitary volunteer organisation. He is India's third-longest-serving prime minister, and the longest-serving prime minister outside the Indian National Congress.",
"bio_source": "wikipedia"
},
"aliases": [
"Modi",
"Modi ji",
"Narender Modi",
"Narendra Damodardas Modi",
"Narendra Modi",
"Narendra) Modi",
"Narendra] Modi",
"Shri Modi",
"Shri Narendra Modi",
"Shri Narendra Modi ji"
],
"stats": {
… (9 more lines)Entity relationships GET /v1/people/174/relationships
Top co-mentioned people, organisations, and locations for an entity.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/people/174/relationships"
{
"data": {
"entity_id": 174,
"kind": "people",
"source_article_count": 5501,
"people": [
{
"id": 11084,
"name": "Modi",
"wikidata_id": null,
"co_count": 702,
"first_seen": "2025-11-24T18:30:00Z",
"last_seen": "2026-07-26T10:40:47Z",
"salience": 0.1276
},
{
"id": 1,
"name": "Donald Trump",
"wikidata_id": "Q22686",
"co_count": 553,
"first_seen": "2025-09-10T18:15:00Z",
"last_seen": "2026-07-25T12:00:00Z",
"salience": 0.1005
},
{
"id": 622,
"name": "Amit Shah",
"wikidata_id": "Q4746875",
"co_count": 449,
"first_seen": "2023-06-02T18:30:00Z",
"last_seen": "2026-07-26T10:40:47Z",
"salience": 0.0816
},
{
"id": 1268,
"name": "Rahul Gandhi",
"wikidata_id": "Q10218",
"co_count": 416,
… (520 more lines)Quotes by a person GET /v1/people/174/quotes
Quotes attributed to a person, with provenance.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/people/174/quotes?page_size=2"
{
"data": [
{
"quote_id": 377063,
"text": "Smt. Sonia Gandhi’s mother, Mrs. Paola Maino passed away at her home in Italy on Saturday the 27th August 2022. The funeral took place yesterday,",
"verb": "tweeted",
"type": "direct",
"confidence": 0.85,
"provenance": {
"article_id": 174102,
"headline": "Congress chief Sonia Gandhi's mother passes away",
"source_id": "the-hindu",
"source_url": "https://thehindu.com/news/national/congress-chief-sonia-gandhis-mother-passes-away/article65833715.ece",
"extraction_method": "trafilatura",
"extracted_at": "2026-07-15T20:02:30Z",
"date_published_utc": null
}
},
{
"quote_id": 377062,
"text": "May her soul rest in peace. In this hour of grief, my thoughts are with the entire family.",
"verb": "tweeted",
"type": "direct",
"confidence": 0.85,
"provenance": {
"article_id": 174102,
"headline": "Congress chief Sonia Gandhi's mother passes away",
"source_id": "the-hindu",
"source_url": "https://thehindu.com/news/national/congress-chief-sonia-gandhis-mother-passes-away/article65833715.ece",
"extraction_method": "trafilatura",
"extracted_at": "2026-07-15T20:02:30Z",
"date_published_utc": null
}
}
],
"meta": {
"total": 1758,
"page": 1,
… (3 more lines)Certified depth cards
Depth cards GET /v1/depth-cards
Certified, provenance-cited story-state facts (e.g. casualty / arrest counts) — every card is gated and traceable to its source span.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/depth-cards?page_size=3"
{
"data": [
{
"card_id": "cc_arrest_count_ca89a2c654546c73",
"contract_version": "depth_card_v1",
"disposition": "PUBLISHED",
"object_class": "ARREST_COUNT",
"base_class": "ARREST_COUNT",
"claim": "people arrested = 11",
"claimed_value": 11.0,
"unit": "people",
"story_unit_id": null,
"minted_at": "2026-07-25T14:38:07.732862Z",
"provenance": {
"article_ids": [
26091
],
"primary_article_id": 26091,
"source_name": "myrepublica",
"publication_date": null,
"license_path": "P2_PERSON_HEAD",
"span": "“Chinese security personnel recently arrested 11 Nepali traders.",
"offsets": {
"start": 949,
"end": 951
},
"method": "typed_count_factory -> publish_safety_gate -> held_queue(rubric_v3, qwen3:14b local) -> reader_canary",
"gate": {
"status": "AUTO_PUBLISH",
"families": [],
"reason": null
},
"frozen_gate_sha256": "ede56aeb1bc2709caf77596e6489cd41a73fe6140e521ba5afddb7bbf2acbf24",
"adjudicator": "none",
"adjudicator_rationale": "publish_safety_gate AUTO_PUBLISH (deterministic; no model call)",
"verdict_cache_key": null,
"cert_ref": null,
"content_hash": "ad2527eb0a086145acda10df8add427dc7a5358c3091fd6bede08e968fc6a923"
… (85 more lines)Single depth card GET /v1/depth-cards/cc_arrest_count_ca89a2c654546c73
One certified card by id, with full provenance.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/depth-cards/cc_arrest_count_ca89a2c654546c73"
{
"data": {
"card_id": "cc_arrest_count_ca89a2c654546c73",
"contract_version": "depth_card_v1",
"disposition": "PUBLISHED",
"object_class": "ARREST_COUNT",
"base_class": "ARREST_COUNT",
"claim": "people arrested = 11",
"claimed_value": 11.0,
"unit": "people",
"story_unit_id": null,
"minted_at": "2026-07-25T14:38:07.732862Z",
"provenance": {
"article_ids": [
26091
],
"primary_article_id": 26091,
"source_name": "myrepublica",
"publication_date": null,
"license_path": "P2_PERSON_HEAD",
"span": "“Chinese security personnel recently arrested 11 Nepali traders.",
"offsets": {
"start": 949,
"end": 951
},
"method": "typed_count_factory -> publish_safety_gate -> held_queue(rubric_v3, qwen3:14b local) -> reader_canary",
"gate": {
"status": "AUTO_PUBLISH",
"families": [],
"reason": null
},
"frozen_gate_sha256": "ede56aeb1bc2709caf77596e6489cd41a73fe6140e521ba5afddb7bbf2acbf24",
"adjudicator": "none",
"adjudicator_rationale": "publish_safety_gate AUTO_PUBLISH (deterministic; no model call)",
"verdict_cache_key": null,
"cert_ref": null,
"content_hash": "ad2527eb0a086145acda10df8add427dc7a5358c3091fd6bede08e968fc6a923"
}
… (2 more lines)Analysis & briefs (POST)
Narrative momentum POST /v1/analyse/narrative-momentum
Coverage momentum for a query — volume, diversity, geographic and sentiment trend.
curl -X POST -H "X-API-Key: $PRESSROOM_KEY" \
-H "Content-Type: application/json" \
-d '{"q": "election"}' \
"https://api.pressroom.news/v1/analyse/narrative-momentum"{
"data": {
"subject": "q:election",
"window": {
"from": "2026-04-27",
"to": "2026-07-26",
"midpoint": "2026-06-11"
},
"total_articles": 1093,
"recent_half": {
"volume": 472,
"sources": 75,
"countries": 5,
"sentiment": -0.0067
},
"prior_half": {
"volume": 621,
"sources": 24,
"countries": 5,
"sentiment": 0.0707
},
"components": {
"volume_rate_change": -0.2399,
"source_diversity_delta": 0.2881,
"geographic_spread_delta": 0.0,
"sentiment_delta": -0.0774
},
"momentum_score": -0.0701,
"method": "deterministic; weights v=0.5 div=0.2 geo=0.2 sent=0.1"
}
}Cited retrieval QA POST /v1/chat
Deterministic question-answering over the corpus with citations — no LLM, fully reproducible.
curl -X POST -H "X-API-Key: $PRESSROOM_KEY" \
-H "Content-Type: application/json" \
-d '{"question": "What has been reported about elections?"}' \
"https://api.pressroom.news/v1/chat"{
"data": {
"question": "What has been reported about elections?",
"answer": "8 relevant article(s) from 5 source(s) address this. Leading coverage: \"As heat wave sweeps across several states in the US, White House has reportedly deleted thousands of web pages about...\" (the-times-of-india, 2026-07-05). See cited passages below.",
"matched_terms": [
"has",
"reported",
"elections"
],
"passages": [
{
"headline": "As heat wave sweeps across several states in the US, White House has reportedly deleted thousands of web pages about...",
"dek": null,
"provenance": {
"article_id": 186888,
"source_id": "the-times-of-india",
"source_url": "https://timesofindia.indiatimes.com/technology/tech-news/as-heat-wave-sweeps-across-several-states-in-the-us-white-house-has-reportedly-deleted-thousands-of-web-pages-about-/articleshow/132196710.cms",
"date_published_utc": "2026-07-05T13:43:00Z"
}
},
{
"headline": "Paul Hogan has reportedly called Pauline Hanson a ‘pelican’. Please explain?",
"dek": null,
"provenance": {
"article_id": 132390,
"source_id": "the-guardian",
"source_url": "https://theguardian.com/australia-news/2026/jun/28/paul-hogan-pauline-hanson-pelican-insult-australian-slang-please-explain",
"date_published_utc": "2026-06-28T07:41:24Z"
}
},
{
"headline": "Republicans reportedly weigh stopgap funding plan to avert Government shutdown before midterm elections",
"dek": "Senator Rick Scott's proposal comes ahead of a planned meeting between President Donald Trump and Senate Republicans, where lawmakers are expected to discuss priorities for the remainder of the year.",
"provenance": {
"article_id": 108287,
"source_id": "mint",
"source_url": "https://livemint.com/news/us-news/republicans-reportedly-weigh-stopgap-funding-plan-to-avert-government-shutdown-before-midterm-elections-11782317710245.html",
"date_published_utc": "2026-06-24T16:35:08Z"
… (91 more lines)Analyst brief POST /v1/briefs/generate
A deterministic, cited analyst brief for a query or entity.
curl -X POST -H "X-API-Key: $PRESSROOM_KEY" \
-H "Content-Type: application/json" \
-d '{"q": "election"}' \
"https://api.pressroom.news/v1/briefs/generate"{
"data": {
"subject": "q:election",
"window": {
"from": "2026-04-27",
"to": "2026-07-26"
},
"total_articles": 1093,
"summary": "1093 articles from 8 sources cover q:election (2026-04-27–2026-07-26). Most-associated people: Donald Trump, Andy Burnham, Keir Starmer; organisations: BJP, Reuters, Labour; locations: United States, India, UK. 5 attributed quote(s) surfaced. Every claim is cited below.",
"top_entities": {
"people": [
{
"name": "Donald Trump",
"co_count": 183
},
{
"name": "Andy Burnham",
"co_count": 76
},
{
"name": "Keir Starmer",
"co_count": 62
},
{
"name": "Nigel Farage",
"co_count": 53
},
{
"name": "Joe Biden",
"co_count": 42
}
],
"organisations": [
{
"name": "BJP",
"co_count": 211
},
{
… (301 more lines)Account & meta
Account usage GET /v1/account/usage
Your key's metering and quota state.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/account/usage"
{
"data": {
"tier": "enterprise",
"monthly_quota": -1,
"monthly_used": 6,
"usage_period": "2026-07",
"lifetime_calls": 7,
"lifetime_cost_units": 7,
"recent": [
{
"ts": "2026-07-26 13:51:42.693016+00",
"method": "GET",
"endpoint": "/v1/account/usage",
"status": null,
"latency_ms": null
},
{
"ts": "2026-07-26 13:45:34.45839+00",
"method": "GET",
"endpoint": "/v1/depth-cards",
"status": 200,
"latency_ms": 100
},
{
"ts": "2026-07-26 13:45:33.81118+00",
"method": "GET",
"endpoint": "/v1/events",
"status": 200,
"latency_ms": 153
},
{
"ts": "2026-07-26 13:29:26.953925+00",
"method": "GET",
"endpoint": "/v1/depth-cards",
"status": 200,
"latency_ms": 112
},
{
… (23 more lines)Version & tiers GET /v1/version
API version and the tier catalog.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/version"
{
"name": "Pressroom Analytics API",
"version": "1.0.0-dev",
"tiers": {
"free": {
"monthly_quota": 1000,
"rate_per_minute": 30
},
"academic": {
"monthly_quota": 50000,
"rate_per_minute": 60
},
"starter": {
"monthly_quota": 100000,
"rate_per_minute": 120
},
"growth": {
"monthly_quota": 1000000,
"rate_per_minute": 300
},
"pro": {
"monthly_quota": 5000000,
"rate_per_minute": 600
},
"enterprise": {
"monthly_quota": -1,
"rate_per_minute": 1200
}
}
}Corpus health GET /v1/health
Outcome-based corpus health (unauthenticated).
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/health"
{
"state": "DEGRADED",
"reasons": [
"stale_leases",
"backlog_with_zero_recent_commits"
],
"process_reachable": true,
"durable_work_healthy": false,
"corpus_reachable": true,
"articles": 204333,
"corpus_db": "/opt/pressroom/data/pressroom.db",
"metering_reconciliation_required": 0,
"oldest_metering_reservation": null
}Source registry GET /v1/sources
Every publication with its audience taxonomy.
curl -H "X-API-Key: $PRESSROOM_KEY" \ "https://api.pressroom.news/v1/sources"
{
"data": [
{
"source_id": "aajkaal",
"name": "Aajkaal",
"country_of_origin": "India",
"country_of_audience": null,
"language": "bn",
"nav_group": null,
"category": "[\"regional\"]",
"article_count": 265
},
{
"source_id": "aapti-institute",
"name": "Aapti Institute",
"country_of_origin": "India",
"country_of_audience": "India",
"language": "en",
"nav_group": null,
"category": "[\"data-governance\", \"technology\", \"policy\"]",
"article_count": 138
},
{
"source_id": "ajit",
"name": "Ajit",
"country_of_origin": "India",
"country_of_audience": null,
"language": "pa",
"nav_group": null,
"category": "[\"regional\"]",
"article_count": 49
},
{
"source_id": "algerie-eco",
"name": "Algerie-eco",
"country_of_origin": "Algeria",
"country_of_audience": null,
"language": null,
… (1739 more lines)Full endpoint reference
All 61 public operations. Every path takes the same X-API-Key auth.
Search & discovery
Entities (people · organisations · locations)
Certified depth cards
Quotes & stance
Analysis & briefs
Stories & stream
Your workspace
Account & meta
Request access
Pressroom is in private beta. To request an API key, email shobhit.dixit@gmail.com with your use case. Keys are provisioned manually and mapped to a tier.