---
title: "Search TikTok music"
method: GET
path: "/uploadposts/tiktok/music/search"
tags: ["Platform Integration"]
---

# Search TikTok music

`GET /uploadposts/tiktok/music/search`

Search the Commercial Music Library by song title or artist. TikTok has **no** music search endpoint, so this searches the trending charts Upload-Post caches per genre/country/period, not TikTok's whole catalogue: a song that is not trending in the chart you query will not be found. Matching is case- and accent-insensitive and every word must match.

## Query parameters

- `profile` string, required
- `q` string
- `genre` string
- `country_code` string
- `date_range` '1DAY' | '7DAY' | '30DAY' | '90DAY'
- `limit` integer

## Response `200`

Matching tracks, ranked by relevance.

- object
  - `success` boolean
  - `query` string
  - `genre` string
  - `country_code` string
  - `date_range` string
  - `limit` integer
  - `total` integer — How many tracks matched before `limit` was applied.
  - `tracks` TikTokMusicTrack[]
    - `id` string — Send this as `tiktok_music_id` on an upload. NOT `commercial_music_id`: TikTok rejects that one on public posts.
    - `commercial_music_id` string — TikTok's catalogue id for the same track. Returned for reference only.
    - `title` string
    - `artist` string
    - `duration` number — Track duration in seconds.
    - `genres` string[]
    - `cover_url` string — Artwork image URL.
    - `preview_url` string — Audio preview URL.
    - `rank` integer — Position in TikTok's trending chart for the requested filters.
  - `catalog` object — What the search actually ran against, so you can tell "no results" apart from "the cache is still warming up".
    - `tracks_indexed` integer
    - `genres_indexed` string[]
    - `cached` boolean

## Other responses

- `400` — The profile has no TikTok connection able to serve this endpoint. Reconnecting the TikTok account from Manage Users enables it.
- `401` — Unauthorized — Invalid or expired token.
- `409` — The TikTok token expired and could not be refreshed; the account must be reconnected.
- `502` — TikTok rejected the request. Its message is returned verbatim.

## Changes

- **2026-08-31** `f3ef68b64fbc` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/upload-post/apis/upload-post-api/changes/uploadposts/tiktok/music/search/get.md)

---

[API](https://skmtc.dev/upload-post/apis/upload-post-api.md) · [All operations](https://skmtc.dev/upload-post/apis/upload-post-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/upload-post/upload-post-api/revisions/f3ef68b64fbc/schema)
