API Documentation

Integrate POB scores into your applications

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:

  1. Create a POB Report account
  2. Navigate to your Dashboard
  3. 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.