Api Endpoint

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.

Open interactive test console

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"
}