Works with the best tools:
Works with the best tools:
Have a question?
Contact usCommon errors from the public /scrape endpoints are JSON. Always inspect the response body when the HTTP status is not successful.
Common error shape
{
"error": {
"code": 400,
"message": "proxyCountry requires premiumProxy to be true"
}
}A few legacy specialised routes still return { "error": "…" }. Handle both forms with error.message ?? error.
Invalid URL
The url is checked before the scrape, so an invalid address costs no credit. The response says what is wrong in message and details and, when the mistake is clear, gives the corrected address in suggestedUrl (missing https://, missing / after the domain name, spaces, quotes…).
{
"error": {
"code": 400,
"message": "Invalid URL: unknown domain extension \".frdp\"",
"details": "A \"/\" is probably missing between the domain name and the rest of the address.",
"suggestedUrl": "https://www.amazon.fr/dp/B0D1"
}
}| Code | Meaning | Example message | What to do |
|---|---|---|---|
| 400 | Bad Request | proxyCountry requires premiumProxy to be true | Correct the request (see details and suggestedUrl when present). It is not executed or charged. |
| 401 | Unauthorized | Unauthorized | Check your Basic Auth username and API key. Do not retry in a loop. |
| 402 | Payment Required | Quota exceeded upgrade your free plan at … | The account has insufficient credits. Add credits or change plan, then retry. |
| 429 | Too Many Requests | Too many failed login attempts, please wait … | Apply a delay and exponential backoff before retrying. |
| 500 | Internal Server Error | Unable to process this scrape request | Retry with a limited backoff, then contact support if it persists. |
402 means the scrape was not executed because the account lacks credits. It is different from a validation error (400) and a rate limit (429).