ScrapeCreators and ScrapingBot both turn public social media into JSON over a simple HTTP API, charge per call, and offer a hosted MCP server. The real differences are price per call, how many platforms you need, and whether you prefer prepaid credits that never expire or a monthly plan.
How we compared
ScrapingBot is our product. ScrapeCreators facts come from its homepage and pricing, its OpenAPI spec, its rate limit page and its MCP docs, all checked in October 2026. Prices change; check them before you decide.
The short version
Pick ScrapingBot if
Pick ScrapeCreators if
ScrapingBot vs ScrapeCreators at a glance
| ScrapingBot | ScrapeCreators | |
|---|---|---|
| Billing model | Monthly plan; credits refresh each cycle | Prepaid credit packs; no subscription |
| Entry paid option | Starter: $49.99 for 275,000 credits | Freelance: $47 for 25,000 credits |
| TikTok call | 1 credit: $0.18 per 1,000 on Starter | 1 credit on most endpoints: $1.88 per 1,000 on the $47 pack |
| Instagram call | 5 credits: $0.91 per 1,000 on Starter | 1 credit on most endpoints: $1.88 per 1,000 |
| At around $500 | Business, $599.99: 9M credits ($0.067 per 1,000 TikTok calls) | Business, $497: 500,000 credits ($0.99 per 1,000) |
| Free tier | 100 credits once, no card | 100 credits, no card, plus up to 7,000 bonus credits for tasks such as a GitHub star or feedback |
| Credit expiry | Unused credits don't carry over | Never expire |
| Failed calls | Refunded automatically | No blanket policy published; several endpoints state failures and empty pages aren't charged |
| Platforms | TikTok (11 endpoints), Instagram (20), Google (8), Amazon US (10), any website | 20+ platforms; TikTok 22 and Instagram 20 endpoints by its own count |
| TikTok sounds | /music/info, /music/posts | /v1/tiktok/song, /v1/tiktok/song/videos, popular songs |
| Comments and replies | Yes, both | Yes, both |
| MCP server | Hosted, 23 tools | Hosted, OAuth or API key |
| SDKs | None; plain HTTPS | CLI; "no SDK required" |
| Concurrency | 10 concurrent on Starter, up to 200 on Business | No account caps; recommends under 500 concurrent |
Per-1,000 figures are plan price divided by credits, times credits per call: $49.99 ÷ 275,000 × 1,000 = $0.18, and $47 ÷ 25,000 × 1,000 = $1.88. ScrapeCreators prices a few endpoints higher (its TikTok audience endpoint costs 26 credits), and a cache hit with cache_max_age costs nothing.
Pricing in practice
The gap is largest for TikTok, because a ScrapingBot TikTok call costs 1 credit while an Instagram call costs 5. Three realistic monthly workloads:
| Workload per month | ScrapingBot | ScrapeCreators |
|---|---|---|
| 20,000 TikTok calls | Starter, $49.99 (20,000 of 275,000 credits) | $47 pack (20,000 of 25,000 credits; the rest carry over) |
| 200,000 TikTok calls | Starter, $49.99 | $497 pack, or eight $47 packs ($376) |
| 50,000 Instagram calls | Starter, $49.99 (250,000 credits) | Two $47 packs ($94) |
At very low volume the picture flips. If you make 3,000 calls one month and none the next, a $47 ScrapeCreators pack lasts you months, while a ScrapingBot plan bills every month and its unused credits reset. Our free 100 credits are enough to test, not to run a small project indefinitely.
Coverage: where each one is stronger
On TikTok the two overlap heavily: profiles, a creator's videos, single videos, sounds and the videos that use them, comments, comment replies, followers, following and search. ScrapeCreators goes further on TikTok with transcripts, live, trending feeds, TikTok Shop and the ad library. ScrapingBot's /user/followers and /user/following return a single page of up to 50 accounts.
Outside social media the roles reverse. ScrapingBot includes a Google Search API (web, images, videos, news, shopping, places, maps and reviews), an Amazon API for the US store, and website scraping with JavaScript rendering, premium proxies and AI extraction, all drawing on the same credits. ScrapeCreators has a Google search endpoint and an Amazon shop endpoint, but its focus is creators and ads.
Migrating from ScrapeCreators
ScrapeCreators exposes one GET path per endpoint. ScrapingBot has one POST URL per platform and takes the endpoint name in the JSON body. Here is the same call, the videos that use a sound, on both:
# Before: ScrapeCreators
import requests
res = requests.get(
"https://api.scrapecreators.com/v1/tiktok/song/videos",
headers={"x-api-key": SCRAPECREATORS_KEY},
params={"clipId": "7682907287056337667"},
timeout=60,
)
page = res.json()
items, cursor, more = page["aweme_list"], page["cursor"], page["has_more"]
# After: ScrapingBot
import requests
res = requests.post(
"https://scrapingbot.io/api/v1/tiktok",
headers={"x-api-key": SCRAPINGBOT_KEY},
json={"endpoint": "/music/posts", "params": {"music_id": "7682907287056337667"}},
timeout=60,
)
page = res.json()["data"]
items, cursor, more = page["videos"], page["cursor"], page["hasMore"]
# next page: add "cursor": cursor to params; stop when more is 0
ScrapingBot returns each video as a flat object: video_id, title, play_count, digg_count (likes), comment_count, create_time and author.unique_id. Map those once in your parser. Profiles need less work: /user/info returns data.user and data.stats with TikTok's own names, such as uniqueId, followerCount and heartCount.
| ScrapeCreators | ScrapingBot endpoint | Main parameter |
|---|---|---|
/v1/tiktok/profile | /user/info | unique_id (or user_id) |
/v3/tiktok/profile/videos | /user/posts | unique_id, cursor |
/v2/tiktok/video | / | url |
/v1/tiktok/song | /music/info | music_id |
/v1/tiktok/song/videos | /music/posts | music_id, cursor |
/v1/tiktok/video/comments | /comment/list | url, cursor |
/v1/tiktok/video/comment/replies | /comment/reply | comment_id, video_id or url |
/v1/tiktok/user/followers, /following | /user/followers, /user/following | numeric user_id, count up to 50 |
/v1/tiktok/search/users, /search/keyword | /user/search, /feed/search | keywords |
Instagram works the same way at /api/v1/instagram; the Instagram reference lists its 20 endpoints. Two habits to carry over: stop paging only when hasMore is 0 (page sizes vary), and de-duplicate on video_id. The sound export guide has a complete script.
Common questions
Is ScrapingBot cheaper than ScrapeCreators?
Per call, yes, on comparable spend. ScrapeCreators sells 25,000 credits for $47 ($1.88 per 1,000 calls) and 500,000 for $497 ($0.99 per 1,000). ScrapingBot Starter is $49.99 for 275,000 credits: $0.18 per 1,000 TikTok calls and $0.91 per 1,000 Instagram calls. The catch is that ScrapingBot credits refresh monthly, while ScrapeCreators credits never expire. Prices checked October 2026.
Which one covers more platforms?
ScrapeCreators, by a wide margin: it lists more than 20 platforms, including YouTube, Facebook, Reddit, X, LinkedIn, Threads, Pinterest and several ad libraries. ScrapingBot covers TikTok and Instagram, plus Google, Amazon and general website scraping.
Do both have a TikTok sound endpoint?
Yes. ScrapeCreators has /v1/tiktok/song/videos (with clipId) and ScrapingBot has /music/posts (with music_id). Both page with a cursor.
Do both have an MCP server?
Yes. ScrapeCreators hosts one at api.scrapecreators.com/mcp, and ScrapingBot hosts one at scrapingbot.io/api/mcp with 23 tools. Both authenticate with an x-api-key header.
How hard is it to switch?
Mostly mechanical. ScrapeCreators uses a GET per endpoint path; ScrapingBot uses one POST per platform with the endpoint name in the body. Profile responses keep TikTok's field names (uniqueId, followerCount, heartCount) on both, while video lists need a one-time field mapping.
Are failed calls charged?
ScrapingBot refunds every failed call automatically and shows creditsUsed on each response. ScrapeCreators does not publish a blanket policy; several of its endpoint docs say scraper failures and empty pages are not charged, and each response reports credits_charged.