For the complete documentation index, see llms.txt. This page is also available as Markdown.

TikTok

TikTok: users, posts, comments, hashtags, and search. All endpoints are read-only GET requests and return public TikTok data — no account of your own is required.

Base URL: https://api.pullbay.com/

Endpoints

Endpoint
Description
Pagination

GET /tiktok/user/handle/{username}

Get a user by handle

—

GET /tiktok/user/{id}/posts

Get posts published by a user

Cursor / maxItems

GET /tiktok/post/{id}

Get a post by ID

—

GET /tiktok/post

Get a post by URL

—

GET /tiktok/post/{id}/comments

Get comments on a post

Cursor / maxItems

GET /tiktok/post/{id}/comments/{commentId}/replies

Get replies to a comment

Cursor / maxItems

GET /tiktok/post/search

Search TikTok posts by keyword

Cursor / maxItems

GET /tiktok/hashtag/handle/{name}

Get a hashtag by name

—


Users

Get User by Handle

Returns a TikTok user profile by handle (without @).

Request

Parameters

Parameter
Type
Required
Description

username

string

Yes

TikTok handle without @ (e.g. tiktok), 1–100 characters

Example

Response

Credit cost: dynamic, returned in pricing.creditsCharged.

Get User's Posts

Returns posts published by a TikTok user. Use cursor to paginate or maxItems for a one-shot bulk pull (mutually exclusive). region may bias results toward a specific country (e.g. US).

Request

Parameters

Parameter
Type
Required
Description

id

string

Yes

TikTok user ID, 1–100 characters

region

string

No

2–5 character region/country code to bias results (e.g. US)

cursor

string

One of cursor/maxItems

Pagination cursor returned by a previous call

maxItems

integer

One of cursor/maxItems

One-shot bulk pull, 1–200 results

Example

Response

Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of posts returned, not the number of requests.


Posts

Get Post by ID

Returns a single TikTok post by its numeric ID.

Note: there are two ways to fetch a single post — by numeric ID (this endpoint) or by full URL (GET /tiktok/post, below). Use whichever you already have on hand; both return the same TiktokPost object.

Request

Parameters

Parameter
Type
Required
Description

id

string

Yes

Numeric TikTok post ID, 1–50 characters

region

string

No

2–5 character region/country code

Example

Response

Credit cost: dynamic, returned in pricing.creditsCharged.

Get Post by URL

Returns a single TikTok post by its full URL.

Note: this is the second of the two ways to fetch a single post — see Get Post by ID above. Handy if you scraped a link off TikTok and never extracted the numeric ID.

Request

Parameters

Parameter
Type
Required
Description

url

string

Yes

