One data layer for social analytics products
One consistent schema for every platform, so adding a network is a one-line change, not a new integration.
Why it fits
If you build a social analytics, CRM enrichment or creator discovery product, every new network your customers ask for usually means a new official API, a new auth flow, new quotas and a new set of error formats. Scrape Everything replaces that with one social media data API. Every endpoint uses the same authentication, the same request style, the same response envelope and the same error codes, across Instagram, TikTok, X, YouTube, Facebook, Telegram, Spotify, Pinterest and Twitch.
- One request style, one response envelope and one error format across all nine platforms.
- Fixed credit costs per endpoint, returned in every response as meta.credits_charged, so you can meter your own customers.
- Failed requests are refunded before the response is sent. Cache hits cost 0 credits.
- Up to 10 API keys per account, each with its own IP allowlist, plus an OpenAPI 3.1 spec for typed clients.
- No uptime SLA is published. Plan around public data and use the error codes to explain gaps.
In more detail
Same envelope everywhere
Each call is a POST to /v1/{platform}/{action} with a small JSON body. Every response has success, data and meta, and meta always carries request_id, cached, credits_charged, credits_remaining and duration_ms. Errors share one shape with a stable code. Your client code, retries, logging and billing logic are written once. Adding X profiles next to Instagram profiles means changing the path and the input field, not building a new connector. Transcripts from YouTube and TikTok even share the same data shape.
Costs you can pass through
Every endpoint has a fixed credit cost listed in the catalog and returned in each response, so you can meter your own customers precisely. Failed requests are refunded automatically before the response is sent. Cache hits cost 0 credits: send cache_days and repeated lookups of the same profile within the window come from your cache, which is useful for profile cards, previews and enrichment jobs that touch the same records again. Your cache is private to your account.
Room to grow
Rate limits rise once your purchases total $39 or more, and Enterprise plans for 1,000,000 or more credits get custom limits and volume pricing. Up to 10 API keys per account share the balance, and each key can be locked to your server IPs. An OpenAPI 3.1 spec lets you generate a typed client in your language.
Less code to maintain
Scrapers break when platforms change their pages, and keeping them alive is work that does not show up in your product. With a hosted API, parsing and retries happen on our side and your code depends on documented fields and error codes. Inputs are normalized too: an Instagram username, an @handle and a profile URL all resolve to the same target and the same cache entry. When a platform hides a field from logged-out visitors, the endpoint docs say so, so your UI can handle the gap deliberately.
Honest boundaries
This is an unofficial API that returns what a logged-out visitor sees. It does not cover private accounts, follower lists or data behind a login, and we do not publish an uptime SLA. Plan your product around public data, show your users when a number was fetched, and use the error codes to explain gaps.
What it costs
Refresh 5,000 Instagram and 5,000 TikTok profiles once a week, for 4 weeks
- Instagram profile20,000 calls × 1 credit = 20,000
- TikTok profile20,000 calls × 1 credit = 20,000
- Total40,000 credits
≈ $62.40 at the Builder rate ($1.56 per 1,000 credits; the pack is 25,000 credits for $39.00)
≈ $47.60 at the Growth rate ($1.19 per 1,000 credits; the pack is 100,000 credits for $119.00)
≈ $35.92 at the Scale rate ($0.90 per 1,000 credits; the pack is 500,000 credits for $449.00)
Packs are bought whole. Credits you do not use stay on your balance and never expire. Failed calls are refunded and not counted here. Profiles your users open again within your cache window can be served with cache_days at 0 credits. Credit calculator
Endpoints to use
Each endpoint has its own page with fields, limits and an example response.
- Instagram Profile Scraper APIPOST /v1/instagram/profile1 credit per successful request
- TikTok Profile Scraper APIPOST /v1/tiktok/profile1 credit per successful request
- X (Twitter) Profile Scraper APIPOST /v1/x/profile1 credit per successful request
- YouTube Search Scraper APIPOST /v1/youtube/search1 credit per successful request
- TikTok Hashtag Stats Scraper APIPOST /v1/tiktok/hashtag1 credit per successful request
- Spotify Playlist Scraper APIPOST /v1/spotify/playlist1 credit per successful request
Example: add TikTok next to Instagram
- Your Instagram integration already posts to /v1/instagram/profile with a username.
- Change the path to /v1/tiktok/profile. The body, auth header and response envelope stay the same.
- Map the platform-specific fields you show, such as follower_count, into your own model.
- Reuse your existing retry, logging and metering code, keyed on meta.request_id and meta.credits_charged.
curl -X POST https://api.scrapeeverything.com/v1/tiktok/profile \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"username":"khaby.lame"}'Integrations that fit
Analytics SaaS: questions
Is the data schema identical across platforms?
The request style, response envelope, meta fields and error format are identical. The fields inside data follow each platform, documented per endpoint.
Can my users call the API from their browser?
No. The API refuses browser requests. Call it from your backend and keep the key on your server.
Is there an SLA?
We do not publish an uptime SLA. Talk to us about your requirements if you need volume pricing or custom limits.
Do credits expire?
No. Credits are sold in one-time packs and never expire.
Start with 100 free credits.
Continue with Google, create an API key and send your first request in under a minute.