TikTok Search Music API
Scrape TikTok Search Music data with one API call. Searches TikTok's sound catalogue by keyword and returns up to thirty matching sounds per page, each with its title, artist, duration, cover art, a preview audio URL, and the number of videos using it under `post.ext.video_count`. Where TikTok knows the track on the major music stores, `post.ext.dsp_ids` carries its Apple Music, Spotify and Amazon ids, which is what makes a sound joinable to catalogue data outside TikTok. Pass `post.ext.music_id` to `/v1/tiktok/song/videos` to see the videos using a sound.
Last updated August 2026Maintained by the SocialCrawl team
Returns TikTok sounds matching a keyword, each with title, artist, duration, cover art, a preview audio URL, and how many videos use it.
Use it to size a sound trend, or to join a TikTok sound to Apple Music, Spotify and Amazon through the store ids on ext.dsp_ids.
Searching 50 platforms in parallel
What can you do with the Search Music API?
The Search Music endpoint gives you structured TikTok data with computed fields in a single request. No scraping infrastructure to build or maintain.
Example Request
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/tiktok/search/music?query=espresso"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/tiktok/search/music",
params={
'query': 'espresso',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/tiktok/search/music?query=espresso",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| query | Yes | Search keyword, matched against sound titles and creators. |
| cursor | No | Cursor from the previous response to fetch the next page of sounds. |
| sort_by | No | Result ordering: relevance (default), most-used, most-recent, shortest or longest. (relevance | most-used | most-recent | shortest | longest) |
| filter_by | No | Which field the keyword is matched against: all (default), title or creators. (all | title | creators) |
| region | No | Two-letter country code for the proxy location. Defaults to US. |
What does the TikTok Search Music API return?
Every response follows one unified schema. Here is a real, unmodified response body, so you can see the exact fields you get back before spending a credit.
Example response
{
"success": true,
"platform": "tiktok",
"endpoint": "/v1/tiktok/profile/videos",
"data": {
"items": [
{
"post": {
"id": "7658005300657638669",
"url": "https://www.tiktok.com/@charlidamelio/video/7658005300657638669",
"content": {
"text": "dc @lara.joanna ",
"media_urls": "https://v19.tiktokcdn-eu.com/4a08329b68e24d90b840a05c9244ba65/6a498c37/video/tos/alisg/tos-alisg-ve-37c799-sg/ocXRU4saOAVGYeJRAAygAjFIzOGsgRf4peSeXk/?a=1233&bti=MzU8OGYpNHYpNzo5ZjEuLjpkLTptNDQwOg%3D%3D&&bt=1135&ft=ERfCkaZWD00Q12Nvr-HxzIxRA7lGF3_45SY&mime_type=video_mp4&rc=OTg8NGkzZTQ8PDo1NmQ2O0BpanEzd205cmRlPDMzZzczNEAvNWM0NDFfNi8xMjExNF5eYSNmMGwyMmQ0LzBhLS1kMS9zcw%3D%3D&vvpl=1&l=20260703224143F66ABC3BD3A97DB0685C&btag=e000b0000",
"thumbnail_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-useast5-p-0068-tx/owxEmiGPia440JkI3PgALU3bB7aBAlzdBEsKB~tplv-tiktokx-cropcenter-q:300:400:q70.heic?dr=9232&refresh_token=bf18ce44&x-expires=1783202400&x-signature=8AANrRWOCWfS6xtQ9JJiHB77vxo%3D&t=bacd0480&ps=933b5bde&shp=d05b14bd&shcp=132edbea&idc=no1a&biz_tag=tt_video&s=PUBLISH&sc=cover",
"duration_seconds": 16.903
},
"author": {
"username": "charlidamelio",
"display_name": "charli d’amelio",
"avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/ee31de49ddf64b45c5b2e3c55fbd0ea4~tplv-tiktokx-cropcenter-q:1080:1080:q70.heic?dr=9608&idc=no1a&ps=87d6e48a&refresh_token=e0b099bd&s=PUBLISH&sc=avatar&shcp=132edbea&shp=d05b14bd&t=223449c4&x-expires=1783202400&x-signature=9SsuimlpGdsdlerisiaqvDVLV3c%3D",
"verified": true
},
"engagement": {
"views": 3417578,
"likes": 501973,
"comments": 2618,
"shares": 6304,
"saves": 22989
},
"flags": {
"nsfw": null,
"spoiler": null,
"pinned": false,
"deleted": false
},
"published_at": "2026-07-02T18:51:58.000Z",
"ext": {
"music_id": "7656080164593437471",
"published_at_epoch": 1783018318
}
},
"computed": {
"engagement_rate": 0.14949,
"language": null,
"content_category": "other",
"estimated_reach": 4101094
}
},
{
"post": {
"id": "7657606229484670221",
"url": "https://www.tiktok.com/@charlidamelio/video/7657606229484670221",
"content": {
"text": "@Alexa Davis ",
"media_urls": "https://v19.tiktokcdn-eu.com/07ada727f60ed77f8504c4c9aee6f992/6a498c31/video/tos/alisg/tos-alisg-ve-37c799-sg/oAmE41FRfIDnKlQAZjDgfcEsqFENRqYDSBGUSB/?a=1233&bti=MzU8OGYpNHYpNzo5ZjEuLjpkLTptNDQwOg%3D%3D&&bt=857&ft=ERfCkaZWD00Q12Nvr-HxzIxRA7lGF3_45SY&mime_type=video_mp4&rc=NWU8OTg2aTw6ODlpNDU1PEBpanlrNmw5cmxuPDMzZzczNEBfLTEtMy8tXzYxLzYvYTNfYSNlbGVvMmRrYC9hLS1kMS9zcw%3D%3D&vvpl=1&l=20260703224143F66ABC3BD3A97DB0685C&btag=e000b0000",
"thumbnail_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-useast5-p-0068-tx/ooZRDflKEE2SIFSfsAqgFBcFEORUAY4jBDl2Yc~tplv-tiktokx-cropcenter-q:300:400:q70.heic?dr=9232&refresh_token=0ee7ce0e&x-expires=1783202400&x-signature=DiqCJ1sMgLvKp5k1aK2lKgBm7CU%3D&t=bacd0480&ps=933b5bde&shp=d05b14bd&shcp=132edbea&idc=no1a&biz_tag=tt_video&s=PUBLISH&sc=cover",
"duration_seconds": 10.123
},
"author": {
"username": "charlidamelio",
"display_name": "charli d’amelio",
"avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/ee31de49ddf64b45c5b2e3c55fbd0ea4~tplv-tiktokx-cropcenter-q:1080:1080:q70.heic?dr=9608&idc=no1a&ps=87d6e48a&refresh_token=e0b099bd&s=PUBLISH&sc=avatar&shcp=132edbea&shp=d05b14bd&t=223449c4&x-expires=1783202400&x-signature=9SsuimlpGdsdlerisiaqvDVLV3c%3D",
"verified": true
},
"engagement": {
"views": 7205601,
"likes": 739100,
"comments": 1943,
"shares": 6268,
"saves": 28516
},
"flags": {
"nsfw": null,
"spoiler": null,
"pinned": false,
"deleted": false
},
"published_at": "2026-07-01T17:03:22.000Z",
"ext": {
"music_id": "7656080164593437471",
"published_at_epoch": 1782925402
}
},
"computed": {
"engagement_rate": 0.103713,
"language": null,
"content_category": "other",
"estimated_reach": 8646721
}
},
{
"post": {
"id": "7657287641641143565",
"url": "https://www.tiktok.com/@charlidamelio/video/7657287641641143565",
"content": {
"text": null,
"media_urls": "https://v19.tiktokcdn-eu.com/24d5a0ceaf069ce4435f27d4a1fb7fa5/6a498c2d/video/tos/alisg/tos-alisg-ve-37c799-sg/o4IuEqzEKBC3UgRghYEA5FEDZJDB2RL2JfePpS/?a=1233&bti=M0BzMzU8OGYpNzo5Zi5wIzEuLjpkNDQwOg%3D%3D&&bt=939&ft=ERfCkaZWD00Q12Nvr-HxzIxRA7lGF3_45SY&mime_type=video_mp4&rc=O2Q8M2k1Nzo7ODkzPGQ2NkBpM3VrZmo5cm01PDMzZzczNEBiYC0yLjU0XjQxNTMxX2FhYSNjZy5mMmRzYC9hLS1kMS9zcw%3D%3D&vvpl=1&l=20260703224143F66ABC3BD3A97DB0685C&btag=e000b0000",
"thumbnail_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-useast5-p-0068-tx/oEEehFBRSDqxRYEZJgMgAQpzEf2PJiDEJNI7CB~tplv-tiktokx-cropcenter-q:300:400:q70.heic?dr=9232&refresh_token=7ef5f605&x-expires=1783202400&x-signature=10x4mFTkwGHZf2I3P%2FcRrZr6vTo%3D&t=bacd0480&ps=933b5bde&shp=d05b14bd&shcp=132edbea&idc=no1a&biz_tag=tt_video&s=PUBLISH&sc=cover",
"duration_seconds": 6.467
},
"author": {
"username": "charlidamelio",
"display_name": "charli d’amelio",
"avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/ee31de49ddf64b45c5b2e3c55fbd0ea4~tplv-tiktokx-cropcenter-q:1080:1080:q70.heic?dr=9608&idc=no1a&ps=87d6e48a&refresh_token=e0b099bd&s=PUBLISH&sc=avatar&shcp=132edbea&shp=d05b14bd&t=223449c4&x-expires=1783202400&x-signature=9SsuimlpGdsdlerisiaqvDVLV3c%3D",
"verified": true
},
"engagement": {
"views": 5941789,
"likes": 941067,
"comments": 3165,
"shares": 17173,
"saves": 18760
},
"flags": {
"nsfw": null,
"spoiler": null,
"pinned": false,
"deleted": false
},
"published_at": "2026-06-30T20:27:04.000Z",
"ext": {
"music_id": "7530783142774065975",
"published_at_epoch": 1782851224
}
},
"computed": {
"engagement_rate": 0.161804,
"language": null,
"content_category": null,
"estimated_reach": 7130147
}
}
],
"next_cursor": "1782516110000",
"total": 10,
"dropped": 0
},
"credits_used": 1,
"credits_remaining": 9999,
"request_id": "req-8Kq2ZmR4vT9xLb3P",
"cached": false,
"pagination": {
"next_cursor": "sc.eyJ2IjoyLCJjIjoiMTc4MjUxNjExMDAwMCIsInAiOiJtYXhfY3Vyc29yIn0",
"has_more": true,
"page_size": 10
}
}Live sample illustrating the unified response shape. Field values reflect the record you query.
How does the TikTok Search Music API work?
Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.
Method
GET
Response
JSON
How do you scrape social media data in seconds?
The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 50 platforms covering 10B+ monthly active users.
One schema, every platform
Query 50 platforms with identical response structures. Write your integration once.
Computed fields, not just scraped
When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language. Ready to use.
See your data before you code
Visual Data Explorer. Paste any URL, get rich result cards, sortable tables, CSV export.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}Ready to scrape TikTok Search Music data?
Get your API key and start pulling TikTok data in under 60 seconds.
