fetcher-sh/fetcher-skills5 files

Tiktok API

>-

Specification
Skill ID
fetcher-sh/fetcher-skills/tiktok-api
Publisher
fetcher-sh
Repository
fetcher-skills
Installs
0
Files
5
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

fetcher-sh/fetcher-skills/tiktok-apiInstalls these files
  • SKILL.md
  • references/comparison.md
  • references/endpoints.md
  • references/faq.md
  • references/scenarios.md

What this skill tells the 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

  • Deep dives: `references/endpoints.md` (every param) · `references/scenarios.md` (one curl per 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: `fetcher` skill
  • Site: <https://tiktok.fetcher.sh>

Use this skill in a project

Open any RiverX project, search the Skills panel for fetcher-sh/fetcher-skills/tiktok-api, and install it in one click.

Use this skill