Overview
The POB Report API provides programmatic access to our bias scoring data. Use it to integrate POB scores into your news aggregator, browser extension, or research project.
Authentication
All API requests require authentication using an API key. To obtain an API key:
- Create a POB Report account
- Navigate to your Dashboard
- Generate an API key in the Developer section
Include your API key in the request header:
Authorization: Bearer YOUR_API_KEY
Rate Limits
| Plan | Requests/Hour | Requests/Day |
|---|---|---|
| Free | 100 | 1,000 |
| Pro | 1,000 | 10,000 |
| Enterprise | Unlimited | Unlimited |
Endpoints
GET /api/v1/articles
Retrieve a list of articles with POB scores.
GET /api/v1/articles?source=reuters&limit=10&sort=pob_desc
Response:
{
"articles": [
{
"id": "abc123",
"title": "Article Title",
"url": "https://example.com/article",
"source": "Reuters",
"pob_score": 42,
"published_at": "2024-01-15T10:30:00Z"
}
],
"total": 150,
"page": 1,
"per_page": 10
}
Parameters
| Parameter | Type | Description |
|---|---|---|
| source | string | Filter by source slug |
| limit | integer | Number of results (max 100) |
| offset | integer | Pagination offset |
| sort | string | Sort order: pob_asc, pob_desc, date_asc, date_desc |
| min_pob | integer | Minimum POB score (0-100) |
| max_pob | integer | Maximum POB score (0-100) |
GET /api/v1/articles/{id}
Retrieve details for a specific article.
GET /api/v1/articles/abc123
Response:
{
"id": "abc123",
"title": "Article Title",
"url": "https://example.com/article",
"source": {
"name": "Reuters",
"slug": "reuters",
"base_reliability": 85
},
"pob_score": 42,
"pob_breakdown": {
"language": 35,
"source_reliability": 15,
"balance": 55,
"headline": 40,
"context": 45
},
"published_at": "2024-01-15T10:30:00Z",
"indexed_at": "2024-01-15T10:45:00Z"
}
GET /api/v1/sources
List all indexed news sources.
GET /api/v1/sources
Response:
{
"sources": [
{
"name": "Reuters",
"slug": "reuters",
"url": "https://reuters.com",
"base_reliability": 85,
"article_count": 15420
}
]
}
POST /api/v1/analyze
Submit a URL for POB analysis (Pro and Enterprise only).
POST /api/v1/analyze
Content-Type: application/json
{
"url": "https://example.com/article-to-analyze"
}
Response:
{
"status": "queued",
"job_id": "job_xyz789",
"estimated_time": 30
}
Error Codes
| Code | Description |
|---|---|
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |
SDKs and Libraries
Official client libraries are coming soon for:
- Python
- JavaScript/Node.js
- Ruby
- Go
Support
For API support, please contact our developer team.