Introducing the Instagram APIRead more →

Apple Music Track Search API. Tracks matching your search.

Songs, music videos and radio episodes by keyword. We handle the proxies, blocks and platform changes.

Apple Music Track Search API at a glance

Searches Apple Music songs, music videos or radio episodes by keyword in any country's store and returns them a page at a time, each with its ISRC. Each also has the credited artists with their IDs, album, length, release date, composer, genres, explicit rating, audio formats, whether Apple has its lyrics, artwork and a preview clip. A radio episode has its show as author and when it aired.

GET /v1/applemusic/search_tracks

Read the API reference
  • 1 credit per page, $0.75–$1.97 per 1,000 pages
  • 22 typed fields null when unknown
  • 50 tracks per page, Apple Music's own relevance order for the query
  • query is all it needs, e.g. taylor swift

Send one request. Get up to 50 tracks 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 = taylor swift
GET /v1/applemusic/search_tracksTry in
const params = new URLSearchParams({
  query: "taylor swift",
});
const res = await fetch(`https://socialtap.dev/v1/applemusic/search_tracks?${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/applemusic/search_tracksLong arrays and strings are shortened here. Real responses are complete.Docs

One schema on 21 platforms.

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

  • Null means unknown

    A field Apple Music 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: a song's or video's title, an artist's name, an album's, or any of them together, in any language.

  • Write one parser

    Apple Music, TikTok, Instagram and 18 more platforms answer in these fields, so the code that reads one reads them all.

platformstring
Platform ID (tiktok, youtube, …).
idstring
Platform-native post ID (string; Instagram shortcode, Reddit with its t3_ prefix).
urlstring
Canonical post URL.
typestring
Normalized content shape. New values may be added; treat unknown values as other.
platform_typestring
The platform's own product label, lowercase (reel, short, story, live, tweet, …).
titlestring
Headline (YouTube title, Reddit title); null on caption-only platforms.
textstring
Caption, description or body as plain text.
languagestring
BCP-47 language of text, when the platform states it.

What teams build with the Apple Music Track Search API.

  • Turn a title and artist into an ISRC

  • Match a recording catalog against Apple Music

  • Find an artist's videos and radio appearances

Good to know before you build.

  • Results are one kind: kind asks for songs, music videos or radio episodes. Albums, artists, playlists and stations have search endpoints of their own that take the same query.
  • Results are in Apple Music's order for the query. Apple serves about 200 results per search, however many match, and the walk then ends with page.end_reason platform_limit.
  • Results differ by store: an item can be missing from one or have another language's title. platform_specific.applemusic.storefront says which store answered.
  • When Apple's catalog API fails, the first page of songs or music videos comes from its public search API and ends the walk with platform_limit: isrc, composer_name, the audio formats and the lyrics flags are null or [], and only the first artist is named (those lists in unknown_fields). That API has no radio episodes and answers only in the store's language, so a request for either fails rather than answer something else.
  • A language the store doesn't offer isn't refused: Apple answers in the store's own language, as a US search with lang=ja-JP does.
  • A radio episode's author is its show, with its name, page and picture and a null ID, because a show isn't an artist. platform_specific.applemusic.curator_id holds Apple's ID for it.
  • Apple holds some shows by that ID alone, in every store: their episodes have every author field null, and platform_specific.applemusic.long_note, where Apple writes one, is often the show's name in some form but can be something else, such as a date.
  • An empty query or an Apple Music link returns invalid_input. A link to a platform we don't cover is searched as words.

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
Platform API api1 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 Apple Music Track Search API.

More in the API reference.

Can I look up a song's ISRC by its title?
Yes. Search the title and artist, and each result has its ISRC, ready to match against other services.
How much does the Apple Music Track Search API cost?
A page of up to 50 tracks 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