Built for teams processing 100k+ CAPTCHAs per day in scraping, RPA, QA and regulated environments.
AntiCaptcha is built for platforms where CAPTCHA failures directly impact revenue, uptime, or data integrity. If CAPTCHAs keep breaking your scripts, pipelines or robots, this is for you.
Maintain stable crawlers on thousands of domains without babysitting CAPTCHA changes.
Keep your keyword, SERP and competitive intelligence data flowing — even when search engines get aggressive.
Continuously monitor prices, availability and reviews across airlines, OTAs and marketplaces.
Let robots log into secure portals and back-office systems without throwing tasks back to humans.
Access government registries and court databases reliably and with full audit trails.
Validate impressions, clicks and landing pages at scale — without losing requests to CAPTCHA walls.
CAPTCHAs were built to block abuse, not your business. But they still end up breaking legitimate automations, creating downtime, hidden costs and noise for engineering teams.
When CAPTCHAs change, your scrapers and robots start failing. Dev teams get pulled from roadmap work to patch scripts — again and again.
Value line:
We keep your success rate stable with managed CAPTCHA solving and proactive updates.
Building and maintaining your own CAPTCHA solvers is expensive: GPU costs, model training, edge-cases, fallbacks, monitoring.
Value line:
We turn this into a service: ML + human fallback, error analytics and SLAs — fully managed.
Enterprise clients don’t care about hacks. They want predictable SLAs, billing, audit logs and clear responsibilities.
Value line:
We offer enterprise contracts, invoicing, priority queues and compliance-ready reporting.
No need to rebuild your automations. You just route CAPTCHA challenges through AntiCaptcha.
Your bots send CAPTCHA images, HTML snippets or tokens via API or SDK.
Our engine combines ML models, pattern libraries and an optional human-in-the-loop fallback.
We return the answer (text, token, cookie) and your automation proceeds as normal.
Optimized on real traffic, not toy datasets. We track solve rate by domain and scenario.
Consistent performance at high concurrency. Designed to maintain responsiveness as volume grows.
We can reserve capacity and routing logic exclusively for your traffic.
Combine fast automated solves with human review for edge-case CAPTCHAs.
Per-domain stats, error rates, solve times, alerting and exportable reports.
Configurable logging, data minimization and EU or specific-region data handling.
Each industry hits CAPTCHAs in different parts of the flow, but the pattern is the same: when CAPTCHAs break, business stops. Here are a few typical scenarios.
Challenge:
A data vendor was scraping 5,000+ domains for price and product data. CAPTCHA changes caused up to 12% daily job failures.
Solution:
They connected their crawlers to Anti-Captcha and routed all CAPTCHA challenges through us.
Result:
Failures dropped below 1%. Their team stopped firefighting and focused on new datasets.
Challenge:
SERP collection for long-tail keywords in Tier-1 markets triggered heavy CAPTCHA and WAF responses.
Solution:
They used our API for image and reCAPTCHA solving on top of their existing proxy stack.
Result:
Stable SERP coverage in US/EU/UK/JP with predictable API costs and SLAs for their own clients.
Challenge:
RPA robots pulling daily statements from 30+ banking portals regularly fell back to human operators due to CAPTCHAs.
Solution:
Integrators plugged AntiCaptcha into their RPA workflows.
Result:
Robots now complete flows end-to-end, freeing hundreds of human hours per month.
Challenge:
Accessing dozens of government registries with varying CAPTCHA widgets broke KYC checks in peak hours.
Solution:
Our engine normalized CAPTCHA solving and provided per-registry stats for compliance.
Result:
Higher KYC throughput, fewer manual exceptions and better auditability.
#pip3 install anticaptchaofficial from anticaptchaofficial.imagecaptcha import * solver = imagecaptcha() solver.set_verbose(1) solver.set_key("YOUR_API_KEY_HERE") # Specify softId to earn 10% commission with your app. # Get your softId here: https://anti-captcha.com/clients/tools/devcenter solver.set_soft_id(0) # optional parameters, see documentation for details # solver.set_phrase(True) # 2 words # solver.set_case(True) # case sensitivity # solver.set_numeric(1) # only numbers # solver.set_minLength(1) # minimum captcha text length # solver.set_maxLength(10) # maximum captcha text length # solver.set_math(True) # math operation result, for captchas with text like 50+5 # solver.set_comment("only green characters") # comment for workers # solver.set_pool("en") # language pool captcha_text = solver.solve_and_return_solution("captcha.jpeg") if captcha_text != 0: print("captcha text "+captcha_text) else: print("task finished with error "+solver.error_code)
// npm install @antiadmin/anticaptchaofficial // https://github.com/anti-captcha/anticaptcha-npm const ac = require("@antiadmin/anticaptchaofficial"); const fs = require('fs'); const captcha = fs.readFileSync('captcha.png', { encoding: 'base64' }); ac.setAPIKey('YOUR_API_KEY_HERE'); // Specify softId to earn 10% commission with your app. // Get your softId here: https://anti-captcha.com/clients/tools/devcenter ac.setSoftId(0); // Additional flags, see documentation description // ac.settings.phrase = true; // 2 words // ac.settings.case = true; // case sensitivity // ac.settings.numeric = 1; // only numbers // ac.settings.comment = "only green letters"; // text comment for workers // ac.settings.math = true; // math operation like 50+2 // ac.settings.minLength = 1; // minimum amount of characters // ac.settings.maxLength = 10; // maximum number of characters // ac.settings.languagePool = 'en'; // language pool ac.solveImage(captcha, true) .then(text => console.log('captcha text: '+text)) .catch(error => console.log('test received error '+error));
// Install with: // go get github.com/anti-captcha/anticaptcha-go package main import ( "fmt" "github.com/anti-captcha/anticaptcha-go" "log" ) func main() { // Create API client and set the API Key ac := anticaptcha.NewClient("API_KEY_HERE") // set to 'false' to turn off debug output ac.IsVerbose = true // Specify softId to earn 10% commission with your app. // Get your softId here: https://anti-captcha.com/clients/tools/devcenter //ac.SoftId = 1187 // Make sure the API key funds balance is positive balance, err := ac.GetBalance() if err != nil { log.Fatal(err) // Exit program to make sure you don't DDoS API with requests, while having empty balance return } fmt.Println("Balance:", balance) // Solve image captcha solution, err := ac.SolveImageFile("captcha.jpg", anticaptcha.ImageSettings{ // Optional settings, see documentation for description // Phrase true, // Set to 'true' if the image has 2 or more words // CaseSensitive true, // Set to 'true' if the image is case-sensitive // Numeric 1, // Set numbers mode // MathOperation true, // Set to 'true' if the needs a math operation, like result of 50+5 // MinLength 1, // Set minimum length of the text // MaxLength 10, // Set maximum length of the text // LanguagePool "en", // Set language pool to 'en' for English, 'rn' for Russian // Comment "Type in green characters", // Optional comment for the task // WebsiteURL: "https://some-website.com/", // Optional to collect stats in the dashboard by this website }) // OR // solution, err := ac.SolveImage("image-encoded-in-base64", anticaptcha.ImageSettings{}) if err != nil { log.Fatal(err) } fmt.Println("Captcha Solution:", solution) }
//git clone https://github.com/anti-captcha/anticaptcha-php.git include("anticaptcha.php"); include("imagetotext.php"); $api = new ImageToText(); //your anti-captcha.com account key $api->setKey("YOUR_API_KEY_HERE"); //setting file $api->setFile("captcha.jpg"); //Specify softId to earn 10% commission with your app. //Get your softId here: https://anti-captcha.com/clients/tools/devcenter $api->setSoftId(0); //$api->setPhraseFlag(true); // 2 words flag //$api->setCaseFlag(true); // case sensitivity flag //$api->setNumericFlag(1); // only numbers flag //$api->setMathFlag(true); // math operation flag //$api->setMinLengthFlag(1); // minimum number or characters flag //$api->setMaxLengthFlag(10); // maximum number of characters flag //$api->setLanguagePool("en"); // define language pool (see available pools above) //Define the source website to collect statistics in your Anti-Captcha dashboard //$api->setWebsiteURL("https://mywebsite.com/"); //create task in API if (!$api->createTask()) { echo "API v2 send failed - ".$api->getErrorMessage()."\n"; exit; } $taskId = $api->getTaskId(); if (!$api->waitForResult()) { echo "could not solve captcha\n"; echo $api->getErrorMessage()."\n"; } else { $captchaText = $api->getTaskSolution(); echo "captcha text: $captchaText\n\n"; }
//git clone https://github.com/anti-captcha/anticaptcha-java.git package com.anti_captcha; import com.anti_captcha.Api.ImageToText; import com.anti_captcha.Helper.DebugHelper; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.net.MalformedURLException; import java.net.URL; import java.util.Iterator; import java.util.concurrent.ThreadLocalRandom; public class Main { public static void main(String[] args) throws InterruptedException, MalformedURLException, JSONException { DebugHelper.setVerboseMode(true); ImageToText api = new ImageToText(); api.setClientKey("YOUR_API_KEY_HERE"); api.setFilePath("captcha.jpg"); //Specify softId to earn 10% commission with your app. //Get your softId here: https://anti-captcha.com/clients/tools/devcenter api.setSoftId(0); //optional parameters, see documentation //api.setPhrase(true); // 2 words //api.setCase(true); // case sensitivity //api.setNumeric(ImageToText.NumericOption.NUMBERS_ONLY); // only numbers //api.setMath(1); // do math operation like result of 50+5 //api.setMinLength(1); // minimum length of the captcha text //api.setMaxLength(10); // maximum length of the captcha text //api.setLanguagePool("en"); // set pool of the languages used in the captcha if (!api.createTask()) { DebugHelper.out( "API v2 send failed. " + api.getErrorMessage(), DebugHelper.Type.ERROR ); } else if (!api.waitForResult()) { DebugHelper.out("Could not solve the captcha.", DebugHelper.Type.ERROR); } else { DebugHelper.out("Result: " + api.getTaskSolution().getText(), DebugHelper.Type.SUCCESS); } } }
//git clone https://github.com/anti-captcha/anticaptcha-csharp.git using System; using Anticaptcha_example.Api; using Anticaptcha_example.Helper; using Newtonsoft.Json.Linq; namespace Anticaptcha_example { internal class Program { private static void Main() { DebugHelper.VerboseMode = true; var api = new ImageToText { ClientKey = "YOUR_API_KEY_HERE", FilePath = "captcha.jpg", // Specify softId to earn 10% commission with your app. // Get your softId here: // https://anti-captcha.com/clients/tools/devcenter SoftId = 0 // Additional flags, see documentation for details // Phrase = false, // 2 words // Case = false, // case sensitivity // Numeric = 1, // numbers only // Math = 1, // math operation like result of 50+5 // MinLength = 1, // minimum length of solution // MaxLength = 10, // maximum length // LanguagePool = "en" // language pool, see docs for available pools }; if (!api.CreateTask()) DebugHelper.Out("API v2 send failed. " + api.ErrorMessage, DebugHelper.Type.Error); else if (!api.WaitForResult()) DebugHelper.Out("Could not solve the captcha.", DebugHelper.Type.Error); else DebugHelper.Out("Result: " + api.GetTaskSolution().Text, DebugHelper.Type.Success); } } }
curl -i -H "Accept: application/json" \ -H "Content-Type: application/json" \ -X POST -d '{ "clientKey":"YOUR_API_KEY_HERE", "task": { "type":"ImageToTextTask", "body":"BASE64_BODY_HERE__NO_NEWLINES__NO_EXTRA_TAGS__ONLY_CLEAN_BASE64", "phrase":false, "case":false, "numeric":0, "math":false, "minLength":0, "maxLength":0, "languagePool":"en" }, "softId": 0 }' https://api.anti-captcha.com/createTask
Pricing is based on CAPTCHA type, traffic volume and latency requirements. Typical deployments start at enterprise volumes.
Solutions
Price per 1000
Image Captcha
Arkose Labs
Custom Tasks
Object Coordinates
Amazon WAF
* Prices vary depending on the daily volume of captchas
**The cost depends on the V3 score
CAPTCHA solving sits close to your automation, data and reputation. We treat it accordingly.
We follow industry best practices for encryption in transit and at rest.
Optional no-logging modes for sensitive workflows.
Data residency and routing options (e.g. EU-only).
Clear acceptable-use policy: we work with lawful automation and outright reject abusive or harmful use cases.
Tell us about your volume, use case and reliability requirements. We’ll confirm if AntiCaptcha fits your workload.