Full TikTok post URL, 1–2048 characters (e.g. https://www.tiktok.com/@tiktok/video/7636131611674692894)

Example

Response

Credit cost: dynamic, returned in pricing.creditsCharged.


Comments

Get Post Comments

Returns comments on a TikTok post. Use cursor to paginate or maxItems for a one-shot bulk pull (mutually exclusive).

Request

Parameters

Parameter
Type
Required
Description

id

string

Yes

TikTok post ID, 1–100 characters

cursor

string

One of cursor/maxItems

Pagination cursor returned by a previous call

maxItems

integer

One of cursor/maxItems

One-shot bulk pull, 1–500 results

Example

Response

Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of comments returned, not the number of requests.

Get Comment Replies

Returns replies to a specific TikTok comment. Use cursor to paginate or maxItems for a one-shot bulk pull (mutually exclusive).

Request

Parameters

Parameter
Type
Required
Description

id

string

Yes

TikTok post ID, 1–100 characters

commentId

string

Yes

ID of the parent comment, 1–100 characters

cursor

string

One of cursor/maxItems

Pagination cursor returned by a previous call

maxItems

integer

One of cursor/maxItems

One-shot bulk pull, 1–500 results

Example

Response

Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of replies returned, not the number of requests.


Search Posts

Search TikTok posts by keyword. Use cursor to paginate or maxItems for a one-shot bulk pull (mutually exclusive).

Request

Parameters

Parameter
Type
Required
Description

keyword

string

Yes

Search term, 1–100 characters

region

string

No

2–5 character region/country code to bias results

dateRange

string

No

Restricts results to a date range

sortType

string

No

Sort order for results

cursor

string

One of cursor/maxItems

Pagination cursor returned by a previous call

maxItems

integer

One of cursor/maxItems

One-shot bulk pull, 1–200 results

Example

Response

Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of results returned, not the number of requests.

Get Hashtag by Name

Returns a TikTok hashtag profile by name (without #).

Request

Parameters

Parameter
Type
Required
Description

name

string

Yes

Hashtag name without # (e.g. fyp), 1–100 characters

Example

Response

Credit cost: dynamic, returned in pricing.creditsCharged.


Object schemas

User object (TiktokUser)

Field
Type
Description

id

string

TikTok user ID

username

string

TikTok handle (without @)

nickname

string

Display name

url

string

Profile URL

bio

string

Bio text

bioUrl

string

Link in bio

avatar

string

Avatar image URL

verified

boolean

Whether the account is verified

profileCategory

string

Profile category, if set

followers

integer

Follower count

following

integer

Following count

likes

integer

Total likes received across all posts

videos

integer

Total number of posts

Post object (TiktokPost)

Field
Type
Description

id

string

TikTok post ID

title

string

Post caption/title

postPage

string

URL of the post

uploadedAt

integer

Upload time, Unix timestamp in seconds

uploadedAtFormatted

string (date-time)

Upload time, ISO 8601

views

integer

View count

likes

integer

Like count

comments

integer

Comment count

shares

integer

Share count

bookmarks

integer

Bookmark (save) count

poi

object, nullable

Point-of-interest tag, if present

channel

object

Post author — see Post Channel object below

collabInfo

object

Collaborator info, if the post is a collab

video

object

Video asset details (URLs, resolution, duration)

song

object

Sound/music details

hashtags

array

Hashtags used in the post

subtitleInformation

array

Available subtitle/caption tracks

Post Channel object (TiktokPostChannel)

Lightweight author reference embedded in TiktokPost.channel.

Field
Type
Description

id

string

TikTok user ID

username

string

TikTok handle (without @)

name

string

Display name

bio

string

Bio text

avatar

string

Avatar image URL

Comment object (TiktokComment)

Used for both top-level comments and replies.

Field
Type
Description

id

string

Comment ID

parentId

string

Parent comment ID — present only on replies

awemeId

string

ID of the post the comment was made on

text

string

Comment text

createdAt

string (date-time)

When the comment was posted

likeCount

integer

Like count

replyCount

integer

Number of replies — present only on top-level comments

commentLanguage

string

Detected language code

isAuthorLiked

boolean

Whether the post author liked this comment

user

object

Commenter info (id, username, nickname, avatar, verified)

Hashtag object (TiktokHashtag)

Field
Type
Description

id

string

Hashtag ID

name

string

Hashtag name (without #)

views

integer

Total view count across all posts using the hashtag


Errors

All non-2xx responses share the same envelope:

Status
Meaning

400

Bad request — missing/invalid parameters

402

Insufficient credits

404

User, post, comment, or hashtag not found

Two Ways to Fetch a Post

If you already have a numeric post ID, use GET /tiktok/post/{id}. If you only have a TikTok link (e.g. copied from the app or scraped off the web), use GET /tiktok/post?url=... instead — both return the same TiktokPost object, so you don't need to parse the ID out of the URL yourself.

Pagination Notes

  • All four list endpoints (user posts, post comments, comment replies, post search) accept cursor and maxItems as mutually exclusive pagination strategies — pass cursor from a previous response to continue, or maxItems to pull a fixed batch in one call.

  • pagination.cursor and pagination.hasNextPage in the response indicate whether more results are available.

  • Single-item lookups (user by handle, post by ID/URL, hashtag by name) are never paginated.

Finding User, Post, and Hashtag IDs

  • User ID: returned as id from GET /tiktok/user/handle/{username}; required to fetch a user's posts.

  • Post ID: the long numeric segment in a TikTok video URL, e.g. https://www.tiktok.com/@tiktok/video/7636131611674692894 → 7636131611674692894. Alternatively, pass the full URL to GET /tiktok/post.

  • Hashtag name: the text after # in a TikTok hashtag page, without the # (e.g. fyp).

Last updated