skilly. Buy ad slot
All skills
Research · Business · Automation / AGENT SKILL

tiktok-api

fetcher-sh/fetcher-skills
4.4K installs 1 GitHub stars
0

Collect TikTok posts, profiles, comments, and trend data through fetcher.sh.
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.

BEFORE YOU INSTALL

Understand the trade-offs.

SECURITY REVIEW

Not yet assessed

Review the original instructions and requested permissions before installing.

No security review is available for this catalog entry yet.

SKILL QUALITY

Not yet assessed

How clearly the skill guides your agent, how complete its workflow is, and how you can check the outcome.

No quality assessment is available for this catalog entry yet.

The full skill.

Original instructions from the publisher’s SKILL.md

# 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 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`](references/endpoints.md).

## Authentication

Two ways to pay, same data — full mechanics in the [`fetcher`
skill](../fetcher/SKILL.md):

```bash
# 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:**

```bash
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:**

```bash
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:**

```bash
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:**

```bash
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:**

```bash
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:**

```bash
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:**

```bash
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

```json
{
  "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](../fetcher/SKILL.md) 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`](references/endpoints.md) (every
  param) · [`references/scenarios.md`](references/scenarios.md) (one `curl`
  per endpoint) · [`references/faq.md`](references/faq.md) ·
  [`references/comparison.md`](references/comparison.md) (vs. the official
  TikTok API and a browser scraper)
- Task guides: [viral post search](../../task-guides/tiktok-viral-post-search.md) ·
  [profile and followers](../../task-guides/tiktok-profile-and-followers.md)
- Slash command: [`/tiktok-search`](../../commands/tiktok-search.md)
- 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](../fetcher/SKILL.md)
- Site: <https://tiktok.fetcher.sh>

Skill folder

Files included alongside SKILL.md in the publisher’s repository.