Skip to main content
Skip to content
ScrapingBuddyDevelopers
On this page Overview

CAPTCHA API/API reference

Text 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.

01 / Prepare

Prepare the input

Put the complete written question in comment. No image or file upload is needed. Make the expected answer unambiguous and include any context needed to answer the question.

Each task reserves $0.015 from your wallet. Successful tasks cost 1.5 times the provider cost; unused reserved credit is returned. Failed tasks are not charged. Billing details

  • Include all context needed to answer the question.
  • Keep the wording short and direct.
  • Do not include private account data or credentials in the question text.
File encoding & limits

02 / Request

Request parameters

POST/api/v1/captcha/tasks

Send the JSON object directly, without a task wrapper. Set kind to text. All fields below belong to the JSON body.

Required headers
Authorizationstringrequired
Bearer followed by your ScrapingBuddy API key. Keep it on your server.
Content-Typestringrequired
application/json.
Idempotency-KeyUUID v4required
Retain one generated UUID per new task. Do not submit the same task concurrently.
Authentication guide
kindstringrequired
Always text.
commentstringrequired
The complete question, 1 to 1000 characters after trimming. No image is needed.

Decoded file limits use 1 KB = 1,000 bytes. The complete JSON payload must fit within 5,000,000 bytes after Base64 encoding.

03 / Result

Understand the result

Creation returns HTTP 201. Fetching the task returns HTTP 200. Both wrap the task in task; always check its status before reading the solution.

The returned solution.text is the answer, not a copy of your question. Keep it as text unless your application has a separate, explicit conversion rule. An accepted request may still end in a failed task if the question cannot be solved.

solution.textstring
Answer to your question, not an echo of comment. Preserve the returned text rather than coercing it to a number.
Shared task fields
idUUID
Save this ID to fetch the task or contact support.
statusstring
submitting or processing: wait. ready: use solution. failed: stop and read the error.
solutionobject | null
Null until a result is available. The shape depends on the CAPTCHA type.
errorCode / errorDescriptionstring | null
Task failure details. A failed task can still arrive with HTTP 200 or 201.
coststring | null
Provider-reported USD cost; not the customer debit.
chargedecimal string
Actual customer charge in USD: provider cost multiplied by 1.5. Zero before settlement or for legacy tasks.
billingStatusstring
reserved, charged, released, awaiting_credit, review, or legacy. A review requires support; awaiting_credit needs a top-up.
solveCountnumber | null
Provider-reported solving attempts when available.
createdAt / updatedAt / completedAttimestamp | null
Task timestamps; completedAt is null until the task has finished.
comment / requestMetastring / object
Saved instructions and input metadata. Raw files are not returned.

04 / Integrate

Complete examples

These Node.js and Python scripts prepare the input, create one task and poll until it is ready or failed. They stop waiting after approximately 3 minutes. A client timeout does not cancel the task.

  1. Set SCRAPINGBUDDY_API_KEY in your server environment.
  2. Replace the sample question or site values with your own challenge.
  3. For Node.js, use version 20+ and save as solve.mjs. For Python, install requests and save as solve.py.
  4. Run the script and retain the printed request and task IDs.

cURL shows task creation only. Use the GET example to retrieve its result.

When something goes wrong

Check whether you received an HTTP error or a task with status: failed. Fix validation errors before retrying. For HTTP 429, pause for Retry-After; all requests share the account limit of 60 per minute.

If creation times out, do not automatically submit another task. Keep your request ID and check the existing task or Usage first.

CAPTCHA API v1
CAPTCHA referenceCoordinatesGridDrag & DropBounding BoxNormalTextRotateAudio

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.