tiktok-scraper
fetcher-sh/fetcher-skills
TikTok data API: search posts, profiles, hashtags, and comments without login or app review.
What is tiktok-scraper?
A pay-per-call TikTok API alternative via fetcher.sh that lets you search posts by keyword with sort/date filters, look up profiles and their followers, fetch hashtag and music feeds, and read comments—all via simple HTTP GET calls with no browser automation or official API access required.
- Search TikTok posts by keyword with sorting (most-liked, most-recent, relevance) and date-range filters
- Look up individual posts by share URL or ID and fetch their comments and replies
- Retrieve user profiles by @username and access their posts, followers, and followings
- Find posts under specific hashtags, using particular sounds/music tracks, or from locations
- Pay-per-call ($0.004/call) via USDC on multiple blockchains or prepaid credits with no login required
How to install tiktok-scraper
npx skills add https://github.com/fetcher-sh/fetcher-skills --skill tiktok-scraper- A fetcher.sh account with prepaid credits (Bearer token) or x402 wallet for pay-per-call (USDC on Base, Polygon, Arbitrum, Monad, or Solana)
- Basic HTTP client or curl for making GET requests to https://tiktok.fetcher.sh
How to use tiktok-scraper
- 1.Set your FETCHER_API_KEY environment variable to your Bearer token from https://fetcher.sh/topup, or prepare an x402-compatible wallet for pay-per-call
- 2.Choose an endpoint based on what you need: /api/post/search for keyword search, /api/user/handle/{username} for profiles, /api/hashtag/{id}/posts for hashtags, etc.
- 3.Make a GET request to the endpoint with required parameters (e.g., keyword for search, url for post lookup) and optional filters (sortType, dateRange, cursor for pagination)
- 4.Parse the JSON response with structure { status, message, data } and handle errors (400 for bad params, 401 for auth, 402 for payment required)
- 5.Iterate through paginated results using the cursor parameter if needed for large datasets
Use cases
- Track viral trends and monitor hashtags for social listening and competitor analysis
- Build TikTok data pipelines for influencer discovery and content analysis without official API access
- Search for posts on specific topics with date and popularity filters for research or content curation
- Analyze user engagement by fetching profiles, followers, and comment threads at scale
- Monitor location-based or music-based content trends for marketing or trend analysis
- Social media researchers and trend analysts
- Content creators and influencer marketers
- Data engineers building social-listening pipelines
- Competitive intelligence teams
- AI agents automating TikTok data collection
tiktok-scraper FAQ
No. This is an API alternative that requires no login, no session cookies, and no TikTok developer app review—just a fetcher.sh account or x402 wallet.
Prepaid credits (Bearer token) let you top up in advance and make calls at $0.004 each; x402 pay-per-call charges your wallet per call with no upfront balance needed. Both cost the same per call.
Yes. The /api/post/search endpoint supports sortType (MOST_LIKED, DATE_POSTED, RELEVANCE) and dateRange (ALL_TIME, THIS_WEEK, THIS_MONTH, YESTERDAY, LAST_THREE_MONTHS, LAST_SIX_MONTHS).
Look up the user by @username with /api/user/handle/{username} to get their ID, then call /api/user/{id}/followers or /api/user/{id}/followings.
No rate limits. No refunds on upstream failures; settlement precedes delivery. Each call costs $0.004 regardless of outcome.
Full instructions (SKILL.md)
Source of truth, from fetcher-sh/fetcher-skills.
name: tiktok-scraper description: >- A TikTok API alternative on fetcher.sh — pay-per-call in USDC via x402, or prepaid credits with a Bearer key, no login and no app review. Use when the user wants to search TikTok posts by keyword and sort by most-liked or most recent within a date range, look up a post by its share URL or ID, scrape a TikTok profile by @username, pull a user's posts, followers, or followings, fetch a hashtag's posts, pull posts using a specific sound/music track, get posts from a location, or read a post's comments and comment replies. Also covers TikTok trend tracking, hashtag monitoring, influencer discovery, competitor content analysis, and TikTok data pipelines without official TikTok API access or a scraping browser. keywords:
- tiktok
- tiktok-api
- tiktok-api-alternative
- tiktok-scraper
- tiktok-data
- social-media
- social-listening
- hashtag-tracking
- x402
- ai-agent
TikTok Scraper API
TikTok data on demand: keyword post search with sort/date filters, profile lookup by handle, followers and followings, hashtag and music/sound feeds, location-based posts, and comment threads — one plain HTTP GET per call, paid as you go. No login, no session cookies, no browser automation, no TikTok developer app review.
Base URL: https://tiktok.fetcher.sh
Quick reference
| Base URL | https://tiktok.fetcher.sh |
| Auth | Authorization: Bearer bby_live_... or x402 (USDC) |
| Price | $0.004/call (flat) |
| Endpoints | 13, all GET |
| MCP | https://tiktok.fetcher.sh/mcp |
| Machine-readable | /openapi.json · /llms.txt · /skill.md |
Which endpoint do I need?
| I want to... | Call |
|---|---|
| Search posts by keyword (optionally most-liked/recent) | GET /api/post/search |
| Look up a post by its share URL | GET /api/post?url=... |
| Look up a profile by @username | GET /api/user/handle/{username} |
| Get a user's posts, followers, or followings | GET /api/user/{id}/posts / /followers / /followings |
| Get a post's comments | GET /api/post/{id}/comments |
| Find posts under a hashtag | GET /api/hashtag/{id}/posts |
| Find posts using a specific sound | GET /api/music/{id}/posts |
Full param details for every row: references/endpoints.md.
Authentication
Two ways to pay, same data — full mechanics in the fetcher
skill:
# 1. Prepaid credits (recommended — get a key at https://fetcher.sh/topup
# or via POST /api/credits/topup, see the fetcher skill)
export FETCHER_API_KEY="bby_live_xxxxxxxxxxxx"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/post/search?keyword=hello"
# 2. x402 pay-per-call — omit the header; a GET with no payment returns 402
# with machine-readable payment requirements (USDC on Base, Polygon,
# Arbitrum, Monad, or Solana). @x402/fetch signs and retries automatically.
Every response is { "status": number, "message": string, "data": ... }; the
HTTP status mirrors status.
Endpoints (13 — all GET, $0.004/call)
| Endpoint | What it returns |
|---|---|
/api/post/search | Posts matching a keyword; sort and date-range filters |
/api/post | A single post resolved from its share URL |
/api/post/{id} | A single post by ID |
/api/post/{id}/comments | A post's comments |
/api/post/{id}/comments/{commentId}/replies | Replies to a comment |
/api/user/handle/{username} | Profile by @username |
/api/user/{id}/posts | A user's posts |
/api/user/{id}/followers | A user's followers |
/api/user/{id}/followings | Accounts a user follows |
/api/hashtag/handle/{name} | Hashtag metadata by name |
/api/hashtag/{id}/posts | Posts under a hashtag |
/api/music/{id}/posts | Posts using a sound/music track |
/api/location/{locationId}/posts | Posts tagged at a location |
{id} / {username} / {name} are path parameters. Optional query params
(cursor, region) paginate or geo-scope results; keyword (search) and
url (post lookup) are required where they appear.
Scenarios
Most liked posts this month:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "keyword=ai agent" -G \
--data-urlencode "sortType=MOST_LIKED" \
--data-urlencode "dateRange=THIS_MONTH" \
"https://tiktok.fetcher.sh/api/post/search"
Posted yesterday, most recent first:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "keyword=crypto payments" -G \
--data-urlencode "sortType=DATE_POSTED" \
--data-urlencode "dateRange=YESTERDAY" \
"https://tiktok.fetcher.sh/api/post/search"
Other sortType values: RELEVANCE. Other dateRange values: ALL_TIME,
THIS_WEEK, LAST_THREE_MONTHS, LAST_SIX_MONTHS.
Look up a post by its share URL, or directly by ID:
curl -H "Authorization: Bearer $FETCHER_API_KEY" -G \
--data-urlencode "url=https://www.tiktok.com/@username/video/1234567890123456789" \
"https://tiktok.fetcher.sh/api/post"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/post/1234567890123456789"
A post's comments and comment replies:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/post/1234567890123456789/comments"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/post/1234567890123456789/comments/9876543210/replies"
A profile by @handle, then its posts, followers, and followings:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/user/handle/khaby.lame"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/user/6935741396776976390/posts"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/user/6935741396776976390/followers"
A hashtag's metadata, then its posts:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/hashtag/handle/fyp"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/hashtag/1234567890/posts"
Posts using a specific sound, and posts from a location:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/music/1234567890123456789/posts"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://tiktok.fetcher.sh/api/location/1234567890123456789/posts"
MCP
{
"mcpServers": {
"tiktok": {
"url": "https://tiktok.fetcher.sh/mcp",
"headers": { "Authorization": "Bearer bby_live_..." }
}
}
}
Free: search_endpoints, describe_endpoint, check_balance. Paid:
fetch_data (any endpoint above), topup_credits, plus the named shortcut
tiktok_post_search. Drop the headers block to pay per call with x402
instead — see the fetcher skill for the full flow.
Errors
400— missing/invalid parameter (message names it)401— unknown or rotated key402— payment required (x402 challenge) ortopup_required(credits exhausted)404— not a priced path- No rate limits; no refunds on upstream failures (settlement precedes delivery)
Reference
- Deep dives:
references/endpoints.md(every param) ·references/scenarios.md(onecurlper endpoint) ·references/faq.md·references/comparison.md(vs. the official TikTok API and a browser scraper) - Task guides: viral post search · profile and followers
- Slash command:
/tiktok-search - Full agent setup: https://tiktok.fetcher.sh/skill.md
- OpenAPI 3.1 contract: https://tiktok.fetcher.sh/openapi.json
- Condensed catalog: https://tiktok.fetcher.sh/llms.txt
- Payment, credits, and MCP deep dive:
fetcherskill - Site: https://tiktok.fetcher.sh
Related skills
More from fetcher-sh/fetcher-skills and the wider catalog.

twitter-api
Search tweets, resolve profiles, pull timelines and followers—pay-per-call Twitter/X API without developer account or app review.

x-api
Search X posts, profiles, and trends via HTTP—no OAuth, no app review, pay-per-call in USDC or prepaid credits.

x-scraper
Search X posts, profiles, and trends via HTTP—no OAuth, no app review, pay-per-call or prepaid.

yelp
Pay-per-call Yelp business search, details, and reviews via HTTP—no app approval or daily caps.

youtube-api
YouTube search, channel lookup, video details, and trending—pay-per-call via x402 or prepaid credits, no quota limits.

code-connect-components
Connects Figma design components to code components using Code Connect. Use when user says "code connect", "connect this component to code", "connect Figma to code", "map this component", "link component to code", "create code connect mapping", "add code connect", "connect design to code", or wants to establish mappings between Figma designs and code implementations. Requires Figma MCP server connection.