> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/tiktok/songs>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/tiktok/songs.mdx>

---

# TikTok Song API

Look up a public TikTok song or sound by id and get title, author, audio and cover URLs, duration, and usage count in the shared Social Fetch envelope.

`GET /v1/tiktok/songs` takes a required `id` query param (TikTok song or sound id). Use the trailing id from a music page URL, or `music.id` from a `GET /v1/tiktok/videos` lookup. On a found response you get `data.song` with `id`, `title`, `author`, optional `album`, `playUrl`, `coverUrl`, `durationSec`, `videoCount`, `isOriginal`, `isArtist`, and `shareUrl`. Branch on `data.lookupStatus` (`found` / `not_found`) before you write rows — HTTP 200 alone does not mean the sound resolved.

Bill from `meta.creditsCharged`. This route is single-sound metadata. To page videos that use a clip, use `GET /v1/tiktok/music/{clipId}/videos` on the same TikTok hub and API key.

## Request

- **Endpoint:** `GET /v1/tiktok/songs`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by song id
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/tiktok/songs/get)
- **Platform page:** [/platforms/tiktok](https://www.socialfetch.dev/platforms/tiktok)

## FAQ

### How do I get TikTok song or sound details via API?

Call `GET /v1/tiktok/songs` with your Social Fetch API key (`x-api-key`) and a song or sound `id` query param. Read `data.lookupStatus`, then `data.song`. See the API docs for parameters and examples.

### How much does the TikTok Song API 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.

### Where do I get the TikTok song id?

Take the trailing id from a public TikTok music page URL, or read `music.id` from a video lookup on `GET /v1/tiktok/videos`. Pass that value as the `id` query param on this route.

### What does the TikTok song response include?

When found: `data.song` with `id`, `title`, `author`, optional `album`, `playUrl`, `coverUrl`, `durationSec`, `videoCount`, `isOriginal`, `isArtist`, and `shareUrl`. Always branch on `data.lookupStatus` first.

### Does a completed lookup always mean the song was found?

No. HTTP 200 means the request finished. Check `data.lookupStatus`: `found` means you got song details; `not_found` means the id did not resolve. Persist `meta.requestId` when you need to debug a miss.

### TikTok song vs music videos list?

This route returns metadata for one sound by id. `GET /v1/tiktok/music/{clipId}/videos` pages public videos that use a clip. Resolve the sound here first, then list usage when you need the video set.

### Do I need TikTok OAuth to look up a song?

No. You authenticate to Social Fetch with an API key. The route reads public sound data; it does not act on behalf of a logged-in TikTok user.
