# TikTok Topics API Reference

Canonical: https://monsterapi.co/docs/api/tiktok-topics

Read the TikTok Topics reference. Review parameters, response fields, examples, and current credit prices.

OpenAPI specification: [TikTok](https://monsterapi.co/docs/openapi/platforms/tiktok.yaml).

---

Current operation prices: [public catalog](https://monsterapi.co/account/api/v1/public/api-prices). Prices use credits per request.

---

# TikTok: Hashtag posts

`GET /tiktok/api/mobile/challenge/item_list`

Documentation: https://monsterapi.co/docs/api/tiktok#tiktok-publications-by-ch-id

Operation ID: `tiktok_mobile_challenge_items`

Returns publications for ch_id. Topic metadata may be absent on some records. Continue with next_cursor and the same ch_id.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `ch_id` (query, required): Required decimal (1 to 32 digits) topic identifier. Use `data.aweme_list[].cha_list[].cid` from [GET /mobile/feed](https://monsterapi.co/docs/api/tiktok-publications#tiktok-recommendations).

- `count` (query, optional): Page-size hint from 1 to 200; defaults to 10. Returned size may differ.

- `cursor` (query, optional): Optional continuation token from next_cursor of [GET /mobile/challenge/item_list](https://monsterapi.co/docs/api/tiktok-topics#tiktok-publications-by-ch-id). Pass it unchanged as cursor to this same GET path with the same filters; omit on the first page.

## Responses

- 200: Public TikTok data

- 400: Invalid subject, query value or cursor

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: Resource is private or unavailable

Refused at the gateway: the API key is unknown or revoked

- 404: Resource is absent or final page is empty

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: #/components/responses/GatewayTooManyRequests

- 500: Response structure is unavailable

- 501: Resource requires authentication

- 503: Temporary TikTok or service refusal

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/tiktok/api/mobile/challenge/item_list' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# TikTok: Topic details

`GET /tiktok/api/web/challenge/detail`

Documentation: https://monsterapi.co/docs/api/tiktok#tiktok-topic-details

Operation ID: `tiktok_web_challenge_detail`

Returns topic details using exactly one of challengeId or challengeName.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `challengeName` (query, optional): Topic name of 1 to 256 characters; exactly one of challengeName or challengeId is required.

- `challengeId` (query, optional): Decimal topic identifier; exactly one of challengeId or challengeName is required. Use `named.challenge.id` from [GET /web/challenge/detail](https://monsterapi.co/docs/api/tiktok-topics#tiktok-topic-details).

## Responses

- 200: Public TikTok data

- 400: Invalid subject, query value or cursor

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: Resource is private or unavailable

Refused at the gateway: the API key is unknown or revoked

- 404: Resource is absent or final page is empty

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: #/components/responses/GatewayTooManyRequests

- 500: Response structure is unavailable

- 501: Resource requires authentication

- 503: Temporary TikTok or service refusal

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/tiktok/api/web/challenge/detail' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# TikTok: Hashtag posts

`GET /tiktok/api/web/challenge/item_list`

Documentation: https://monsterapi.co/docs/api/tiktok#tiktok-topic-publications

Operation ID: `tiktok_web_challenge_items`

Returns publications for challengeID. Count is a page-size hint.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `challengeID` (query, required): Required decimal (1 to 32 digits) topic identifier. Use `named.challenge.id` from [GET /web/challenge/detail](https://monsterapi.co/docs/api/tiktok-topics#tiktok-topic-details).

- `count` (query, optional): Page-size hint from 1 to 200; returned size may differ.

- `cursor` (query, optional): Optional continuation token from next_cursor of [GET /web/challenge/item_list](https://monsterapi.co/docs/api/tiktok-topics#tiktok-topic-publications). Pass it unchanged as cursor to this same GET path with the same filters; omit on the first page.

## Responses

- 200: Public TikTok data

- 400: Invalid subject, query value or cursor

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: Resource is private or unavailable

Refused at the gateway: the API key is unknown or revoked

- 404: Resource is absent or final page is empty

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: #/components/responses/GatewayTooManyRequests

- 500: Response structure is unavailable

- 501: Resource requires authentication

- 503: Temporary TikTok or service refusal

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/tiktok/api/web/challenge/item_list' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```
