Guides
Captcha guides
112 articles on what captchas are, the types, why they were created, how they changed, and how to call the API.
Captcha basics
2026-10-11
Audio captchas
An audio captcha is a sound clip for people who cannot see the picture. This API reads images only.
2026-10-10
Checkbox and invisible captchas
A checkbox or a silent risk score is a browser product. It often has no image you can download.
2026-10-09
Distorted text captchas
The classic captcha is warped letters or digits in a picture. Lines, colour, and odd fonts are part of the design.
2026-10-08
How captchas evolved
Each generation picked a task that programs of that year were bad at. When programs caught up, the task changed.
2026-10-07
A short history of captchas
From AltaVista's distorted text in 1997 to named CAPTCHAs, book scanning, and the checkbox.
2026-10-06
Why captchas were created
Captchas were added so a public form could not be called all night by a script that never saw the page.
2026-10-05
Types of captchas
Text, numbers, sums, photo grids, checkboxes, and audio are different tests. They are not one product.
2026-10-04
What CAPTCHA stands for
CAPTCHA is a name from 2000 for a test a computer can grade, meant to tell a person from a program.
2026-10-03
Captchas and accessibility
A picture-only test excludes people who cannot see it. Audio and simpler questions were added for that reason.
2026-10-02
Why image captchas are still everywhere
Many portals still draw digits or a sum. The check is simple, and the picture is easy to explain.
Captchas
2026-05-07
A short glossary
The words the API uses, in one place, so the rest of the guides stay short.
2026-01-30
Two workers must not solve one image twice
Decide who owns the image before you call the API, or you will pay twice for one answer.
2026-01-29
Do not photograph the screen
A camera photo is not the file the portal generated. Download the image instead.
2026-01-28
Empty and tiny images
A zero-byte body and a picture with no letters both come back as an image error, and you are not charged.
2026-01-27
Send base64 with no line breaks
The image field is one JSON string. Line wraps from the base64 tool must be removed.
2026-01-26
Where you should take the image from
Use the captcha URL the page loads, not a photo of the monitor and not the whole HTML document.
2026-01-24
You do not set the confidence cutoff
The service decides reliable from a fixed threshold per engine. Log the score, and branch on the flag.
2026-01-23
One captcha, one submit
Use the reading once. The portal will not accept it for a second form, and the API will not improve it.
2026-01-22
SVG captchas
Some portals draw the captcha as SVG. The service renders it locally and does not fetch anything the file points at.
2026-01-21
Letter case and look-alike characters
O and 0, l and 1, S and 5. The options decide which way those characters fold.
2026-01-20
Noise lines, colour, and odd fonts
Digit and word captchas are drawn with lines and warped letters. The text engine is trained on that kind of picture.
2026-01-19
How long a captcha stays valid
The portal sets the lifetime, often under a few minutes. Solve and submit inside that window.
2026-01-17
A captcha does not identify the visitor
Solving the image shows that this request saw the current picture. It does not name the person.
2026-01-16
A captcha answer is not a password
The text matches one image for a minute or two. The API key is the secret you must keep.
2026-01-15
How the decoder chooses the text
Options constrain the reading: digits only, an exact length, or a sum.
2026-01-14
What this API does not read
reCAPTCHA, hCaptcha, audio prompts, and Devanagari digits are outside the three engines.
2026-01-13
Refresh the captcha instead of retrying the same image
The same image produces the same reading. A new picture is the useful second try.
2026-01-12
What the reliable flag means
You are charged only when reliable is true. Otherwise refresh and solve a new image.
2026-01-10
An image captcha is not a checkbox
Digits, letters, and Hindi sums are pictures. A checkbox captcha is a browser widget.
2026-01-09
Why sites use captchas
A captcha makes a repeated form post cost an extra step, so a plain loop stops being free.
2026-01-08
What is a captcha?
A captcha is a short image or puzzle a site shows before it accepts a form.
Hindi captchas
2026-02-21
From a Devanagari word to an integer
The engine's job is the mapping. Your job is to submit the integer in text.
2026-02-20
What to log when a Hindi answer is rejected
Keep the task id, raw, expression, and text. The report call only sends the id.
2026-02-19
The portal pattern these Hindi captchas come from
State sites often ask a one-line sum in Devanagari before a search. The image is that line.
2026-02-18
Hindi captchas in a batch
Set math and hindi on the batch, or override them on the items that are Hindi and leave the digit items alone.
2026-02-17
Crop a Hindi captcha so the word and the digit both fit
Cutting off either operand leaves a sum the engine cannot finish.
2026-02-16
Trying a Hindi captcha on the site
The Try it box uses the signed-in account's credits. It is the same balance as the API key.
2026-02-14
How to read the raw field on a Hindi response
raw is the Devanagari the model saw. It explains the expression. It is not the value you submit.
2026-02-13
How the Hindi accuracy number was measured
175 live captchas, held out from training, all answered correctly.
2026-02-12
When not to set the Hindi flag
Set it only for a Devanagari number word inside a sum. Every other captcha has a better option.
2026-02-11
Alternative spellings the lexicon accepts
पन्द्रह, चवालीस, and पैंतीस are examples. The snap step maps them onto the standard number.
2026-02-10
The second number is a Western digit
The word is Devanagari. The other number is 0–9 as used on the portals this model was measured on.
2026-02-09
Plus and minus in Hindi captchas
The operator is part of the image. The engine applies it. You do not send plus or minus yourself.
2026-02-07
Type the text, and keep the expression for the log
text is the number the portal wants. expression is the sum, so you can see the working.
2026-02-06
Why hindi requires math
The Hindi engine reads a sum. The flag is rejected unless math is set as well.
2026-02-05
The tens: बीस, तीस, चालीस, पचास
Twenty, thirty, forty, and fifty are the stems. The words around them borrow those stems.
2026-02-04
Hindi number words from eleven to twenty
These words are irregular. ग्यारह is not दस-एक, and the engine memorizes the real spellings.
2026-02-03
Hindi number words from zero to ten
शून्य through दस are the short words. The solver snaps a reading to one of the known words.
2026-02-02
What a Hindi-number captcha looks like
The sum is written with a Hindi number word and Western digits, such as बयालीस − 6.
Numeric captchas
2026-03-07
A one-time password is not a captcha image
If the code arrives by SMS, there is no image to send. Do not photograph the SMS.
2026-03-06
The numeric samples on the site
The sample images show the request. They are not a benchmark for your portal.
2026-03-05
Repeating digits and stuck keys
5552 is a valid code. Do not collapse repeats because they look like a glitch.
2026-03-04
Leading zeros are still digits
A code can start with 0. Do not parse the text as an integer before you type it.
2026-03-03
Do not combine numeric and math
A digit code is not a sum. A sum is not a digit code. Send one or the other.
2026-03-02
Do not send the whole form screenshot for a digit code
The neighbouring label and the text box become extra digits.
2026-02-28
Numeric accuracy and the reliable subset
The headline accuracy and the accuracy among reliable answers are different numbers. Use the second one to decide.
2026-02-27
Fixed length versus variable length
Hard-code length only after you have counted real samples from that portal.
2026-02-26
Colour and background on digit captchas
Colour is part of the image. Do not threshold it to black and white before you send it.
2026-02-25
Look-alikes in digit codes
O, o, l, I, S, and Z are drawn so they resemble digits. Numeric mode folds them.
2026-02-24
Why an exact length helps a digit code
length throws away readings that cannot be the code, including ones that scored well internally.
2026-02-23
What a numeric captcha is
A numeric captcha is a code made of digits, often with a fixed length, drawn through lines.
Arithmetic captchas
2026-03-17
Reading an arithmetic sample end to end
14 + 9 comes back as text 23, expression 14+9, engine math, and reliable true when the image is clean.
2026-03-16
Leave length unset on a sum
The result can be one digit or three. A fixed length will force a wrong width.
2026-03-14
Do not recompute the sum in your client
text is already the result. A second calculator creates a second source of truth.
2026-03-13
Arithmetic versus Hindi math
Both return a computed text. Only Hindi images should set the Hindi flag.
2026-03-12
Keep expression in the log, not in the form
Support staff can see 14+9. The portal field should receive 23.
2026-03-11
What happens when the math model is unsure
If the math model cannot parse a sum, the text reader tries the same image and the answer is not marked reliable.
2026-03-10
Operators you will see
Plus, minus, and multiplication appear. The expression field shows the operator the engine used.
2026-03-09
What an arithmetic captcha is
The image shows a sum, such as 14 + 9, and the value to type is the result, 23.
Using the API
2026-05-06
A first-day checklist
Health, one sample, one real image, one reliable submit, one look at the balance.
2026-04-06
Reading a 422
The body is a validation error. The field name tells you what to fix. Retrying the same JSON will fail again.
2026-04-04
Why the path starts with /v1
The version is in the path so a future change does not silently alter clients.
2026-04-03
Log ids, not images
Captcha images are personal only in the sense that they are useless later and bulky now. The id is the record.
2026-04-02
Choosing between solve and submit
Use solve when the form is waiting. Use submit when you have a queue and a portal timer that can survive it.
2026-04-01
The OpenAPI reference is generated from the gateway
The reference page and the SDKs come from one spec, so the field names match.
2026-03-31
Do not call the API from a browser with a live key
A key in frontend JavaScript is a key anyone can take. Call from your server.
2026-03-30
Per-key concurrency
32 solves in flight and 256 unfinished submitted tasks are the default caps.
2026-03-28
Timeouts on the client and on the service
Give the client at least a few seconds. The service skips work the caller has already abandoned.
2026-03-27
Make the client idempotent on the portal, not on the API
The API charges a second reliable read of a new request. Your code should not send the image twice.
2026-03-26
The task-style routes
createTask, getTaskResult, getBalance, reportIncorrect, and reportCorrect exist for clients that already speak that shape.
2026-03-25
The credits header on a solve
Successful solves include X-Credits-Remaining so you do not need a second call to show a balance.
2026-03-24
API keys on the dashboard
Create a key, copy it once, and send it as a bearer token. You can revoke it later.
2026-03-23
What /health tells you
A public health response says whether the gateway can see the solver and the database.
2026-03-21
HTTP errors you should not retry blindly
401 and 422 will not succeed if you send the same request again. 503 and 429 might.
2026-03-20
Submit now and fetch the answer later
submit returns an id at once. result returns processing, then ready.
2026-03-19
When to use solve_batch
Use a batch when you already have many images. Do not use it to retry one image.
2026-03-18
POST /v1/solve is the normal call
One image in, one answer out, in the same HTTP response.
SDKs
2026-04-21
Set the host, and keep the version in the path
The client must talk to this origin. A default localhost host will not reach production.
2026-04-20
Which SDK to pick
Pick the language you already deploy. The HTTP call underneath is the same.
2026-04-18
Install the Dart SDK
The Dart client installs from this site, not from a public registry. a hosted pub URL at /sdk/pub.
2026-04-17
Install the Swift SDK
The Swift client installs from this site, not from a public registry. the git URL under /sdk/git.
2026-04-16
Install the Rust SDK
The Rust client installs from this site, not from a public registry. a sparse Cargo registry at /sdk/cargo/index/.
2026-04-15
Install the Ruby SDK
The Ruby client installs from this site, not from a public registry. gem install with the /sdk/gems source.
2026-04-14
Install the PHP SDK
The PHP client installs from this site, not from a public registry. a Composer repository at /sdk/composer.
2026-04-13
Install the C# SDK
The C# client installs from this site, not from a public registry. a NuGet source pointing at /sdk/nuget/index.json.
2026-04-11
Install the Kotlin SDK
The Kotlin client installs from this site, not from a public registry. the same Maven repository.
2026-04-10
Install the Java SDK
The Java client installs from this site, not from a public registry. the Maven repository at /sdk/maven.
2026-04-09
Install the Go SDK
The Go client installs from this site, not from a public registry. go get of the module on this host.
2026-04-08
Install the TypeScript SDK
The TypeScript client installs from this site, not from a public registry. npm install of the tarball from /sdk/npm.
2026-04-07
Install the Python SDK
The Python client installs from this site, not from a public registry. pip install of a wheel from /sdk/python.
Billing
2026-05-05
Separate keys for local, staging, and production
One account balance, more than one key, so you can revoke a laptop without stopping the worker.
2026-05-04
Free results and the bill
Invalid images and low confidence are free. They still take a request. They do not take a credit.
2026-05-02
When the balance hits zero
The next solve is 402. In-flight calls already reserved their credits. New calls stop.
2026-05-01
Alert URL rules
HTTPS, port 443, a public address, no redirects, and a small JSON body.
2026-04-30
How the per-thousand price is calculated
Divide the pack price by the number of credits, then multiply by 1,000. Only reliable answers count.
2026-04-29
Pack refunds and captcha refunds are different
A report returns one credit. A payment refund is a Razorpay question, not a /v1/report call.
2026-04-28
Buying a pack
Pay on the billing page. Credits appear when Razorpay reports the payment captured.
2026-04-27
The ledger and the usage chart
Purchases, the signup bonus, refunds, and adjustments are ledger rows. Solves show up in the daily usage counts.
2026-04-25
The 5,000 credit signup bonus
A new account can call the API immediately. The bonus is real credits, not a separate trial mode.
2026-04-24
Reporting a wrong reliable answer
Send the task id within 48 hours. The daily cap is 10% of that day's charged solves, plus 5.
2026-04-23
Credits and the three packs
One credit is one reliable answer. Packs are ₹100, ₹1,000, and ₹5,000.
2026-04-22
Low-balance alerts
One HTTPS webhook fires when a charged solve drops you under a threshold you choose.