TikTok
The Pullbay TikTok API provides programmatic access to public TikTok data — user profiles, posts, comments, replies, hashtags, and keyword search. Integrate TikTok monitoring into your applications, dashboards, and analytics pipelines without scraping or maintaining your own TikTok session.
Base URL: https://api.pullbay.com
Overview
The TikTok service lets you:
Look up a user profile by handle
Fetch the posts published by a given user
Fetch a single post by its numeric ID or by its full URL
Fetch comments on a post, and replies to a specific comment
Search posts by keyword
Look up a hashtag profile by name
All endpoints are read-only GET requests against public TikTok data — you don't need a TikTok account of your own.
Common Use Cases
Trend Research — Use Search Posts with a keyword to see what's circulating right now, then pull engagement metrics (views, likes, shares) to gauge how a trend is performing.
Hashtag & Campaign Tracking — Use Get Hashtag by Name to monitor total view counts on a branded or campaign hashtag over time.
Creator & Competitor Analysis — Use Get User by Handle and Get User's Posts to track a creator's or competitor's posting cadence, follower growth, and per-post performance.
Conversation & Sentiment Monitoring — Use Get Post Comments and Get Comment Replies to pull the conversation under a post and feed comment text into your own sentiment-analysis or moderation pipeline.
Content Archiving & Reporting — Resolve posts by ID or by URL to attach canonical TikTok metadata (caption, stats, channel) to internal reports or dashboards.
Endpoints
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/{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
Cursor / maxItems
GET /tiktok/post
Get a post by URL
—
GET /tiktok/hashtag/handle/{name}
Get a hashtag by name
—
Get User by Handle
Returns a TikTok user profile by handle (without @).
Request
Parameters
username
string
Yes
—
TikTok handle without @, 1–100 characters (e.g. tiktok)
Example
Response
Response Schema
pricing.creditsCharged
number
Credits charged for this request
Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.
Get User's Posts
Returns posts published by a TikTok user. Use cursor to paginate, or maxItems for a one-shot bulk pull — the two are mutually exclusive.
Request
Parameters
id
string
Yes (path)
—
TikTok user ID, 1–100 characters
region
string
No
—
2–5 character region/country code. The spec does not document a fixed enum for this field — treat it as an open string.
maxItems
integer
No
—
One-shot bulk pull, 1–200 results
cursor
string
No
—
Pagination cursor returned by a previous call
Example
Response
Response Schema
pagination.cursor / pagination.hasNextPage
string / boolean, nullable
Cursor for the next page and whether more results are available
pricing.creditsCharged
number
Credits charged for this request
Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.
Get Post by ID
Returns a single TikTok post by its numeric ID.
Note: there are two distinct ways to fetch a single post — by numeric ID (this endpoint,
GET /tiktok/post/{id}) or by full URL (GET /tiktok/post, documented separately below). They are different operations with different parameters; pick the one that matches the data you already have on hand.
Request
Parameters
id
string
Yes (path)
—
Numeric TikTok post ID, 1–50 characters
region
string
No
—
2–5 character region/country code. No documented enum — open string.
Example
Response
Response Schema
pricing.creditsCharged
number
Credits charged for this request
Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.
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
id
string
Yes (path)
—
TikTok post ID, 1–100 characters
maxItems
integer
No
—
One-shot bulk pull, 1–500 results
cursor
string
No
—
Pagination cursor returned by a previous call
Example
Response
Response Schema
pagination.cursor / pagination.hasNextPage
string / boolean, nullable
Cursor for the next page and whether more results are available
pricing.creditsCharged
number
Credits charged for this request
Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.
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
id
string
Yes (path)
—
TikTok post ID, 1–100 characters
commentId
string
Yes (path)
—
ID of the parent comment, 1–100 characters
maxItems
integer
No
—
One-shot bulk pull, 1–500 results
cursor
string
No
—
Pagination cursor returned by a previous call
Example
Response
Response Schema
pagination.cursor / pagination.hasNextPage
string / boolean, nullable
Cursor for the next page and whether more results are available
pricing.creditsCharged
number
Credits charged for this request
Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.
Search TikTok Posts
Search TikTok posts by keyword. Use cursor to paginate, or maxItems for a one-shot bulk pull — mutually exclusive.
Request
Parameters
keyword
string
Yes
—
Search term, 1–100 characters
region
string
No
—
2–5 character region/country code. No documented enum — open string.
dateRange
string
No
—
A date-range filter string. The spec does not document a fixed set of accepted values for this field — treat it as open/undocumented rather than assuming specific options.
sortType
string
No
—
A sort-order string. The spec does not document a fixed set of accepted values for this field — treat it as open/undocumented rather than assuming specific options.
maxItems
integer
No
—
One-shot bulk pull, 1–200 results
cursor
string
No
—
Pagination cursor returned by a previous call
Example
Response
Response Schema
pagination.cursor / pagination.hasNextPage
string / boolean, nullable
Cursor for the next page and whether more results are available
pricing.creditsCharged
number
Credits charged for this request
Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.
Get Post by URL
Returns a single TikTok post by its full URL.
Note: this is a distinct operation from Get Post by ID above. It hits the bare
/tiktok/postpath with no path parameter, takingurlas a query parameter instead — useful when you have a TikTok link (copied from the app or scraped off the web) but haven't extracted the numeric post ID from it.
Request
Parameters
url
string
Yes
—
Full TikTok post URL, 1–2048 characters (e.g. https://www.tiktok.com/@tiktok/video/7636131611674692894)
Example
Response
Response Schema
pricing.creditsCharged
number
Credits charged for this request
Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.
Get Hashtag by Name
Returns a TikTok hashtag profile by name (without #).
Request
Parameters
name
string
Yes (path)
—
Hashtag name without #, 1–100 characters (e.g. fyp)
Example
Response
Response Schema
pricing.creditsCharged
number
Credits charged for this request
Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.
Errors
All non-2xx responses share the same envelope:
400
Bad request — missing or invalid parameters
402
Insufficient credits
404
User, post, comment, or hashtag not found
Object Schema
User object (TiktokUser)
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)
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
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.
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.
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)
id
string
Hashtag ID
name
string
Hashtag name (without #)
views
integer
Total view count across all posts using the hashtag
Finding User and Post IDs
User ID: returned as
idfromGET /tiktok/user/handle/{username}. You need this numeric ID to callGET /tiktok/user/{id}/posts.Post ID: the long numeric segment in a TikTok video URL, e.g.
https://www.tiktok.com/@tiktok/video/7636131611674692894→7636131611674692894. If you only have the URL and not the extracted ID, pass the full URL toGET /tiktok/postinstead — no need to parse it yourself.Comment ID: returned as
idon each item in the response fromGET /tiktok/post/{id}/comments; required ascommentIdto fetch that comment's replies.Hashtag name: the text after
#on a TikTok hashtag page, without the#(e.g.fyp).
Python Example
This example fetches a user's posts a page at a time using cursor-based pagination, stopping when pagination.hasNextPage is falsy or a page cap is reached:
Each request is billed independently, with the charged amount reported in that response's pricing.creditsCharged — there's no separate "fetch everything in one call" endpoint, so a multi-page pull like this makes one request per page.
FAQ
Next Steps
API Integration Guide — integrate the Pullbay API into your backend application.
n8n Integration Guide — set up automated workflows using n8n with no coding required.
Services Overview — explore all available Pullbay services.
Last updated