api.particle.pro
Poll the episode feed. Resumable, strictly-ordered poll of episodes as they are ingested — the all-plans pull alternative to the Enterprise stream.
Offering
- Provider
- api.particle.pro
- Method
- GET
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Api
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://api.particle.pro/v1/podcasts/episodes/feed- MIME type
- application/json
- First seen
- 2026-10-16T03:04:46.000Z
- Last seen
- Tags
- podcast episodes, podcasts, media intelligence, particle pro
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"payTo": "0x59f3a6dcb6f482c53872dd8f8f9e1f9161a1c5f7"
}
]Observed health
- Status
- Healthy
- Latest latency
- 79 ms
- Average latency
- 152 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": {
"cursor": {
"description": "Opaque cursor from a prior feed response. Poll again with it to receive episodes ingested since. Omit (with no since) to start from now.",
"type": "string"
},
"include": {
"description": "Heavy relations to embed in each episode (comma-separated). transcript is the dialogue transcript and requires the same access as the full transcript endpoint; segments and clips are the AI-derived sets; entities are the knowledge graph entities discussed, with the transcript lines that mention each; ads are the advertising spots detected; all means everything available at the chosen milestone. A field is only valid when its data is guaranteed at the milestone (transcript→transcribed, segments→segmented, clips, entities and ads→fully_ingested); requesting one earlier is a 422.",
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Maximum episodes per page.",
"format": "int64",
"type": "integer"
},
"milestone": {
"description": "Deliver episodes once they reach this ingestion stage. Ordered discovered < transcribed < segmented < fully_ingested.",
"enum": [
"discovered",
"transcribed",
"segmented",
"fully_ingested"
],
"type": "string"
},
"podcast_ids": {
"description": "Filter to a set of podcasts by slug or ID (comma-separated). Hard limit of 100 per request. Unknown values are ignored; if no filter matches any podcast you get a 404. Always included over popularity_threshold.",
"items": {
"type": "string"
},
"type": "array"
},
"popularity_threshold": {
"description": "Filter to the most-popular podcasts whose popularity percentile is at least this value, in (0,1). Omit (or 0) for no popularity filter. The feed covers at most 100 podcasts total: your podcast_ids plus the most-popular podcasts above this threshold, with the least-popular trimmed to fit. Enterprise organizations are exempt from the cap when topic_ids is omitted — the threshold applies to every qualifying podcast, and they may also poll with no filter at all. Requests with topic_ids remain capped at 100 podcasts on every plan.",
"format": "double",
"type": "number"
},
"since": {
"description": "ISO 8601 date or date-time to start from when no cursor is supplied. Ignored if cursor is set.",
"type": "string"
},
"topic_ids": {
"description": "Scope the feed to one or more topics (comma-separated): each a topic slug path (e.g. sports/football/fantasy-football), ID, or ancestry-path hash. A topic also matches its descendants, and multiple topics are unioned. Only podcasts that regularly cover the topic are included — a show that merely mentions it in passing is excluded. The feed still covers at most 100 podcasts total, so combine with popularity_threshold to keep just the most popular. An unknown topic returns a 404.",
"items": {
"type": "string"
},
"type": "array"
}
},
"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": {
"cursor": {
"description": "Opaque cursor from a prior feed response. Poll again with it to receive episodes ingested since. Omit (with no since) to start from now.",
"type": "string"
},
"include": {
"description": "Heavy relations to embed in each episode (comma-separated). transcript is the dialogue transcript and requires the same access as the full transcript endpoint; segments and clips are the AI-derived sets; entities are the knowledge graph entities discussed, with the transcript lines that mention each; ads are the advertising spots detected; all means everything available at the chosen milestone. A field is only valid when its data is guaranteed at the milestone (transcript→transcribed, segments→segmented, clips, entities and ads→fully_ingested); requesting one earlier is a 422.",
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Maximum episodes per page.",
"format": "int64",
"type": "integer"
},
"milestone": {
"description": "Deliver episodes once they reach this ingestion stage. Ordered discovered < transcribed < segmented < fully_ingested.",
"enum": [
"discovered",
"transcribed",
"segmented",
"fully_ingested"
],
"type": "string"
},
"podcast_ids": {
"description": "Filter to a set of podcasts by slug or ID (comma-separated). Hard limit of 100 per request. Unknown values are ignored; if no filter matches any podcast you get a 404. Always included over popularity_threshold.",
"items": {
"type": "string"
},
"type": "array"
},
"popularity_threshold": {
"description": "Filter to the most-popular podcasts whose popularity percentile is at least this value, in (0,1). Omit (or 0) for no popularity filter. The feed covers at most 100 podcasts total: your podcast_ids plus the most-popular podcasts above this threshold, with the least-popular trimmed to fit. Enterprise organizations are exempt from the cap when topic_ids is omitted — the threshold applies to every qualifying podcast, and they may also poll with no filter at all. Requests with topic_ids remain capped at 100 podcasts on every plan.",
"format": "double",
"type": "number"
},
"since": {
"description": "ISO 8601 date or date-time to start from when no cursor is supplied. Ignored if cursor is set.",
"type": "string"
},
"topic_ids": {
"description": "Scope the feed to one or more topics (comma-separated): each a topic slug path (e.g. sports/football/fantasy-football), ID, or ancestry-path hash. A topic also matches its descendants, and multiple topics are unioned. Only podcasts that regularly cover the topic are included — a show that merely mentions it in passing is excluded. The feed still covers at most 100 podcasts total, so combine with popularity_threshold to keep just the most popular. An unknown topic returns a 404.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}