curl -H "X-API-Key: $PARTICLE_API_KEY" \
"https://api.particle.pro/v1/podcasts/publishers/{id}/suitability"{
"category_breakdown": [
{
"code": "<string>",
"description": "<string>",
"exposure_share": 123,
"frequent": 123,
"glamorizing": 123,
"high_risk_count": 123,
"incidental": 123,
"none": 123,
"occasional": 123,
"pervasive": 123,
"promotional": 123
}
],
"confidence_breakdown": {
"high": 123,
"low": 123,
"medium": 123
},
"coverage": {
"analyzed_coverage": 123,
"analyzed_podcasts": 123,
"quality": "<string>",
"total_podcasts": 123
},
"publisher": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
},
"tier_breakdown": {
"limited": 123,
"limited_share": 123,
"placeable_share": 123,
"safe": 123,
"safe_share": 123,
"sensitive": 123,
"sensitive_share": 123,
"unsafe": 123,
"unsafe_share": 123
},
"last_evaluated_at": "2023-11-07T05:31:56Z",
"top_concerns": [
{
"code": "<string>",
"description": "<string>",
"exposure_share": 123,
"high_risk_count": 123
}
]
}{
"detail": "Property foo is required but is missing.",
"error_code": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"resolve": {
"message": "<string>",
"action": "<string>",
"endpoint": "<string>",
"method": "<string>",
"url": "<string>"
},
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}Get a publisher's brand suitability profile
Returns a publisher-level rollup of IAB Tech Lab Brand Safety & Suitability Framework (formerly GARM) verdicts across the publisher’s catalog: tier composition (SAFE / LIMITED / SENSITIVE / UNSAFE), confidence distribution, per-category exposure across all 12 GARM dimensions, and the top concerns surfaced from the category rollup. The coverage block (analyzed_coverage as a 0..1 share + a LOW/MEDIUM/HIGH quality enum) tells callers how representative the rollup is — analyses are still being backfilled across the long tail of the catalog. Identify the publisher by slug (e.g., ‘iheartpodcasts’, ‘bbc-radio-4’, ‘bloomberg’) or ID.
curl -H "X-API-Key: $PARTICLE_API_KEY" \
"https://api.particle.pro/v1/podcasts/publishers/{id}/suitability"{
"category_breakdown": [
{
"code": "<string>",
"description": "<string>",
"exposure_share": 123,
"frequent": 123,
"glamorizing": 123,
"high_risk_count": 123,
"incidental": 123,
"none": 123,
"occasional": 123,
"pervasive": 123,
"promotional": 123
}
],
"confidence_breakdown": {
"high": 123,
"low": 123,
"medium": 123
},
"coverage": {
"analyzed_coverage": 123,
"analyzed_podcasts": 123,
"quality": "<string>",
"total_podcasts": 123
},
"publisher": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
},
"tier_breakdown": {
"limited": 123,
"limited_share": 123,
"placeable_share": 123,
"safe": 123,
"safe_share": 123,
"sensitive": 123,
"sensitive_share": 123,
"unsafe": 123,
"unsafe_share": 123
},
"last_evaluated_at": "2023-11-07T05:31:56Z",
"top_concerns": [
{
"code": "<string>",
"description": "<string>",
"exposure_share": 123,
"high_risk_count": 123
}
]
}{
"detail": "Property foo is required but is missing.",
"error_code": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"resolve": {
"message": "<string>",
"action": "<string>",
"endpoint": "<string>",
"method": "<string>",
"url": "<string>"
},
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}Authorizations
Pass your API key in the X-API-Key header (recommended).
Path Parameters
Podcast publisher slug (e.g., 'iheartpodcasts', 'bbc-radio-4', 'bloomberg') or ID. Slugs are the recommended identifier.
Response
OK
Per-GARM-category roll-up across the publisher's analyzed catalog. Always 12 entries in canonical order so callers don't need to merge against the canonical category list. For an analyzed publisher with no exposure in a given category, none equals analyzed_podcasts and every other bucket is 0; only when the publisher has zero analyzed podcasts are all five prevalence buckets 0.
Show child attributes
Show child attributes
How confident the agent was in the verdicts that produced this rollup, summed across analyzed podcasts.
Show child attributes
Show child attributes
Catalog size and how much of it has been analyzed.
Show child attributes
Show child attributes
The publisher whose catalog is summarized.
Show child attributes
Show child attributes
Distribution of analyzed podcasts across the four IAB/GARM tiers (SAFE, LIMITED, SENSITIVE, UNSAFE), with counts and shares.
Show child attributes
Show child attributes
Most recent evaluation timestamp across the publisher's analyses. Omitted when the publisher has zero analyzed podcasts.
Up to three highest-exposure GARM categories ranked by high_risk_count, surfaced separately so advertisers can scan the publisher's worst dimensions without traversing the full breakdown.
Show child attributes
Show child attributes
Was this page helpful?