Particle Pro
Search podcast dialogue for entity mentions. Returns every line of dialogue that mentions a person or company, grouped by episode and ordered by recency.
Offering
- Provider
- api.particle.pro
- Method
- GET
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Social Intelligence
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://api.particle.pro/v1/podcasts/mentions- MIME type
- application/json
- First seen
- 2026-10-16T01:54:06.400Z
- Last seen
- Tags
- podcast episode search, podcasts, media intelligence, particle pro
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.04 USDC
Atomic price: 40000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "40000",
"payTo": "0x59f3a6dcb6f482c53872dd8f8f9e1f9161a1c5f7"
}
]Observed health
- Status
- Healthy
- Latest latency
- 77 ms
- Average latency
- 157 ms
- HTTP status
- 402
- Last checked
- Reachability
- 100% over 14 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"company_id": {
"description": "Company slug, domain, or ID. Required when entity_id is not set. Resolves to the company's linked entity; a company with no linked entity falls back to name matching (matched_by=name).",
"type": "string"
},
"context_lines": {
"description": "Surrounding dialogue lines around each mention.",
"format": "int64",
"type": "integer"
},
"cursor": {
"description": "Opaque cursor from a previous response.",
"type": "string"
},
"entity_id": {
"description": "Entity slug (e.g., 'sam-altman') or ID. A person slug or ID resolves via the person's linked knowledge graph entity; a person with no linked entity falls back to name matching (matched_by=name). Required when company_id is not set.",
"type": "string"
},
"episode_id": {
"description": "Restrict to mentions inside one episode by slug or ID (cross-corpus result still surfaces a single episode group).",
"type": "string"
},
"guest_capacity": {
"description": "Only mentions spoken by a guest who knows their field in this capacity, such as executive_founder for founders. It narrows the other filters; an everyday word for a capacity passed as guest_occupation (founders, politicians) lands here too.",
"enum": [
"researcher",
"licensed_professional",
"practitioner",
"executive_founder",
"public_official",
"journalist_analyst",
"creator_entertainer",
"athlete_coach",
"clergy",
"firsthand",
"layperson"
],
"type": "string"
},
"guest_field": {
"description": "Only mentions spoken by a guest listed under this ANZSRC 2020 field of research (code, slug, or title).",
"type": "string"
},
"guest_in_field": {
"description": "Only mentions spoken by a guest speaking within their field (the guest the other guest_ filters select, when given).",
"type": "boolean"
},
"guest_occupation": {
"description": "Only mentions spoken by a guest listed under this SOC 2018 or ISCO-08 occupation (code, slug, or title), including a SOC group or everyday name such as physicians or doctors. A word with no occupation filters by the field of research or capacity it names: oncologists is field 3211, founders is guest_capacity=executive_founder.",
"type": "string"
},
"guest_practicing": {
"description": "Only mentions spoken by a guest who still works in guest_occupation, a SOC 2018 occupation or group.",
"type": "boolean"
},
"guest_seniority": {
"description": "Only mentions spoken by a guest at this seniority or above.",
"enum": [
"professional",
"senior",
"distinguished"
],
"type": "string"
},
"guest_standing": {
"description": "Only mentions spoken by a guest whose standing is recognized this way.",
"enum": [
"established",
"self_described",
"unverified"
],
"type": "string"
},
"include_ads": {
"description": "Mentions inside ad reads (sponsor ad segments, or lines spoken by an advertiser) are excluded by default. Pass true to include them.",
"type": "boolean"
},
"language": {
"description": "Restrict to episodes of podcasts in this language (ISO 639-1 code, e.g. 'fr'). Matches the podcast's primary language subtag, so 'fr' covers 'fr-FR'.",
"type": "string"
},
"limit": {
"description": "Episodes per page (1-100, default 25). Each episode's full set of mention windows is returned in a single page; episodes never split across pages.",
"format": "int64",
"type": "integer"
},
"podcast_id": {
"description": "Restrict to mentions inside one podcast.",
"type": "string"
},
"publisher_id": {
"description": "Restrict to mentions on podcasts attributed to one publisher (network), by slug or ID.",
"type": "string"
},
"role": {
"description": "Constrain how the entity participates: guest, host, panelist, correspondent, or mention.",
"enum": [
"guest",
"host",
"panelist",
"correspondent",
"mention"
],
"type": "string"
},
"since": {
"description": "Only episodes published after this date.",
"type": "string"
},
"sort": {
"description": "Result ordering. recency (the default) returns the most recently published episodes first. popularity orders by the parent podcast's global popularity percentile — the biggest shows first, recency breaking ties within a show, non-charting podcasts last. favorites keeps the recency ordering but lifts the calling user's favorited shows to the top of each publication day; it requires an authenticated user session (401 for an API key or anonymous token) and falls back to plain recency for a user with no favorited podcasts. strength requires speaker_statement_characteristics and returns the episodes whose mentions carry the requested labels most clearly first: the most clearly negative takes on a company, the most confident predictions about a drug. An episode ranks by its strongest mention, and within an episode the windows come strongest first rather than in transcript order. Only mentions with characteristics count, so strength may return fewer episodes than recency. Pass the same sort alongside a cursor when paginating.",
"enum": [
"recency",
"popularity",
"favorites",
"strength"
],
"type": "string"
},
"speaker_statement_characteristics": {
"description": "Keep only mentions said a certain way, by their speaker statement characteristics: speaker_statement_characteristics[sentiment]=negative finds criticism of the subject. Each key is an axis (sentiment, certainty, specificity, temporal_orientation) and its value one or more of that axis's labels, comma-separated: labels on one axis match any of them, and axes combine with AND. Every is_mention line carries labels the filter accepts, and an episode is returned only when one of its mentions does. With the guest_ filters, a mention counts only when a guest they select says it that way: what cardiologists said confidently about a drug. Requires a subject with a knowledge graph entity (a name-matched subject returns 422). A rare combination can return a short page with a cursor: follow it to keep reading. A flat sentiment=negative is not this filter and returns 422.",
"type": "object"
},
"until": {
"description": "Only episodes published before this date.",
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"company_id": {
"description": "Company slug, domain, or ID. Required when entity_id is not set. Resolves to the company's linked entity; a company with no linked entity falls back to name matching (matched_by=name).",
"type": "string"
},
"context_lines": {
"description": "Surrounding dialogue lines around each mention.",
"format": "int64",
"type": "integer"
},
"cursor": {
"description": "Opaque cursor from a previous response.",
"type": "string"
},
"entity_id": {
"description": "Entity slug (e.g., 'sam-altman') or ID. A person slug or ID resolves via the person's linked knowledge graph entity; a person with no linked entity falls back to name matching (matched_by=name). Required when company_id is not set.",
"type": "string"
},
"episode_id": {
"description": "Restrict to mentions inside one episode by slug or ID (cross-corpus result still surfaces a single episode group).",
"type": "string"
},
"guest_capacity": {
"description": "Only mentions spoken by a guest who knows their field in this capacity, such as executive_founder for founders. It narrows the other filters; an everyday word for a capacity passed as guest_occupation (founders, politicians) lands here too.",
"enum": [
"researcher",
"licensed_professional",
"practitioner",
"executive_founder",
"public_official",
"journalist_analyst",
"creator_entertainer",
"athlete_coach",
"clergy",
"firsthand",
"layperson"
],
"type": "string"
},
"guest_field": {
"description": "Only mentions spoken by a guest listed under this ANZSRC 2020 field of research (code, slug, or title).",
"type": "string"
},
"guest_in_field": {
"description": "Only mentions spoken by a guest speaking within their field (the guest the other guest_ filters select, when given).",
"type": "boolean"
},
"guest_occupation": {
"description": "Only mentions spoken by a guest listed under this SOC 2018 or ISCO-08 occupation (code, slug, or title), including a SOC group or everyday name such as physicians or doctors. A word with no occupation filters by the field of research or capacity it names: oncologists is field 3211, founders is guest_capacity=executive_founder.",
"type": "string"
},
"guest_practicing": {
"description": "Only mentions spoken by a guest who still works in guest_occupation, a SOC 2018 occupation or group.",
"type": "boolean"
},
"guest_seniority": {
"description": "Only mentions spoken by a guest at this seniority or above.",
"enum": [
"professional",
"senior",
"distinguished"
],
"type": "string"
},
"guest_standing": {
"description": "Only mentions spoken by a guest whose standing is recognized this way.",
"enum": [
"established",
"self_described",
"unverified"
],
"type": "string"
},
"include_ads": {
"description": "Mentions inside ad reads (sponsor ad segments, or lines spoken by an advertiser) are excluded by default. Pass true to include them.",
"type": "boolean"
},
"language": {
"description": "Restrict to episodes of podcasts in this language (ISO 639-1 code, e.g. 'fr'). Matches the podcast's primary language subtag, so 'fr' covers 'fr-FR'.",
"type": "string"
},
"limit": {
"description": "Episodes per page (1-100, default 25). Each episode's full set of mention windows is returned in a single page; episodes never split across pages.",
"format": "int64",
"type": "integer"
},
"podcast_id": {
"description": "Restrict to mentions inside one podcast.",
"type": "string"
},
"publisher_id": {
"description": "Restrict to mentions on podcasts attributed to one publisher (network), by slug or ID.",
"type": "string"
},
"role": {
"description": "Constrain how the entity participates: guest, host, panelist, correspondent, or mention.",
"enum": [
"guest",
"host",
"panelist",
"correspondent",
"mention"
],
"type": "string"
},
"since": {
"description": "Only episodes published after this date.",
"type": "string"
},
"sort": {
"description": "Result ordering. recency (the default) returns the most recently published episodes first. popularity orders by the parent podcast's global popularity percentile — the biggest shows first, recency breaking ties within a show, non-charting podcasts last. favorites keeps the recency ordering but lifts the calling user's favorited shows to the top of each publication day; it requires an authenticated user session (401 for an API key or anonymous token) and falls back to plain recency for a user with no favorited podcasts. strength requires speaker_statement_characteristics and returns the episodes whose mentions carry the requested labels most clearly first: the most clearly negative takes on a company, the most confident predictions about a drug. An episode ranks by its strongest mention, and within an episode the windows come strongest first rather than in transcript order. Only mentions with characteristics count, so strength may return fewer episodes than recency. Pass the same sort alongside a cursor when paginating.",
"enum": [
"recency",
"popularity",
"favorites",
"strength"
],
"type": "string"
},
"speaker_statement_characteristics": {
"description": "Keep only mentions said a certain way, by their speaker statement characteristics: speaker_statement_characteristics[sentiment]=negative finds criticism of the subject. Each key is an axis (sentiment, certainty, specificity, temporal_orientation) and its value one or more of that axis's labels, comma-separated: labels on one axis match any of them, and axes combine with AND. Every is_mention line carries labels the filter accepts, and an episode is returned only when one of its mentions does. With the guest_ filters, a mention counts only when a guest they select says it that way: what cardiologists said confidently about a drug. Requires a subject with a knowledge graph entity (a name-matched subject returns 422). A rare combination can return a short page with a cursor: follow it to keep reading. A flat sentiment=negative is not this filter and returns 422.",
"type": "object"
},
"until": {
"description": "Only episodes published before this date.",
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}