Audio trend tracking
Fetch public posts using a known sound id and monitor how the creative format spreads.
Instagram sound posts API
Fetch public Instagram posts and reels that use a known sound id, with platform-native post fields on each item.
Input: Sound id. Returns: a page of results with a cursor for the next, in Instagram's own field names. Price: 1 credit per call; failed reads are free.
GET /v1/instagram/sound/posts
See it in action
Call sound search first when you need a sound id, then pass that id here to fetch posts using the audio.
Start from a valid shape, then replace the sample value with your public target.
Selected sound_id=627330822815460
Open
Use a server-side key and send parameters as query values.
https://api.sourcevine.io/v1/instagram/sound/posts curl -G 'https://api.sourcevine.io/v1/instagram/sound/posts' \
-H 'Authorization: Bearer sv_live_...' \
--data-urlencode 'sound_id=627330822815460' \
--data-urlencode 'limit=20' const params = new URLSearchParams({
"sound_id": "627330822815460",
"limit": "20",
});
const res = await fetch('https://api.sourcevine.io/v1/instagram/sound/posts?' + params, {
headers: { Authorization: 'Bearer sv_live_...' },
});
const body = await res.json();
console.log(body.data); import requests
r = requests.get(
"https://api.sourcevine.io/v1/instagram/sound/posts",
params={"sound_id": "627330822815460", "limit": "20"},
headers={"Authorization": "Bearer sv_live_..."},
)
body = r.json()
print(body["data"]) Every success includes availability, a fetch timestamp and billing context.
Hit Show sample response to see the response.
An illustrative response. This endpoint has no verified capture yet.
{
"success": true,
"available": true,
"data": {
"items": [
{
"postId": "C3xk9QLpQ2v",
"caption": "A small studio reset before the next launch.",
"views": 84210,
"likes": 11840,
"comments": 642,
"saves": 2309,
"cached": false
},
{
"postId": "C3xk9QLpQ2w",
"caption": "Packaging test reel.",
"views": 64218,
"likes": 8921,
"comments": 201,
"saves": 1402,
"cached": false
}
],
"nextCursor": "20",
"fetchedAt": "2026-08-28T09:41:44Z",
"cached": false,
"cacheAgeSeconds": 0
}
} Ship it anywhere
We build and maintain theseFirst-party surfaces, versioned with the API.
Works anywhere that can make an HTTP requestNo plugin to install, and none to wait for.
Response
Each response includes typed availability, a fetch timestamp, and only the public fields this API promises.
| Field | Type | Meaning |
|---|---|---|
| items | array | Public Instagram posts or reels using the sound id. |
| items[].postId | string | Platform post or reel id. |
| items[].caption | string | null | Public text after contact-detail scrubbing. |
| items[].views | integer | null | Present only where the platform reports it. |
| nextCursor | string | null | Pass as cursor to request the next page. |
| fetchedAt | ISO datetime | When Sourcevine read the public page. |
| sourceTimestamp | ISO datetime | null | The platform timestamp when it is available. |
| cached | boolean | True when this answer repeats an identical request made moments earlier. |
| cacheAgeSeconds | integer | Seconds since the reading was taken. |
Request flow
Send sound_id. The endpoint validates missing parameters before fetching data.
A missing parameter is refused before any fetch, and not charged.
The public data is read when you call. An identical request moments earlier is answered again, free.
Deleted, private and unsupported resources return explicit statuses, so clients can stop retrying facts about the world.
Instagram names stay intact, so your code reads fullName instead of reverse-engineering a generic schema.
fetchedAtcreditsChargedavailableEvery response carries fetchedAt and the platform timestamp, so you know how old a reading is before you act on it. Instagram Sound Posts API fits recurring sound posts checks in dashboards, spreadsheets, workflows and agents.
Boundaries
Bios, email addresses, phone numbers, postal addresses and messenger handles are outside the response contract.
Private accounts, restricted content and unavailable resources return typed availability instead of guessed data.
This endpoint starts from a known sound id. Use sound search first when you only have a keyword or title.
Use cases
Fetch public posts using a known sound id and monitor how the creative format spreads.
Find accounts already participating in a sound trend before outreach.
Collect public posts tied to the sound used in a paid or organic campaign.
Feed sound-linked posts into review, reporting or enrichment pipelines.
Pricing
The response and X-Credits-Charged header tell you what
happened, including when it is zero.
Charged1 credit
Not charged0 credits
FAQ
Fetch public Instagram posts and reels that use a known sound id, with platform-native post fields on each item.
A call costs 1 credit, including an empty result. Retrieval failures are not charged.
The request returns available=false with a typed availability status. Not-found and private results are charged like any lookup; unsupported URLs and retrieval failures are not.
No. Bios, emails, phone numbers, postal addresses and private or restricted content are outside the public response contract.
No. Your integration authenticates with a Sourcevine API key. You do not need to supply Instagram credentials or a session.