PluginBench
Skill
Review
Audit score 70

tiktok-api

fetcher-sh/fetcher-skills

TikTok data API: search posts, profiles, hashtags, and comments without login or app review.

What is tiktok-api?

A pay-per-call TikTok API alternative via fetcher.sh that lets you search posts by keyword with sorting and date filters, look up profiles by handle, fetch followers/followings, retrieve hashtag and music-based posts, and read comments—all via simple HTTP GET calls at $0.004 per request. Use when you need TikTok data without official API access or browser automation.

  • Search posts by keyword with sort (most-liked, most-recent, relevance) and date-range filters
  • Look up individual posts by share URL or ID
  • Fetch user profiles by @username and retrieve their posts, followers, and followings
  • Get posts under a hashtag or using a specific sound/music track
  • Retrieve location-based posts and read post comments with reply threads
  • Pay per call in USDC via x402 or prepaid credits; no login, session cookies, or TikTok app review required

How to install tiktok-api

npx skills add https://github.com/fetcher-sh/fetcher-skills --skill tiktok-api
Prerequisites
  • A fetcher.sh account with prepaid credits (Bearer key) or ability to pay per call via x402 (USDC on Base, Polygon, Arbitrum, Monad, or Solana)
Claude Code
Cursor
Windsurf
Cline

How to use tiktok-api

  1. 1.Install the skill: npx skills add https://github.com/fetcher-sh/fetcher-skills --skill tiktok-api
  2. 2.Set your API key as an environment variable: export FETCHER_API_KEY="bby_live_..." (or omit to use x402 pay-per-call)
  3. 3.Call the appropriate endpoint for your use case (e.g., /api/post/search for keyword search, /api/user/handle/{username} for profiles)
  4. 4.Parse the JSON response with structure { "status": number, "message": string, "data": ... }
  5. 5.Paginate results using the cursor parameter if needed; optionally filter by region

Use cases

Good for
  • Monitor trending topics and viral posts in your niche by keyword with date and popularity filters
  • Track competitor content and influencer activity by scraping profiles and their recent posts
  • Build TikTok data pipelines for trend analysis, hashtag monitoring, or social-listening dashboards
  • Analyze comment sentiment and engagement on specific posts or by creator
  • Discover emerging sounds and music trends by querying posts using particular tracks
Who it's for
  • Social media analysts and content strategists
  • Influencer marketers and brand managers
  • Data engineers building TikTok analytics pipelines
  • Researchers studying social trends and viral content
  • Competitive intelligence teams

tiktok-api FAQ

Do I need a TikTok developer account or app review?

No. This is a third-party API alternative that requires only a fetcher.sh account with credits or x402 payment capability.

What's the difference between prepaid credits and x402 pay-per-call?

Prepaid credits use a Bearer token and are recommended for regular use; x402 is pay-as-you-go in USDC without a token, returning a 402 payment challenge on each call.

How much does each API call cost?

$0.004 USD per call, flat rate across all 13 endpoints.

Can I search posts by date range and sort order?

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).

What if my credits run out or x402 payment fails?

You'll receive a 402 status with a topup_required message; top up via POST /api/credits/topup or the fetcher skill.

Full instructions (SKILL.md)

Source of truth, from fetcher-sh/fetcher-skills.


name: tiktok-api 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-data
  • social-media
  • social-listening
  • hashtag-tracking
  • x402
  • ai-agent

TikTok 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 URLhttps://tiktok.fetcher.sh
AuthAuthorization: Bearer bby_live_... or x402 (USDC)
Price$0.004/call (flat)
Endpoints13, all GET
MCPhttps://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 URLGET /api/post?url=...
Look up a profile by @usernameGET /api/user/handle/{username}
Get a user's posts, followers, or followingsGET /api/user/{id}/posts / /followers / /followings
Get a post's commentsGET /api/post/{id}/comments
Find posts under a hashtagGET /api/hashtag/{id}/posts
Find posts using a specific soundGET /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)

EndpointWhat it returns
/api/post/searchPosts matching a keyword; sort and date-range filters
/api/postA single post resolved from its share URL
/api/post/{id}A single post by ID
/api/post/{id}/commentsA post's comments
/api/post/{id}/comments/{commentId}/repliesReplies to a comment
/api/user/handle/{username}Profile by @username
/api/user/{id}/postsA user's posts
/api/user/{id}/followersA user's followers
/api/user/{id}/followingsAccounts a user follows
/api/hashtag/handle/{name}Hashtag metadata by name
/api/hashtag/{id}/postsPosts under a hashtag
/api/music/{id}/postsPosts using a sound/music track
/api/location/{locationId}/postsPosts 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 key
  • 402 — payment required (x402 challenge) or topup_required (credits exhausted)
  • 404 — not a priced path
  • No rate limits; no refunds on upstream failures (settlement precedes delivery)

Reference