# TikTok Public Data Scraper

> TikTok Public Data Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured post data from public TikTok profiles, hashtag pages, and individual video URLs

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/tiktok?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tiktok-public-data-scraper-fa120999
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TuFGRW4DfV7_JAsBa3p6j

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tiktok-public-data-scraper-fa120999 -d '<json body>'
```

Example prompt: Pull the latest 20 TikTok posts from the profile @charlidamelio and any videos tagged with #dance, limiting the total results to 50.

## When to prefer this

Choose this endpoint when you need structured TikTok post metadata from public profiles, hashtags, or individual video URLs without access to the official TikTok API. It is pay-per-call and does not charge for empty or failed runs, making it low-risk for exploratory queries. Best for social media research, influencer monitoring, hashtag trend analysis, and content auditing at small-to-medium scale (up to ~30 posts per profile or hashtag).

## Known failure modes

- Profile or hashtag is private or has no public embed page, returning empty results
- TikTok embed page structure changes, causing parsing failures
- maxItems of 0 with no inputs returns empty result
- Rate limiting or blocking by TikTok resulting in empty response
- Invalid or deleted video URLs returning null fields
- resultsPerHashtag capped at 30 regardless of input value

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of collected items and an array of video records, each containing fields for video ID, caption text, creation timestamp (Unix and ISO), language of caption, whether the post is an ad, whether it is a slideshow, and the public web video URL. Empty or failed runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "hashtags": {
   "type": "array",
   "description": "Public hashtag names or TikTok tag URLs. Each available embed page supplies a short list of posts."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Hard limit across all profiles and video URLs. Set 0 for no limit."
  },
  "postURLs": {
   "type": "array",
   "description": "Public TikTok video URLs to extract individually."
  },
  "profiles": {
   "type": "array",
   "description": "TikTok usernames or public profile URLs. Each profile supplies the posts visible in its public embed page."
  },
  "resultsPerHashtag": {
   "type": "integer",
   "default": 10,
   "maximum": 30,
   "minimum": 1,
   "description": "Maximum videos to collect from each available public hashtag list. The page commonly exposes about 7 to 10 posts."
  },
  "resultsPerProfile": {
   "type": "integer",
   "default": 10,
   "maximum": 30,
   "minimum": 1,
   "description": "Maximum videos to collect from each profile. The public embed page commonly exposes about 10 to 13 posts."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "isAd": null,
    "text": null,
    "createTime": null,
    "isSlideshow": null,
    "webVideoUrl": null,
    "textLanguage": null,
    "createTimeISO": null
   }
  ],
  "product": "tiktok"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tiktok-public-data-scraper-fa120999/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
