# TikTok Profile Scraper

> TikTok Profile 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 video data from one or more public TikTok profiles, returning video metadata including text, timestamps, and author info

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/tiktok-profiles?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-profile-scraper-a5903035
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JDpZId2cqWQn6hEeb7kM7

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-profile-scraper-a5903035 -d '<json body>'
```

Example prompt: Scrape the TikTok profiles for @charlidamelio and @addisonre — give me up to 20 videos per profile and stop after 50 total, with captions, post dates, and video URLs.

## When to prefer this

Choose this endpoint when you need structured, pay-per-call TikTok video metadata without committing to a subscription — especially useful for ad-hoc influencer research, competitive monitoring, or content audits across multiple profiles. Prefer this over browser automation or general web scrapers when you want clean JSON output with no charge for failed or empty runs.

## Known failure modes

- Private or non-existent TikTok profiles return empty results
- TikTok site structure changes may cause fewer than requested videos to be returned (site exposes ~10-13 videos per profile)
- Malformed handles or URLs may return empty item arrays
- Rate limiting or TikTok anti-bot measures may cause partial results
- Network timeouts on large multi-profile requests

## 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 items retrieved and an array of video records, each containing video ID, URL, ad flag, caption text, author ID, profile URL, creation timestamp (Unix and ISO 8601). Empty or failed runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many video rows across all profiles. Set 0 for no overall cap."
  },
  "profiles": {
   "type": "array",
   "description": "Public TikTok usernames, @handles, or profile URLs to scrape."
  },
  "maxVideosPerProfile": {
   "type": "integer",
   "default": 30,
   "minimum": 1,
   "description": "Maximum videos to save from each public profile preview. The site currently exposes roughly 10-13 videos per profile."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "isAd": null,
    "text": null,
    "authorId": null,
    "createTime": null,
    "profileUrl": null,
    "createTimeISO": null
   }
  ],
  "product": "tiktok-profiles"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tiktok-profile-scraper-a5903035/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)
