---
title: "Search Apple Podcasts shows dataset"
method: GET
path: "/datasets/apple-podcasts-shows/search"
tags: ["Datasets"]
---

# Search Apple Podcasts shows dataset

`GET /datasets/apple-podcasts-shows/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/datasets/apple-podcasts-shows/search`
- Auth: API key in header `x-api-key`

Searches the crawled public Apple Podcasts show catalog stored in a search index. One row per show. Discovered from a country x genre x collection chart grid and a search-term sweep — not a full catalog of every Apple Podcasts show. Sort enum: `relevance`, `popularity`, `track_count_desc`, `release_desc`, `title_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).

## Query parameters

- `q` string
- `genre` string
- `genre_id` string
- `country` string
- `explicitness` string
- `run_id` string
- `min_track_count` integer
- `sort` 'relevance' | 'popularity' | 'track_count_desc' | 'release_desc' | 'title_asc'
- `page` integer
- `page_size` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- DatasetsApplePodcastsShowsSearchResponseDoc
  - `code` integer
  - `data` DatasetsApplePodcastsShowsSearchResponse
    - `dataset` string
    - `items` EsApplePodcastsShowRecord[]
      - `artist_id` integer
      - `artist_name` string
      - `artist_url` string
      - `artwork_url_600` string
      - `collection_explicitness` string
      - `collection_name` string
      - `content_advisory_rating` string
      - `country` string
      - `crawled_at` string
      - `currency` string
      - `discovery_collection` string
      - `discovery_country` string
      - `discovery_genre_id` integer
      - `discovery_source` string: DiscoverySource is "chart", "search" (show-search term sweep), or "episode_search" (episode-search term sweep, M6 — the parent show of a matching episode). DiscoveryCountry/DiscoveryGenreID/DiscoveryCollection record which chart grid cell first surfaced this show (empty genre id/collection for either search-sweep source).
      - `feed_url` string
      - `genre_ids` string[]
      - `genres` string[]
      - `id` integer
      - `primary_genre_name` string
      - `quality_checked_at` string
      - `quality_reason` string
      - `quality_state` string: Quality* records the terminal/backfill state without changing the last known crawl snapshot. It is populated only for the targeted repair flow.
      - `release_date` string
      - `run_id` string
      - `schema_version` integer
      - `seed_rank` integer
      - `track_count` integer: TrackCount is the episode count as reported by the iTunes lookup at crawl time.
      - `url` string
    - `page` integer
    - `page_size` integer
    - `sort` string
    - `total` integer
  - `msg` string

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/028417aa35bb?raw)
