Skip to content

Reference

Errors

An error answer tells you what went wrong and what to do. Over REST you get an HTTP status plus a JSON body. Over MCP the same body comes back as a tool result with isError set, and its text starts with HTTP and the status.

The error body

json
{
  "errors": [
    {
      "code": "WALLET_INSUFFICIENT_BALANCE",
      "message": "Insufficient wallet balance. Top up to continue.",
      "correlationId": "[ID]"
    }
  ]
}

Switch on errors[0].code. It is stable, the message is for people. Put the correlationId in every message to support: it finds the exact call.

A wallet stop (402) can also carry reserveMicros, availableMicros, missingMicros. Amounts end in Micros: 1,000,000 is EUR 1.

Statuses

StatusMeaningWhat to doRoutes that name it
400The request is not valid.Read the message. Fix the field it names.2
401The key is missing, wrong or revoked.Send the header Authorization: Bearer YOUR_KEY with the whole key.all
402The wallet is too low. The code says which case.Top up, then repeat. Do not retry before.12
403The key may not do this. A Read key tried something only a Full key may do.Use a Full key for this call.none
404The thing does not exist in your account.Check the id. A Read key lists your groups (GET /api/scraper/group/list) and scrapers (GET /api/scraper/list). Other accounts’ data answers 404 too.none
409The thing is busy or the call clashes with another.Wait, then retry. Use the code to see why.none
413The body is too big.Send less, or send a file with curl -T.none
429Too many calls.Wait the seconds in Retry-After, then retry slower.any route
500Something broke on our side.Retry once. If it stays, send us the correlationId.all
503We cannot do this right now (for example an export cannot be built).Wait a little and try again.none

“Routes that name it” counts, among the 160 routes a Read or Full key can call, the routes whose API reference entry lists this status. A status can still come back from a route that does not list it.

The two wallet stops (402)

Both mean the same thing for you: the wallet is too low. Top up, then repeat the call. Nothing is lost and nothing was charged for the call that stopped.

CodeWhen
WALLET_INSUFFICIENT_BALANCEAny paid call: the wallet has no balance and no free requests.
FLOW_RUN_SERVER_WALLET_LOWStarting a match run: the available balance is below the most the run can cost. The answer says how much is missing.
json
{
  "errors": [
    {
      "code": "FLOW_RUN_SERVER_WALLET_LOW",
      "message": "Matching did not start: top up and run again.",
      "reserveMicros": 1932750,
      "availableMicros": 500000,
      "missingMicros": 1432750
    }
  ]
}

See Wallet and billing and Run a match.

Error codes

These codes appear in the API reference. Only codes you can act on are listed.

CodeStatusMeaningWhat to doMore
WALLET_INSUFFICIENT_BALANCE402The wallet has no balance and no free requests left.Top up, then repeat the call. Retrying without a top-up gives the same answer.Wallet and billing
FLOW_RUN_SERVER_WALLET_LOW402A match run did not start: the available balance is below the most the run can cost. Nothing is charged.Top up at least missingMicros, then start the run again.Run a match
IDEMPOTENCY_KEY_REQUIRED400The call needs an idempotency key and none was sent.Send a new unique Idempotency-Key (or idempotency_key for a tool).API basics
IDEMPOTENCY_KEY_REUSED409The key was already used for a different request.Use a new key for a new request. Reuse a key only to retry the same request.API basics
ARGS_HASH_MISMATCH409The key was used for a different request.Use a new key.API basics
IDEMPOTENCY_IN_FLIGHT409The same call is still running.Wait a second and retry with the same key.API basics
MCP_REQUEST_IN_PROGRESS409The same tool call is still running.Wait, then ask again with the same key.Connect your assistant (MCP)
OWN_MATCH_RUNNING409A match run of this group is running, so the setup cannot be saved now.Wait for the run to end, then save again with the same key.Run a match
SCRAPER_RUN_IN_PROGRESS409A scraper of this group is running.Wait for it to end, then try again with the same key.Runs and errors
OTHER_GROUP_MATCHING409Another group of yours is matching at the moment.Wait for that run, then save again with the same key.Run a match
RUN_STILL_ENDING409A stopped run is still closing down.Retry after 5 seconds.Runs and errors
SCRAPER_RUN_ACTIVE409The scraper is running.Stop it with a Full key (GET /api/scraper/\{id\}/stop), then repeat the call.Runs and errors
GROUP_NOT_FOUND404The group is not in your account.Check the group id (a Read key lists your groups: GET /api/scraper/group/list). Groups of other accounts always answer like this.Groups
SCRAPER_NOT_FOUND404The scraper is not in your account.Check the scraper id (a Read key lists your scrapers: GET /api/scraper/list).Runs and errors
NOT_A_FILE_SCRAPER400You sent a file to a scraper that is not an upload scraper.Use the id of an upload scraper.Upload a file
KEY_COLUMN_REQUIRED400An add-mode upload needs a key column.Send keyColumn.Upload a file
FILE_TOO_LARGE413The file is too big for one call.Send the file as the request body with curl -T (it sets the file size), or save Excel as CSV.Upload a file
PAYLOAD_TOO_LARGE413The request body is too big.Send less in one call.Upload a file
EXPORT_TOO_LARGE400The export would hold more rows than one file may.Narrow the filters or export in parts.Exports and delivery
EXPORT_NO_MATCHED_RUN404The group has no finished match run to export.Run a match first.Results and review
EXPORT_DISK_LOW503Exports cannot be built right now.Try again shortly.Exports and delivery
WEBHOOK_URL_REFUSED400The webhook address is not allowed: it must be https, public, and carry no login.Use a public https address.Exports and delivery
WEBHOOK_OWNER_ONLY403The group is shared with you, so only its owner can change the webhook.Ask the owner.Shared groups
MCP_JOBS_BUSY429Your account already runs the number of long jobs it may run.Wait for Retry-After or cancel a job.Connect your assistant (MCP)
MCP_QUICK_BUSY429Too many calls at the same moment.Wait for Retry-After, then retry.Connect your assistant (MCP)

When you write to support

Open Support in the portal’s left menu to chat with us, or write to support@scrapewise.ai. Send the HTTP status, the correlationId from the body, the time of the call and what you tried to do.

Last updated 15 September 2026