Skip to main content

Sources API

Manage RSS feed sources.

List Sources

GET /api/sources

Query Parameters:

ParameterTypeDescription
domainstringFilter by domain
activebooleanFilter by active status

Response:

{
"data": [
{
"id": 1,
"name": "Reuters World",
"url": "https://feeds.reuters.com/reuters/worldNews",
"domain": "geopolitics",
"active": true,
"lastFetch": "2026-02-07T10:30:00Z",
"articleCount": 156,
"createdAt": "2026-02-01T00:00:00Z"
}
],
"meta": {
"total": 80
}
}

Get Source

GET /api/sources/:id

Create Source

POST /api/sources

Request Body:

{
"name": "BBC World",
"url": "https://feeds.bbci.co.uk/news/world/rss.xml",
"domain": "geopolitics"
}

Response: 201 Created

{
"data": {
"id": 81,
"name": "BBC World",
"url": "https://feeds.bbci.co.uk/news/world/rss.xml",
"domain": "geopolitics",
"active": true
}
}

Update Source

PUT /api/sources/:id

Request Body:

{
"name": "BBC World News",
"active": false
}

Delete Source

DELETE /api/sources/:id

Response: 204 No Content

Bulk Create

POST /api/sources/bulk

Request Body:

{
"sources": [
{"name": "Source 1", "url": "...", "domain": "technology"},
{"name": "Source 2", "url": "...", "domain": "economics"}
]
}

Source Stats

GET /api/sources/:id/stats

Response:

{
"data": {
"articleCount": 156,
"verifiedCount": 142,
"avgConfidence": 0.87,
"lastWeekArticles": 23,
"fetchErrors": 0
}
}