80trust / 100

Podcasts Episodes

by Particle Pro in News & content

x402 APIPassing, checked 2 h ago

List episodes. Returns a paginated list of podcast episodes across all podcasts.

GET
https://api.particle.pro/v1/podcasts/episodes
Price
$0.01
per call in USDC
Uptime
100%
last 30 days
Response time
221 ms
264 ms slowest 5%
Last check
Passed
2 h ago, next any minute now

Run a free test callHow to call it

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed

How to call it

GET https://api.particle.pro/v1/podcasts/episodes

Each call costs $0.01 in USDC on Base, paid with the request over x402.

Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.

Example request

From the listing.

GET https://api.particle.pro/v1/podcasts/episodes?language=fr

Parameters

ParameterTypeRequiredDescription
company_idstringNoCompany slug (e.g., 'nvidia'), domain (e.g., 'nvidia.com'), or ID. Resolves to the company's linked entity.
cursorstringNoOpaque pagination cursor from previous response
entity_idstringNoEntity slug (e.g., 'elon-musk', 'openai') or ID. Returns episodes featuring this entity as a speaker or mentioned entity.
fully_ingestedbooleanNoOnly episodes that have reached the terminal ingestion milestone (the highest stage exposed by the episode firehose)
guest_capacitystringNoOnly episodes with 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. One of: researcher, licensed_professional, practitioner, executive_founder, public_official, journalist_analyst, creator_entertainer, athlete_coach, clergy, firsthand, layperson.
guest_fieldstringNoOnly episodes with a guest listed under this ANZSRC 2020 field of research (code, slug, or title).
guest_in_fieldbooleanNoOnly episodes with a guest speaking within their field (the guest the other guest_ filters select, when given).
guest_occupationstringNoOnly episodes with 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_cap…
guest_practicingbooleanNoOnly episodes with a guest who still works in guest_occupation, a SOC 2018 occupation or group.
guest_senioritystringNoOnly episodes with a guest at this seniority or above. One of: professional, senior, distinguished.
guest_standingstringNoOnly episodes with a guest whose standing is recognized this way. One of: established, self_described, unverified.
has_transcriptbooleanNoOnly episodes with completed transcripts
languagestringNoRestrict 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'.
limitintegerNoResults per page
max_durationintegerNoMaximum episode duration in seconds
min_durationintegerNoMinimum episode duration in seconds
person_idstringNoPerson slug (e.g., 'dick-costolo'), knowledge-graph entity slug for the same person, or ID. Returns episodes featuring this person as a speaker — works even when the speaker has no knowledge-graph entity linked. When the value itself matches a knowledge-graph entity slug (corroborated to the same p…
podcast_idstringNoPodcast slug (e.g., 'all-in'), internal ID, or numeric iTunes ID
published_afterstringNoOnly episodes published after this ISO 8601 date or date-time (e.g. 2024-01-01 or 2024-01-01T00:00:00Z)
published_beforestringNoOnly episodes published before this ISO 8601 date or date-time (e.g. 2024-01-01 or 2024-01-01T00:00:00Z)
rolestringNoEntity role filter. Constrains which episodes match the entity_id, person_id, or company_id. 'speaker' matches any speaking role (host, co-host, guest, panelist, correspondent) without including mention-only episodes. One of: guest, host, panelist, correspondent, speaker, mention.
transcript_statusstringNoFilter by where episodes stand on the way to a transcript. Omitted, the list holds the episodes we have ingested, as it always has. any, untranscribed and requestable also list the podcast's back catalogue — episodes we have discovered in its feed but not transcribed — so they require podcast_id: a… One of: any, transcribed, untranscribed, requestable.

Example response

The listing has no example response.

Call it from code

The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.01.

curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i 'https://api.particle.pro/v1/podcasts/episodes?language=fr'

# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - 'https://api.particle.pro/v1/podcasts/episodes?language=fr' \
  | grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decode
JavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// Pays at most $0.01 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.01" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.01 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.particle.pro%2Fv1%2Fpodcasts%2Fepisodes
const res = await pay("https://api.particle.pro/v1/podcasts/episodes?language=fr");
console.log(res.status, await res.text());
Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# Pays at most $0.01 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.01"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))

with x402_requests(client) as session:
    res = session.get("https://api.particle.pro/v1/podcasts/episodes?language=fr")
    print(res.status_code, res.text)

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed402234 ms$0.01
6 h agoPassed402264 ms$0.01
10 h agoPassed402271 ms$0.01
14 h agoPassed402260 ms$0.01
18 h agoPassed402196 ms$0.01
Show 10 older checks
22 h agoPassed402259 ms$0.01
26 h agoPassed402188 ms$0.01
30 h agoPassed402170 ms$0.01
33 h agoPassed402204 ms$0.01
37 h agoPassed402238 ms$0.01
40 h agoPassed402208 ms$0.01
44 h agoPassed402181 ms$0.01
47 h agoPassed402232 ms$0.01
2 days agoPassed402179 ms$0.01
2 days agoPassed402221 ms$0.01