Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.particle.pro/llms.txt

Use this file to discover all available pages before exploring further.

Particle API assesses every well-classified podcast against the 12 categories from the IAB Tech Lab Content Taxonomy 3.x Brand Safety & Suitability Framework — the industry-standard taxonomy that advertisers, agencies, DSPs, and ad-verification vendors (IAS, DoubleVerify, Spotify, Hive, Sounder, Barometer) train against. The framework was originally published by GARM (Global Alliance for Responsible Media) in 2022; IAB Tech Lab assumed stewardship after GARM was discontinued in 2024 and continues to publish and version it. Each assessment covers a contiguous, non-overlapping window of recent episodes, refreshed on a risk-tiered cadence.
Available to MCP agents through podcasts/resolve_podcast: every result carries the high-level suitability_tier enum unconditionally, and passing include: ["suitability"] attaches the per-category breakdown alongside the podcast.

What the assessment gives you

A buy-or-skip decision needs more than a flat 0–1 risk score per category. A true-crime documentary about Bundy is heavy on crime content but advertiser-friendly; a host endorsing violent vigilantism is light on crime content but advertiser-toxic. The Particle assessment captures that distinction along five dimensions:
  • Per-category prevalenceNONE, INCIDENTAL, OCCASIONAL, FREQUENT, PERVASIVE. How often the category appears across the analyzed window.
  • Per-category treatmentABSENT, DOCUMENTARY, EDITORIAL, PROMOTIONAL, GLAMORIZING. How the content is framed when it appears. Treatment is the entire reason a news show covering terrorism stays advertiser-friendly while a podcast endorsing it does not.
  • Per-category risk level — derived deterministically from (prevalence, treatment, code). NONE, LOW, MEDIUM, HIGH, or FLOOR (violates the Brand Safety Floor).
  • Per-category evidence — every category with prevalence above NONE carries one or more cited episode excerpts so you can audit the verdict and defend planner decisions to clients.
  • Methodology transparency — sample size, confidence, and the time window of episodes that produced the verdict, all on every response.

Tiers

The overall verdict maps to the framework’s four risk levels:
TierFramework risk levelAdvertiser fit
SAFELow RiskSuitable for all advertisers, including kid-directed and family brands.
LIMITEDMedium RiskSuitable for most advertisers; family brands may apply caution.
SENSITIVEHigh RiskMany brands skip; suitable for general-audience and adult-product advertisers.
UNSAFEBrand Safety FloorNo monetization — content violates the Brand Safety Floor for at least one category.

Categories

All 12 brand-safety categories are evaluated on every assessment, even when prevalence is NONE, so the response records that the category was actively considered.
CodeDescription
adult_sexualAdult or sexually explicit content.
arms_ammunitionArms, ammunition, and weapon-related content.
crime_harmful_actsCrime, harmful acts to individuals, and human-rights violations.
death_injury_military_conflictDeath, injury, or military conflict.
online_piracyOnline piracy and copyright infringement.
hate_speech_aggressionHate speech and acts of aggression directed at protected groups.
obscenity_profanityObscenity and profanity, including gestures.
illegal_drugs_alcohol_tobaccoIllegal drugs, tobacco, e-cigarettes, vaping, or alcohol.
spam_harmfulSpam or harmful content (malware, phishing, scams).
terrorismTerrorism, including its promotion or glorification.
debated_social_issuesDebated sensitive social issues with insensitive or harmful treatment.
misinformationFactually incorrect or deliberately misleading content presented as fact (added in the September 2023 framework revision).

Get a podcast’s suitability

curl "https://api.particle.pro/v1/podcasts/the-jane-doe-show/suitability" \
  -H "X-API-Key: $PARTICLE_API_KEY"
