Error format
All errors follow a consistent JSON structure:Error codes
| Code | HTTP Status | Description | Retryable |
|---|---|---|---|
UNAUTHORIZED | 401 | Missing or invalid API key | No |
INSUFFICIENT_CREDITS | 402 | Not enough credits for this endpoint | No |
INVALID_PARAM | 400 | Missing or invalid query parameter | No |
RATE_LIMITED | 429 | Too many requests — slow down | Yes |
SCRAPE_FAILED | 502 | The scraping job failed after retries | Yes |
TIMEOUT | 504 | The scraping job did not complete within 30 seconds | Yes |
INTERNAL_ERROR | 500 | Unexpected server error | Yes |
Handling errors
401 — Unauthorized
Check that you’re sending thex-api-key header and that your key is valid and active.
402 — Insufficient Credits
Your API key doesn’t have enough credits. Check your balance and request a top-up.429 — Rate Limited
You’ve exceeded your per-minute request limit. Wait and retry with exponential backoff. See Rate Limits for details.502 — Scrape Failed
The scraping job failed. This can happen when:- The target profile/post doesn’t exist or is private
- Instagram is temporarily blocking requests
- The target content has been removed