Skip to main content
Particle API analyzes every well-classified podcast against a seven-point political bias scale, calibrated against a regional political framework (US, UK, EU, CANADA, AUSTRALIA, INDIA, or OTHER). The publisher-level endpoints described here roll those per-podcast verdicts up across every podcast a publisher controls, so advertisers, researchers, and platforms can reason about a publisher’s full footprint rather than evaluating shows one at a time.
Publisher-level bias intelligence is a Premium endpoint. The per-podcast bias rating remains available on the standard tier through GET /v1/podcasts//bias.

What the profile gives you

A bundle-buy decision (or a publisher-fit audit) needs more than the modal lean of a single show. Particle’s publisher bias profile captures the catalog along five dimensions:
  • Coverage (coverage block) — total_podcasts, analyzed_podcasts, and analyzed_coverage so callers know how much of the catalog the verdict draws from. Backfill is in flight; a value of coverage.analyzed_coverage materially below 1.0 means there are still un-analyzed shows.
  • Political content (political_content block) — political_content.share is the fraction of analyzed podcasts the agent rated as political (i.e. not NOT_POLITICAL). Distinguishes news-heavy publishers from entertainment-heavy publishers.
  • Lean (lean block, absent from the response when the publisher has no political content) — lean.avg_score on a –3 (extreme left) to +3 (extreme right) ordinal scale, restricted to political content.
  • Diversitylean.stddev, the standard deviation of the lean across political podcasts. Low values indicate a monolithic publisher (e.g. The Daily Wire, MeidasTouch); high values indicate a heterogeneous catalog (iHeartPodcasts spans EXTREME_RIGHT to LEFT).
  • Distributions (distributions block) — bucket-level counts across the seven directional buckets plus NOT_POLITICAL, and a per-region breakdown by political_context so callers can audit the verdict directly.

The bias scale

The numeric score is exposed so callers can sort, average, and visualize across podcasts; it is not a substitute for the literal bucket and NOT_POLITICAL content is excluded from score-based metrics.

Get a publisher’s bias profile

Response
The response is intentionally grouped: coverage is “how much of the catalog the verdict draws from”, political_content is “how political the catalog is”, and lean is “where the political content sits on the ideological axis”. When a publisher has no political content at all (e.g. a sports-only network), the lean block is absent from the response — a single "lean" in obj check answers “is there a lean signal at all?”. Leaderboard entries share the same nested shape minus distributions.

List a publisher’s analyzed podcasts

Drill into the underlying podcasts that drove the profile. Filter by bias bucket(s) (comma-separated) or political_context, exclude NOT_POLITICAL podcasts, and sort by lean, recency, or name.
Sort options:

Cross-publisher leaderboard

Rank publishers by a chosen bias metric. Useful for discovery (what are the most right-leaning podcast publishers in the US?) and reporting (which publishers are most catalog-diverse?). Score-based metrics gate small-sample publishers via min_analyzed_podcasts and min_political_podcasts.
Available metrics:

Flip view: which publishers carry the most podcasts in a given bias bucket?

The symmetric “given a bucket, which publishers?” lens. Useful when the question is “who carries the most RIGHT-leaning content?” rather than “where does publisher X stand?”.
sort=count ranks by raw podcasts_in_bucket; sort=share ranks by podcasts_in_bucket / analyzed_podcasts. Use share to surface publishers whose catalog is concentrated in the bucket regardless of catalog size; count to surface the largest absolute footprints. Every entry includes up to five sample_podcast_ids so callers can spot-check the verdict without an extra request.

Methodology notes

  • Latest analysis only. Every aggregate is computed from the most recent non-deleted analysis per podcast (DISTINCT ON (podcast_id) ORDER BY evaluated_at DESC). Historical analyses are kept for audit but never contribute to the rolled-up profile.
  • NOT_POLITICAL is not 0. NOT_POLITICAL content is excluded from lean.avg_score, lean.stddev, and lean.dominant_bias. Including it as a CENTER proxy would silently muddy the lean signal for entertainment-heavy publishers.
  • Sample standard deviation. lean.stddev is the sample standard deviation (Bessel’s correction, n−1). It is null when there is fewer than two political podcasts.
  • Coverage caveat. Analysis backfill is in flight. Treat coverage.analyzed_coverage as a confidence proxy on the rolled-up verdict — publishers with low coverage should be re-checked once the backfill completes.