NEWScrapingAnt MCP for Claude Code, Cursor & Windsurf — try it free →
Skip to main content
Version: v1

API v1 errors and HTTP status codes

This page covers /v1/general, which accepts GET query parameters or POST JSON configuration. V2 uses query parameters and forwards request bodies to the target; keep the v2 error reference separate when diagnosing method/body problems.

Error Responses​

ScrapingAnt failures use an outer HTTP status and JSON detail string, with no separate numeric ScrapingAnt error-code field on the inspected routes. The v1 success object's status_code is the target website's HTTP status. Do not confuse it with the outer API status. This source-backed example is HTTP 422:

{
"detail": "Wrong host part of url. Please check out the documentation: https://docs.scrapingant.com/"
}

Error Codes​

Here is the table of the errors that can occur for both GET and POST methods with scraping API:

HTTP status codeReason
400Wrong request format. Make sure that you're using a proper JSON input.
403Invalid token, exhausted credits or IP restriction; use the exact detail to distinguish access causes.
404This site can’t be reached: site unavailable or worker timeout; follow reachability diagnosis.
405The API endpoint can only be accessed using the following HTTP methods: GET, POST.
409Free user concurrency limit: queue requests and wait for the active request to finish.
422Missing token or invalid input; correct the named parameter before retrying.
423Worker-reported target-site detection; use bounded safe retries or a deliberate settings change.
500Server/worker failure; use safe retry and support guidance.

400: Got invalid input data format, expecting json input​

The v1 POST handler returns this exact detail when the JSON input cannot be decoded. With a key supplied in the header/query, malformed JSON reaches that handler. Check that your POST configuration is valid JSON and includes the target url; a JSON object's non-string URL can instead produce url param must be a string plus the documentation suffix. Do not blindly retry malformed input. If supplying a body-only key, malformed JSON can fail while extracting that key before reaching this handler, so not every malformed POST has this response.

Use v1 request format to correct the body, then check the returned target status/content. This 400 is distinct from a target rejecting a forwarded v2 body.

SDK errors, retrying and support​

JavaScript SDK 0.2.1 calls v1 and exposes ScrapingAntApiError.statusCode; see SDK troubleshooting. Current Python source 2.1.0 calls v2, so do not infer its endpoint from a legacy documentation page. Older package behavior is not verified here.

The current implementation shares the access, validation and worker-error handling linked above between v1/v2; the request and success formats remain different. Follow safe retries and sanitized escalation. No documented request-ID response field/header was found in these routes. Verified from current source October 9, 2026; examples are source-backed fixtures, not new live API captures.