Outlets
The 27 outlets the system tracks, plus per-outlet coverage history.
List outlets
GET /api/v2/outlets
curl https://divergence.news/api/v2/outlets
Response
{
"data": [
{
"slug": "the-guardian",
"name": "The Guardian",
"short_name": "Guardian",
"bias": "left",
"bias_position": 22,
"primary_color": "#052962",
"homepage": "https://theguardian.com",
"articles_ingested": 1842,
"avg_divergence_when_covered": 41.7
},
{
"slug": "bbc",
"name": "BBC",
"short_name": "BBC",
"bias": "center",
"bias_position": 50,
"primary_color": "#bb1919",
"homepage": "https://bbc.com",
"articles_ingested": 2104,
"avg_divergence_when_covered": 33.2
}
]
}
Sorted by bias_position ascending, so the response reads left to right across the spectrum.
Get an outlet
GET /api/v2/outlets/{slug}
curl https://divergence.news/api/v2/outlets/fox-news
Returns the same object as the list, one entry.
Errors
404 not_found- slug does not match a tracked outlet
Events an outlet covered
GET /api/v2/outlets/{slug}/events
curl "https://divergence.news/api/v2/outlets/fox-news/events?limit=20"
Parameters
| Name | Type | Default | Notes |
|---|---|---|---|
cursor | string | - | |
limit | int | 25 | 1 to 100 |
since | ISO 8601 | - | Bounds first_seen_at |
until | ISO 8601 | - |
Response
Same shape as GET /events. Each event is guaranteed to have at least one source row from the given outlet.