Response (truncated)
{
  "overall_tier": "LIMITED",
  "confidence": "HIGH",
  "summary": "True-crime show with documentary treatment of historical American cases. No glorification; sponsor base is mainstream consumer brands.",
  "methodology": "Reviewed segments for 12 episodes from a 6-month window; read full transcripts for 5. Cross-checked sponsors for drug- and predatory-finance categories.",
  "episodes_analyzed": 25,
  "sample_window_start_at": "2025-11-04T00:00:00Z",
  "sample_window_end_at":   "2026-04-29T00:00:00Z",
  "evaluated_at": "2026-05-02T18:14:21Z",
  "categories": [
    {
      "code": "crime_harmful_acts",
      "description": "Crime, harmful acts to individuals, and human-rights violations.",
      "prevalence": "FREQUENT",
      "treatment": "DOCUMENTARY",
      "risk_level": "MEDIUM",
      "reasoning": "Hosts narrate established cases without endorsement, citing primary sources and court records.",
      "evidence": [
        {
          "episode_id": "78cgekLUjCJBUZbj3s5K8Y",
          "episode_title": "The Jane Doe Case",
          "episode_slug": "the-jane-doe-case",
          "excerpt": "We're going to walk through the timeline based on the trial transcripts..."
        }
      ]
    },
    {
      "code": "obscenity_profanity",
      "description": "Obscenity and profanity, including gestures.",
      "prevalence": "OCCASIONAL",
      "treatment": "EDITORIAL",
      "risk_level": "LOW",
      "reasoning": "Profanity used for emphasis, never directed at protected groups.",
      "evidence": [/* … */]
    }
    // 10 more entries — every brand-safety category appears, even when prevalence=NONE.
  ]
}

Optional sections

Pass include=trend, include=history, or include=trend,history to expand the response.
curl "https://api.particle.pro/v1/podcasts/the-jane-doe-show/suitability?include=trend,history" \
  -H "X-API-Key: $PARTICLE_API_KEY"
trend is computed deterministically from the diff between the two most recent assessments — the agent never compares across windows. Each analysis covers a contiguous, non-overlapping window of episodes, so the comparison is genuinely “what was true in the prior window vs. what’s true now.”
Response (truncated)
{
  "overall_tier": "LIMITED",
  // ... main body unchanged ...
  "trend": {
    "direction": "STABLE",
    "prior_evaluated_at": "2025-11-12T03:55:08Z",
    "changed_categories": [
      {
        "code": "obscenity_profanity",
        "prior_prevalence": "INCIDENTAL",
        "new_prevalence":   "OCCASIONAL",
        "prior_treatment":  "EDITORIAL",
        "new_treatment":    "EDITORIAL",
        "prior_risk_level": "LOW",
        "new_risk_level":   "LOW"
      }
    ]
  },
  "history": [
    {
      "overall_tier": "LIMITED",
      "confidence": "HIGH",
      "episodes_analyzed": 25,
      "sample_window_start_at": "2025-05-01T00:00:00Z",
      "sample_window_end_at":   "2025-11-04T00:00:00Z",
      "evaluated_at": "2025-11-12T03:55:08Z"
    }
    // …
  ]
}
direction is one of STABLE, IMPROVING, DECLINING, or INSUFFICIENT_HISTORY (when fewer than two assessments exist).

Filter the catalog by tier

GET /v1/podcasts accepts a suitability_tier query parameter. Returns only podcasts whose most recent assessment landed at that tier — useful for buyer-side catalog scans:
curl "https://api.particle.pro/v1/podcasts?suitability_tier=SAFE&limit=20" \
  -H "X-API-Key: $PARTICLE_API_KEY"
The high-level suitability_tier enum is also surfaced on every podcast object in list and detail responses; the per-category breakdown, evidence, and methodology are gated to the dedicated suitability endpoint.

Refresh cadence

Each assessment covers a contiguous, non-overlapping window of recent episodes — the most-recent ~25, scoped above the prior assessment’s window so no episode is ever re-analyzed across runs. Refresh thresholds depend on the prior tier:
Prior tierRe-evaluates after this many new episodesMax wall-clock staleness
SAFE25 new episodes since last window24 months
LIMITED20 new episodes24 months
SENSITIVE15 new episodes12 months
UNSAFE10 new episodes9 months
A daily show producing ~30 episodes per month therefore refreshes roughly monthly when SAFE and weekly when UNSAFE. A weekly show refreshes roughly every 5–6 months when SAFE.

Limitations

  • Minimum coverage. A first assessment requires at least 5 episodes with classified topics. Podcasts below this threshold return a 404 from this endpoint.
  • English-language bias. Treatment classification is most reliable for English-language content; languages with limited transcript coverage may produce lower-confidence assessments.
  • Sample-based. Each assessment is a snapshot of a contiguous window, not the full catalog. Across many assessments over a podcast’s lifetime, the union of windows covers the publishing history; for catalog-wide claims combine include=history with the per-window sample_window_start_at / sample_window_end_at boundaries.
  • Bias analysis — political bias rating, the closest analog (per-podcast LLM-derived assessment with evidence and methodology).
  • Episodes — drill into the episodes that produced an assessment.
  • Concepts → Pricing weight — suitability calls are priced higher per call.