# TikTok Ads API guide



## Choose a TikTok Ads operation



Start with the object your task needs. The groups below use the current catalogue; open an endpoint to check accepted identifiers, filters, price and availability before retrieving.



### Other operations



- [Ad details](https://www.monocrawl.com/docs/endpoints/tiktok_ads/ad) — One TikTok ad from the creative center: title, advertiser account, objective, landing page, engagement metrics and video where disclosed.



### Search and discovery



- [Ad search](https://www.monocrawl.com/docs/endpoints/tiktok_ads/search) — Search TikTok's public Ads Library by keyword or advertiser: ad id, advertiser, run dates, audience and spend bands, creative media. Paged by cursor.



## Check fields and collection limits



Use the endpoint’s declared parameters and returned continuation. Filters from another platform do not automatically apply here. Preserve source identifiers, URLs and warnings; a successful page does not establish complete history. Published response schemas identify whether they come from a reviewed shaper or observed response shapes.



Agents can use `get_endpoint` for the current contract and `get_docs` with topic `platforms/tiktok_ads` to read this page. The [coverage guide](https://www.monocrawl.com/docs/data-availability) explains nulls and partial results, and the [production guide](https://www.monocrawl.com/docs/production-checklist) covers budgets and recovery.



## Endpoint reference

## tiktok_ads/ad

`GET /v1/tiktok_ads/ad`

One TikTok ad from the creative center: title, advertiser account, objective, landing page, engagement metrics and video where disclosed.

*Ad details*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | Ad id from tiktok_ads/search. — e.g. `1874784102494897` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 4 credits 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_ads/ad?id=1874784102494897" \
  -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
{
  "account": {
    "followers": "example",
    "handle": "example",
    "name": "example",
    "url": "https://example.com/example"
  },
  "advertiser": "example",
  "engagement": {
    "favorites": 0
  },
  "first_shown": "example",
  "id": "example",
  "is_unavailable": false,
  "keywords": [],
  "landing_page": "example",
  "last_shown": "example",
  "objective": "example",
  "platform": "example",
  "title": "example",
  "video": {
    "cover": "example"
  }
}
```

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


## tiktok_ads/search

`GET /v1/tiktok_ads/search`

Search TikTok's public Ads Library by keyword or advertiser: ad id, advertiser, run dates, audience and spend bands, creative media. Paged by cursor.

*Ad search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | Keyword (or pass advertiser for advertiser-specific results). — e.g. `gymshark` |
| `advertiser` | no | Advertiser name — resolved through TikTok typeahead first. — e.g. `Gymshark` |
| `cursor` | no | Opaque cursor from the previous page. |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 4 credits 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_ads/search?query=gymshark" \
  -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
{
  "cursor": null,
  "dropped": 0,
  "has_more": false,
  "items": [
    {
      "advertiser": "example",
      "estimated_audience": "example",
      "first_shown": "example",
      "id": "example",
      "images": [],
      "impressions": "example",
      "last_shown": "example",
      "platform": "example",
      "title": "example",
      "url": "https://example.com/example",
      "videos": [
        {}
      ]
    }
  ]
}
```

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

