Managed TikTok Scraper Gateway · No Headless Browsers · No Cookies
Scrape TikTok at $0.20/1K videos.
Replace fragile Playwright scripts, expired session cookies, and $10/GB residential proxies with a single HTTPS GET call. Scrape public TikTok videos, 1080p unwatermarked MP4s, creator bios, follower lists, nested comments ($0.10/1K), and Creative Center ads in clean JSON.
Pay-As-You-Go
Credits never expire on PAYG ($25+). 0 Credits billed on 404, 5xx, timeouts, or 0-item empty pages.
Zero Cookies / Proxies
Never manage TikTok accounts, CAPTCHA solvers, X-Bogus signers, or residential proxy pools again.
10x Cheaper than Apify
$0.20/1K videos & $0.10/1K comments vs $2.50–$5.00/1K compute + proxy fees on actor marketplaces.
10,500 Free Credits ($1.05)
Instant API key in 10 seconds — zero credit card required, plus +20,000 bonus credits ($2.00) on return.
30-Line Python Pagination Script & Live Captured JSON
Real response captured from GET https://api.tiktokapi.io/v1/video/search?keywords=ai+tools®ion=US&count=10 — including direct CDN MP4 URL, bookmark (collect_count), and share velocity.
Python Pagination Scraper
import requests
API_KEY = "tk_live_your_api_key_here"
def scrape_tiktok_keyword(keyword: str, region: str = "US", pages: int = 3):
cursor = 0
results = []
for _ in range(pages):
r = requests.get(
"https://api.tiktokapi.io/v1/video/search",
params={"keywords": keyword, "region": region, "count": 30, "cursor": cursor},
headers={"x-api-key": API_KEY},
timeout=20,
)
r.raise_for_status()
body = r.json()
videos = body.get("data", {}).get("videos", [])
results.extend(videos)
if not body.get("data", {}).get("hasMore"):
break
cursor = body["data"]["cursor"]
return results
print(f"Scraped {len(scrape_tiktok_keyword('ai tools'))} videos")Live Captured Response (GET /v1/video/search)
{
"code": 0,
"provider": "https://tiktokapi.io",
"status": "ok",
"msg": "success",
"data": {
"cursor": 10,
"hasMore": true,
"videos": [
{
"video_id": "7646676174059392286",
"title": "Best Ai tools in 2026 ",
"region": "US",
"duration": 27,
"play": "https://v19.tiktokcdn.com/989cbada390f666b166bca40b7212c59/.../video.mp4",
"play_count": 3673496,
"digg_count": 205333,
"comment_count": 9567,
"share_count": 45289,
"collect_count": 197111,
"author": {
"id": "6788812283432059910",
"unique_id": "maverickgpt",
"nickname": "Maverick Maltin | AI & ChatGPT"
}
}
]
}
}Total Cost of Ownership: DIY Playwright vs Apify vs TikTokAPI.io
| Cost / Engineering Factor | TikTokAPI.io | Apify / Actor Marketplaces | DIY Playwright + Residential Proxies |
|---|---|---|---|
| 100,000 Videos Scraped | $8 – $20 total | $250 – $500 + $49/mo base | $180+ residential proxy GBs + servers |
| Gateway Cache & Live Latency | ~15ms cache / sub-second live | 15s – 90s actor cold-start | 4s – 12s browser render |
| X-Bogus / WAF Maintenance | 0 hrs/mo (managed by gateway) | Breaks when community actors lag | 10–20+ engineering hrs/mo |
| Throughput | Up to 600 RPM (10 RPS) | Capped by actor memory CU | Heavy RAM per Chromium tab |
Scraper FAQ
Why do DIY Playwright, Puppeteer, and yt-dlp TikTok scrapers get blocked with HTTP 403?
TikTok's Akamai and ByteDance WAF inspect datacenter IP ASNs, TLS JA3/JA4 fingerprints, and WebAssembly X-Bogus / X-Argus / msToken request signatures. When any layer mismatches, TikTok returns HTTP 403 Forbidden or a 0-byte body. TikTokAPI.io handles residential routing and cryptographic signing automatically.
How much does it cost to scrape 100,000 TikTok videos or 1,000,000 comments?
At our base rate ($1 = 10,000 Credits), 100,000 videos cost $20 (and down to $7.96 on Business Monthly with +65% bonus credits). 1,000,000 comments or followers cost $100 at base rate ($39.80 on Business Monthly) — roughly 10x cheaper than Apify actors or residential proxy bandwidth.
What happens if a username doesn't exist or a search returns 0 items?
You pay 0 Credits. Failed calls, upstream 404/5xx errors, timeouts, and empty 0-item responses are automatically zero-rated.