Developer docs
The Scrapios REST API lets you submit scraping jobs, retrieve structured data, and manage your account programmatically from any language or stack.
Generate an API key in your dashboard settings. Keep it secret — it grants full access to your account.
curl -X POST https://scrapios.com/api/v1/ext/jobs \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"scraper_slug":"tiktok-profile","parameters":{"username":"nasa"}}'All API requests must include your API key in the X-API-Key header.
X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
External API access uses the /api/v1/ext/ prefix. Dashboard API calls use /api/v1/ with a Bearer token from login.
Every job consumes credits based on the scraper type and number of records returned. Credits reset monthly on your billing cycle. You can check your balance at any time via GET /api/v1/ext/credits.
Simple scrape
1–5 credits
AI extraction
5–20 credits
Platform scraper
10–50 credits
Base URL: https://scrapios.com/api/v1/ext
/api/v1/jobsSubmit a new scraping job
Request body
{
"scraper_slug": "tiktok-profile",
"parameters": {
"username": "nasa"
}
}Response
{
"id": 1042,
"status": "queued",
"credits_estimated": 10,
"created_at": "2026-05-19T12:00:00Z"
}/api/v1/jobs/:idGet job status and result
Response
{
"id": 1042,
"status": "completed",
"credits_used": 10,
"result": { "id": 88, "record_count": 42 }
}/api/v1/results/:id/downloadDownload raw result as JSON
Response
[
{ "username": "nasa", "followers": 9800000, ... },
...
]/api/v1/catalogList all available scrapers
Response
[
{ "slug": "tiktok-profile", "name": "TikTok Profile", ... },
{ "slug": "instagram-profile", "name": "Instagram Profile", ... }
]/api/v1/creditsGet your current credit balance
Response
{
"balance": 4820,
"cycle_resets_at": "2026-06-01T00:00:00Z"
}API requests are limited to 60 requests/minute per API key. Concurrent jobs are limited by your plan tier (1 on Free, up to unlimited on Enterprise). When a rate limit is hit, the API returns 429 Too Many Requests.
Something missing from the docs, or hitting an unexpected error?
Contact support