Skip to main content
GET
/
v1
/
podcasts
/
search
Search podcasts by content
curl --request GET \
  --url https://api.particle.pro/v1/podcasts/search \
  --header 'X-API-Key: <api-key>'
{
  "data": [
    {
      "episode": {
        "id": "<string>",
        "title": "<string>",
        "podcast": {
          "id": "<string>",
          "title": "<string>",
          "image_url": "<string>",
          "slug": "<string>"
        },
        "published_at": "2023-11-07T05:31:56Z"
      },
      "match": {
        "source": "<string>",
        "relevance_score": 123
      },
      "segment": {
        "duration_seconds": 123,
        "end_seconds": 123,
        "id": "<string>",
        "number": 123,
        "start_seconds": 123,
        "title": "<string>",
        "type": "<string>",
        "audio_url": "<string>",
        "description": "<string>",
        "episode": {
          "id": "<string>",
          "title": "<string>",
          "podcast": {
            "id": "<string>",
            "title": "<string>",
            "image_url": "<string>",
            "slug": "<string>"
          },
          "published_at": "2023-11-07T05:31:56Z"
        },
        "summary": "<string>"
      },
      "windows": [
        {
          "end_seconds": 123,
          "lines": [
            {
              "end_seconds": 123,
              "number": 123,
              "speaker": "<string>",
              "start_seconds": 123,
              "text": "<string>",
              "is_match": true,
              "is_mention": true,
              "role": "<string>"
            }
          ],
          "start_seconds": 123,
          "is_preview": true
        }
      ],
      "clips": [
        {
          "duration_seconds": 123,
          "end_seconds": 123,
          "engagement_score": 123,
          "id": "<string>",
          "start_seconds": 123,
          "title": "<string>",
          "audio_url": "<string>",
          "description": "<string>",
          "episode": {
            "id": "<string>",
            "title": "<string>",
            "podcast": {
              "id": "<string>",
              "title": "<string>",
              "image_url": "<string>",
              "slug": "<string>"
            },
            "published_at": "2023-11-07T05:31:56Z"
          },
          "intro_statement": "<string>",
          "segment": {
            "id": "<string>",
            "title": "<string>",
            "type": "<string>"
          },
          "speaker": {
            "name": "<string>",
            "entity": {
              "id": "<string>",
              "name": "<string>",
              "slug": "<string>",
              "company": {
                "id": "<string>",
                "domain": "<string>",
                "ticker": "<string>"
              },
              "description": "<string>",
              "person": {
                "id": "<string>",
                "company": "<string>",
                "image_url": "<string>",
                "title": "<string>"
              },
              "wikipedia_url": "<string>"
            },
            "role": "<string>"
          },
          "type": "SPICY"
        }
      ]
    }
  ],
  "has_more": true,
  "cursor": "<string>",
  "entity": {
    "id": "<string>",
    "name": "<string>",
    "slug": "<string>",
    "company": {
      "id": "<string>",
      "domain": "<string>",
      "ticker": "<string>"
    },
    "description": "<string>",
    "person": {
      "id": "<string>",
      "company": "<string>",
      "image_url": "<string>",
      "title": "<string>"
    },
    "wikipedia_url": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.particle.pro/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-API-Key
string
header
required

Pass your API key in the X-API-Key header (recommended).

Query Parameters

Vector-similarity search by meaning. Express the query the way you'd describe the topic to a colleague — paraphrase tolerant, finds segments that express the same idea in different vocabulary. Combine with keyword_search for hybrid ranking.

Maximum string length: 500

BM25 lexical search over dialogue. Use when an exact token must appear verbatim — tickers, drug names, product codes.

Maximum string length: 500
entity_id
string

Optional entity slug or ID. Filters results to episodes featuring this entity. For 'every line about X', use /v1/podcasts/mentions instead.

company_id
string

Optional company slug, domain, or ID. Resolves to the company's linked entity and applies as a filter.

episode_id
string

Filter to a specific episode.

podcast_id
string

Podcast slug or ID.

type
enum<string>

Segment type filter.

Available options:
INTRO,
PERSONAL_BANTER,
TOPIC_DISCUSSION,
INTERVIEW,
TRANSITION,
AD,
OUTRO
role
enum<string>

Speaker/mention role filter on the entity_id / company_id filter.

Available options:
guest,
host,
panelist,
correspondent,
mention
since
string

Only segments from episodes published after this date.

Example:

"2024-01-01"

until
string

Only segments from episodes published before this date.

Example:

"2024-06-01"

sort
enum<string>

Sort order. Defaults to relevance.

Available options:
relevance,
recency
limit
integer<int64>
default:25

Results per page (1-100, default 25).

Required range: 1 <= x <= 100
cursor
string

Opaque cursor from a previous response.

Response

OK

data
object[] | null
required

Matches on this page, ranked by relevance (default) or recency

has_more
boolean
required

More results available

cursor
string

Opaque cursor; pass back as ?cursor= for the next page

entity
object

Resolved entity, when entity_id or company_id filtered the result set