## tiktok/search-music

`GET /v1/tiktok/search-music`

TikTok sounds matching a keyword: title, artist, duration, cover, a preview URL and how many videos use each.

*TikTok sound search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | Search words — e.g. `espresso` |
| `limit` | no | Sounds per page, up to 20 — e.g. `20` |
| `cursor` | no | Page cursor from the previous answer |
| `region` | no | Two-letter region — e.g. `US` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. — e.g. `1` |

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/tiktok/search-music?query=espresso" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "cursor": null,
  "dropped": 0,
  "has_more": false,
  "items": [
    {
      "album": "example",
      "artists": [
        "example"
      ],
      "author": "example",
      "commercial": false,
      "cover": "example",
      "duration_seconds": 0,
      "id": "example",
      "is_original": false,
      "owner_handle": "example",
      "platform": "example",
      "play_url": "https://example.com/example",
      "title": "example",
      "url": "https://example.com/example",
      "video_count": 0
    }
  ],
  "query": "example",
  "region": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/tiktok/search-music#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/tiktok/search-music.json)
