Introducing the Instagram APIRead more →

Spotify Podcast Search API. Podcasts matching your search.

Podcasts by keyword, publisher or topic. We handle the proxies, blocks and platform changes.

Spotify Podcast Search API at a glance

Searches Spotify podcasts by keyword in any language and returns them a page at a time, in Spotify's order. Each has its ID, link, name, publisher, largest cover, whether its episodes are audio or video, and its categories. The Spotify Podcast API adds the description, rating, episode count and latest episode's date.

GET /v1/spotify/search_podcasts

Read the API reference
  • 1 credit per page, $0.75–$1.97 per 1,000 pages
  • 17 typed fields null when unknown
  • 100 podcasts per page, Spotify's own ranking for the query
  • query is all it needs, e.g. true crime

Send one request. Get up to 100 podcasts back.

Copy the request in your language, or hand it to your agent. Sign up for an API key and your first 100 credits are free.

$ npm install socialtap
query = true crime
GET /v1/spotify/search_podcastsTry in
const params = new URLSearchParams({
  query: "true crime",
});
const res = await fetch(`https://socialtap.dev/v1/spotify/search_podcasts?${params}`, {
  headers: { "x-api-key": process.env.SOCIALTAP_API_KEY ?? "" },
});
const body = await res.json();
if (!res.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
const { data, page, meta } = body;
console.log(data, meta.credits_charged);
200 OK · GET https://socialtap.dev/v1/spotify/search_podcastsLong arrays and strings are shortened here. Real responses are complete.Docs

What you send and what comes back.

The response reference lists every field, its type and when it is null. See the full schema.

  • Null means unknown

    A field Spotify doesn't show is null, never zero or an empty string, so a real zero always means zero.

  • What it accepts

    What to search for, as in Spotify's search box: a show's name, who publishes it or a topic, in any language.

  • What comes back

    Podcasts with their publisher, description, cover, rating, categories, episode count and when the latest episode came out.

platformstring
Platform ID (spotify, youtube, …).
idstring
Platform-native show ID (string), the one in its page's URL.
urlstring
Canonical show page URL.
titlestring
The show's name as the platform lists it.
descriptionstring
About the show, as plain text; null when it has none or the platform shows none.
publisher_namestring
Who publishes the show, as the platform names them; null when it does not.
publisherobject
The platform account of the publisher; null when the platform names them without an account (always on Spotify).
cover_urlstring
Cover art URL at the largest size the platform serves; null when it has none. Platform CDN URLs can expire within hours.

What teams build with the Spotify Podcast Search API.

  • Turn a show's name into its Spotify ID

  • Find podcasts on a topic in any language

  • Find shows to pitch a guest to

  • Match a list of shows against Spotify

Good to know before you build.

  • Results are podcasts only: the audiobooks, episodes, tracks and artists a query matches aren't in the list.
  • Search lists no description, rating, episode count, latest episode date, order or explicit flag, so those are null: the Spotify Podcast API returns them.
  • Spotify drops a show's categories from some answers to identical requests, so an empty categories listed in unknown_fields doesn't mean the show has none, and asking again can fill it.
  • Results are in Spotify's order, which depends on the page size, so a smaller limit isn't always the top of a larger one. A walk ends with page.end_reason platform_limit where Spotify stops serving, however many shows it matched.
  • Spotify can repeat a show on a later page. One from the page before is dropped, so a page can hold fewer shows than its limit while next_cursor goes on, and one from further back can appear twice in a walk.
  • Spotify answers a weak query with its nearest guesses, so an empty page is rare and any result may be a loose match.
  • When Spotify's search doesn't answer, the first pages come from a web search engine's index, each show read from Spotify, with a partial_data warning, Spotify's filters are read as plain words, and media_type and categories are unknown. That list holds only what the index has, often a small part of Spotify's, in the engine's order. A next_cursor stays on the list it came from: if Spotify's search stops answering mid-walk, the next page fails with a retryable error instead of switching lists.
  • An empty query, a Spotify URI or a link to a Spotify page returns invalid_input, naming the endpoint that takes it where there is one. For a link to Spotify's search page, send its words instead.

1 credit per page. Failed requests are free.

Buy credits once and spend them on any endpoint, on any platform.

SourcePrice per successful pagePer 1,000 pages
Any source1 credit$0.75–$1.97
  • Cache hits are free.
  • Credits from packs and top-ups never expire.
  • A monthly plan's credits are spent first, and what is left of them ends at each renewal.
  • Prices exclude tax: sales tax is added at checkout where it applies.
  • Outside the US, plans and packs are sold to businesses: checkout asks for your VAT, GST or other business tax ID.

Questions about the Spotify Podcast Search API.

More in the API reference.

How much does the Spotify Podcast Search API cost?
A page of up to 100 podcasts costs 1 credit. Every successful page is charged, empty pages included. SocialTap credits cost $0.75–$1.97 per 1,000, depending on the plan or pack.
How do I get the next page?
Repeat the same request with cursor set to page.next_cursor from the previous response, keeping the other parameters. When page.has_more is false there are no more pages. Cursors expire after 24 hours.

Try it with your own search.

Type it in the playground, or copy the request into your code.

100free credits
  • No credit card
  • Failed requests are free
  • Works on all 218 endpoints
Start for free Read the docs