Instagram audio search API
Find the songs and original sounds Instagram creators use. Search by keyword and get each one's audio id, title, artist, length, cover art and trending flag.
GET /v2/instagram/audio/search1 credit Failed requests are free
About this endpoint
GET /v2/instagram/audio/search takes a required query string and returns matching audio in Instagram's ranking, licensed music and original sounds mixed. Read data.audio. Each result has id, title, artist, artistHandle, durationMs, isOriginal, isExplicit, reelCount, isTrending, coverUrl, previewUrl, spotifyUrl and hasLyrics, always present and null when Instagram doesn't say. hasLyrics is set for licensed music and null for original sounds; previewUrl and spotifyUrl are often null in search results.
Pass a result's id as audioId to GET /v2/instagram/audio/{audioId} for its full details, or to GET /v2/instagram/audio/{audioId}/media for the Reels that use it. An id can occasionally resolve to not_found there; then try the result's assetId as the audioId. reelCount is an exact count or null: search only has a rounded figure for popular audio, so use the audio endpoint for the count. artistHandle is set for original sounds and null for licensed music in search results. Instagram returns one ranked set per query, so there is no cursor. meta.version is v2.
Instagram audio search API FAQ
How do I search Instagram audio via API?
Call GET /v2/instagram/audio/search with your Social Fetch API key (x-api-key) and a required query parameter. Read data.audio in the JSON response. See the API docs for parameters and examples.
How much does Instagram audio search cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.
How do I get the Reels that use a track I found?
Pass the result's id as the path parameter of GET /v2/instagram/audio/{audioId}/media. That route pages the public Reels using the audio and returns the audio itself on its first page.
Why is reelCount null for popular audio?
Search only knows a rounded figure for audio used in a thousand or more Reels (such as 2.5M), and a rounded figure isn't a count, so it is null. Audio with fewer Reels has an exact reelCount. GET /v2/instagram/audio/{audioId} always has the exact count.
Does it return licensed music and original sounds?
Both. isOriginal is true for an original sound (artistHandle is the account behind it) and false for licensed music. Original sounds have no cover art, so coverUrl is null.
Is there pagination?
No. Instagram returns one ranked set of audio per query and does not page it, so a cursor is a 400 bad_request. Change the query to see other audio.
Why does an unusual query still return audio?
Instagram matches audio loosely, so a query with no obvious match still returns its nearest results. Compare title and artist with what you searched for before using a result.
Other Instagram endpoints
- ProfileGET /v2/instagram/profiles/{profile}
- Profile mediaGET /v2/instagram/profiles/{profile}/media
- Profile highlightsGET /v2/instagram/profiles/{profile}/highlights
- Profile storiesGET /v2/instagram/profiles/{profile}/stories
- Profile followingGET /v2/instagram/profiles/{profile}/following
- HighlightGET /v2/instagram/highlights/{highlightId}
- Profile engagementGET /v2/instagram/profiles/{profile}/engagement
- Search reelsGET /v2/instagram/reels/search