Free media-bias API
Crowd-sourced bias + accuracy ratings for news outlets, journalists, and creators.
AllSides has no public API. NewsGuard is enterprise-only. MBFC charges. Everything documented on this page is public, needs no account and no key, and is rate-limited per IP.
Get StartedResearchers
Page through the catalogue with /v1/entities/trending and pull the bias and accuracy vote distributions per outlet. Attribution: link back to the entity page you took the figures from.
Journalists
Look an outlet up before citing it, and compare two head to head with /v1/entities/compare.
Apps
Embed bias context in aggregators, extensions, RSS readers and fact-checking workflows. Free embeddable badges at /trust-badge.
Base URL
https://api.web-jury.com
Every route is served under the /v1 prefix. The paths below already include it.
Authentication
None. Every endpoint on this page is public and takes no key or token.
We do not issue API keys yet. If you need higher limits or a bulk export, get in touch.
# Look an outlet up by slug
curl "https://api.web-jury.com/v1/entities/by-slug/the-new-york-times"
# Or search for one
curl "https://api.web-jury.com/v1/entities/search?q=new%20york%20times&limit=5"All JSON responses use the same envelope: { "success": true, "data": … }. Errors come back with an HTTP status and { "statusCode": 404, "message": "Entity not found" }.
Expand any endpoint for its parameters and a real example response.
These return XML or SVG rather than the JSON envelope.
Limits are enforced per IP address, per endpoint — there are no paid API plans to buy today, and no key to raise them with. The ceilings that apply to the routes above:
| Endpoint | Limit |
|---|---|
| GET /v1/entities/search | 60 requests / minute / IP |
| GET /v1/entities/by-slug/:slug | 60 requests / minute / IP |
| GET /v1/entities/:id | 120 requests / minute / IP |
| POST /v1/entities/resolve | 30 requests / minute / IP |
| POST /v1/entities/:id/public-bias-vote | 10 requests / hour / IP |
| POST /v1/entities/:id/public-accuracy-vote | 10 requests / hour / IP |
| GET /v1/entities/trending | 30 requests / minute / IP |
| GET /v1/entities/discover/top-rated | 30 requests / minute / IP |
| GET /v1/entities/compare | 30 requests / minute / IP |
| GET /v1/users/:username/reviews | 60 requests / minute / IP |
| Everything else on this page | No fixed per-route cap; please be reasonable |
The API is free and has no paid tiers. Exceeding a limit returns 429 — back off and retry.
Add Web Jury trust scores to your website with a simple embed. No key required.
An SVG badge for any entity. Replace :entityId with the entity UUID from any lookup above.
<img src="https://api.web-jury.com/v1/embeds/badge/:entityId" alt="Web Jury trust score" />A richer card with the trust score, bias rating and review count. Served from the site, not the API, so it has no /v1 prefix.
<iframe
src="https://web-jury.com/embed/:entityId"
width="300"
height="200"
frameborder="0"
style="border: none; border-radius: 8px;"
title="Web Jury trust score"
></iframe>There are no official client libraries yet — none of the packages below are published. The REST API works with any HTTP client in the meantime.
JavaScript / TypeScript
@web-jury/sdk
Not published yetPython
web-jury
Not published yetGo
github.com/web-jury/sdk-go
Not published yetNo signup needed — copy a request from the quick start and go. Found a gap, or need a bulk export?