Skip to main content
Skip to content
ScrapingBuddyDevelopers
On this page 402 or 409: check credit or request ID

CAPTCHA API/Guides

Errors & troubleshooting

Find out whether a request was rejected, a task failed, or you simply need to wait.

402 or 409: check credit or request ID

402 means there is not enough available credit for the $0.015 reservation. Top up before creating a task. No task is submitted to the provider when this check fails.

409 means the idempotency key was already used for different input. Reuse the original body to retrieve that task, or generate a new UUID for a genuinely new task. Never generate a new UUID merely because a request timed out.

Request errors

HTTP errors use a top-level error string. Read both the HTTP status and the message. Do not assume every non-200 response is a solving failure.

Example response
{ "error": "Provide a UUID v4 Idempotency-Key header." }

400 or 413: fix the input

400 means validation failed: check the JSON, kind, required fields, supported file format and idempotency UUID. Grid image counts must match rows times columns. Send numeric fields as numbers, not strings.

413 means the full JSON body exceeded 5,000,000 bytes. Resize or compress the original files and encode them again. Individual file-size violations return 400 instead.

401 or 404: check access

401 means the API key is missing, invalid, expired or revoked. Verify your server environment and Authorization header.

404 means the task ID is invalid, the task does not exist, or it belongs to a different account. Use the original account and retained task ID.

429, 502 or 503: pause and investigate

429 means the account request limit or the limit of 10 active tasks was reached. Respect Retry-After when present; otherwise wait for an active task to finish. The limit is shared across API keys and includes polling.

502 indicates an upstream HTTP error or invalid response. 503 means the service is unavailable or not configured. For a create request with an uncertain outcome, check the existing task before considering another submission.

A task returned status: failed

A task-level failure is different from an HTTP error. Inspect task.errorCode and task.errorDescription. An unsolvable challenge may be unclear, expired or impossible to answer. Stop polling the failed task.

Review the original input before creating a new task. Changing the challenge requires a new task and request ID. Do not blindly retry identical unsolvable content.

What to include when contacting support

Send the task ID, request ID, approximate UTC time, CAPTCHA kind and the error message. Include sanitized request metadata if it helps explain the problem.

Never send your API key. Remove private information from screenshots and logs before attaching them to a support ticket.

CAPTCHA API v1
Getting startedIntroductionYour first taskAuthenticationPrepare image & audio inputs
Integration guidesPolling & safe retriesErrors & troubleshootingList tasks & usage

Explore the documentation

CAPTCHA APIIntroduction

Choose a CAPTCHA solution, create a task and retrieve its answer.

Integration guidesYour first task

Make one request, wait for the answer, and read your first result. Start with a text question so you do not need to prepare a file.

Integration guidesAuthentication

Connect your backend securely with a ScrapingBuddy API key.

Integration guidesPrepare image & audio inputs

Encode the original file correctly and stay within the limits for your solution.

Integration guidesPolling & safe retries

Follow a task to completion without creating duplicate work.

Integration guidesErrors & troubleshooting

Find out whether a request was rejected, a task failed, or you simply need to wait.

Integration guidesList tasks & usage

Retrieve your recent tasks and account-level usage summary.

CAPTCHA referenceCoordinates CAPTCHA

Send one image and get back the x/y click points requested by your instruction. Use this for image challenges where the answer is one or more points, such as “click the apple” or “

CAPTCHA referenceGrid CAPTCHA

Send separate tile images or one complete grid and get back the selected tile numbers. Use this for challenges that ask the user to select matching squares from a tiled image.

CAPTCHA referenceDrag & Drop CAPTCHA

Send a background image plus puzzle pieces and get destination coordinates for each piece. Use this for visual puzzles where one or more draggable pieces must be placed into matchi

CAPTCHA referenceBounding Box CAPTCHA

Send one image and get object boundaries as xMin, xMax, yMin, and yMax. Use this for challenges that ask the user to draw a box around an object or region.

CAPTCHA referenceNormal CAPTCHA

Send a CAPTCHA image and get back the text that should be typed. Use this for distorted image text challenges where the expected answer is a string.

CAPTCHA referenceText CAPTCHA

Send a plain text question and get back the answer text. Use this for human-readable questions, riddles, or text-only challenges that do not require an image upload.

CAPTCHA referenceRotate CAPTCHA

Send an image and get back the angle needed to rotate it into the correct position. Use this for challenges where an image must be turned until it is upright or aligned.

CAPTCHA referenceAudio CAPTCHA

Send an MP3 audio CAPTCHA and get back the transcribed text. Use this for audio challenges where the answer is the words or numbers spoken in the file.