CAPTCHA solving API
EverySolve is a CAPTCHA-solving API with 53 challenge types in its catalog. Send a request to POST /api/v1/captcha with the challenge type and its required inputs. The result format depends on the type, and you pay only when a solution is delivered successfully.
How to identify the challenge type
Start with the strongest page signal. Most integrations can be identified from the loaded script and the container attributes before a request is sent.
- 01Inspect the scripts loaded by the page. A challenge-specific script URL is usually the strongest signal.
- 02Inspect data attributes on the challenge container. Use them with the script signal because names such as `data-sitekey` are shared by more than one widget.
- 03If scripts are bundled or obscured, inspect challenge-specific global objects exposed in the browser runtime.
- 04If a full page blocks access before the destination loads, use a challenge-page contract. These flows usually return cookie values rather than a form token.
- 05If you have only an image or question and no destination page, choose an image, text, point, box, or number task based on the required answer shape.
curl -X POST https://api.everyinfra.com/api/v1/captcha \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"type":"turnstile","website_url":"https://example.com","website_key":"SITE_KEY"}'
Branded challenge widgets
A widget embedded in a page or form, usually returning a token or named fields.
Alibaba CAPTCHA
alibabaAlibaba Cloud CAPTCHA can appear as a click-through, slider, puzzle, or other risk-adaptive widget; it is not Alibaba's separate page-level shield. The returned token belongs to the widget verification flow; do not treat it as a page-access cookie.
CaptchaFox
captchafoxCaptchaFox is a site-key widget; identify its script or widget configuration before copying the key. It returns a widget token, not a page-access cookie. Do not reuse a reCAPTCHA or Turnstile key simply because the DOM also says sitekey.
Capy Puzzle CAPTCHA
capyCapy Puzzle CAPTCHA uses a site key and may point to a deployment-specific API server. The response has captchakey, challengekey, and answer fields that must be read together; it is not a single token.
Friendly Captcha
friendly_captchaFriendly Captcha is a proof-of-work widget with its own site key and optional client library endpoint. It returns a widget token. It is not ALTCHA, MTCaptcha, or an invisible reCAPTCHA merely because the interaction is low-friction.
Arkose Labs FunCaptcha
funcaptchaArkose Labs FunCaptcha is commonly exposed through an Arkose script or a data-pkey/public-key value and may present interactive 3D or visual tasks. It returns the Arkose session token, commonly consumed through an fc-token field. It is not a reCAPTCHA Enterprise payload.
GeeTest CAPTCHA
geetestGeeTest uses a CAPTCHA ID/site key and can render adaptive, slide, click, or other challenge forms. The result is a five-field verification set: captcha_id, lot_number, pass_token, gen_time, and captcha_output, not one generic token.
hCaptcha
hcaptchahCaptcha is an h-captcha widget or explicit hcaptcha.render call with its own data-sitekey. The API returns the hCaptcha response in `gRecaptchaResponse`. The field name does not make the widget Google reCAPTCHA.
KeyCAPTCHA
keycaptchaKeyCAPTCHA is an older widget with several signed page values, not a single site-key integration. It returns the KeyCAPTCHA token; none of the four identifiers can be replaced with a reCAPTCHA-style data-sitekey.
Lemin CAPTCHA
leminLemin CAPTCHA can render boxed or invisible modes and uses a site key plus an optional container and API server. It returns answer and challenge_id together. Do not treat it as the single token returned by MTCaptcha or Turnstile.
MTCaptcha
mtcaptchaMTCaptcha is its own widget, commonly configured with an MTCaptcha site key; it is not Yandex SmartCaptcha despite the similar name. It returns an MTCaptcha token. Yandex SmartCaptcha loads Yandex Cloud scripts and uses smart-token; the site keys are not interchangeable.
Prosopo Procaptcha
prosopoProsopo Procaptcha is a site-key widget that can present proof-of-work or visual challenges according to its deployment. It returns a Procaptcha token. A data-sitekey attribute alone does not make it reCAPTCHA, hCaptcha, or Turnstile.
reCAPTCHA image grid
recaptcha_gridThe reCAPTCHA grid task solves an already extracted image question; it does not navigate a page or generate a reCAPTCHA site token. It returns selected object positions. Use `recaptcha_v2` for the complete widget token workflow.
reCAPTCHA v2
recaptcha_v2reCAPTCHA v2 is the classic checkbox or invisible v2 widget loaded through api.js and configured with a site key. It returns gRecaptchaResponse for the target form. v3 is score-based and Enterprise loads enterprise.js with Enterprise-specific context.
reCAPTCHA v2 Enterprise
recaptcha_v2_enterprisereCAPTCHA v2 Enterprise is a checkbox or policy-driven Enterprise key loaded through enterprise.js and grecaptcha.enterprise. It still returns gRecaptchaResponse, but Enterprise identifiers and payloads must not be mixed with classic v2 api.js values or score-based v3 keys.
reCAPTCHA v3
recaptcha_v3reCAPTCHA v3 is score-based and normally runs through grecaptcha.execute without showing the v2 checkbox. EverySolve returns gRecaptchaResponse, not Google's assessment score. The protected site's backend evaluates the token and action.
reCAPTCHA v3 Enterprise
recaptcha_v3_enterprisereCAPTCHA v3 Enterprise uses an Enterprise score-based key with enterprise.js and grecaptcha.enterprise.execute. It returns gRecaptchaResponse for Enterprise assessment. It has no v2 checkbox contract and is not classic v3 api.js merely because both are invisible.
Tencent Tendi CAPTCHA
tencent_tendiTencent Tendi CAPTCHA uses a captchaAppId/site key and can return a ticket plus randstr after its interactive challenge. The `ticket` and `randstr` parameters must be consumed together. They are not a reCAPTCHA response token or a page-access cookie.
Cloudflare Turnstile
turnstileCloudflare Turnstile is an embedded widget configured with a Turnstile site key. It may be managed, non-interactive, or invisible. It returns a token for `cf-turnstile-response`. A Cloudflare challenge page instead blocks navigation and returns clearance cookie data.
NetEase Yidun CAPTCHA
yidunNetEase Yidun, also called NECaptcha, initializes with its own captchaId and can present slider, click, or risk-adaptive challenges. It returns a Yidun token. Its captchaId and callback values are not Tencent ticket/randstr or GeeTest's five-field result.
Full-page access challenges
A page-level block that is resolved with cookie values or request-header data.
Akamai Bot Manager for mobile SDKs
akamai_bmpThis is the mobile-SDK flow: the target is an iOS or Android app package, not a web page widget. It returns a matched set of sensor data, user agent, and device ID. These three values belong together; this is not the cookie returned by the Akamai web flow.
Akamai sec-cpt
akamai_sec_cptA sec-cpt response is an Akamai intermediate challenge with a challenge cookie and a JSON payload from the blocked response. This task returns a challenge token after the challenge-defined wait. It is separate from the URL-only Akamai web cookie task.
Akamai Bot Manager for web
akamai_webThis is the browser-side Akamai Bot Manager flow, commonly indicated by cookies such as _abck or bm_sz rather than an embedded checkbox. The result is a cookie string for the same browser workflow, not mobile sensor data or a sec-cpt token.
Anubis
anubisAnubis is a full-page proof-of-work gateway, recognizable by its anubis_challenge data and progress page rather than a form widget. It returns a gateway cookie, not an embedded-widget token. Cookie lifetime and acceptance remain controlled by the protected site.
AWS WAF CAPTCHA
aws_wafAWS WAF CAPTCHA is a page or application challenge that establishes a browser token after the challenge is completed. This task returns cookie data for later requests. aws_waf_classify only identifies locations in challenge images and does not establish passage.
Basilisk
basiliskBasilisk, also encountered as FaucetPay CAPTCHA, is a site-key widget whose answer is paired with a user agent. Read captcha_response together with user_agent; it is not the single-token contract used by reCAPTCHA or Turnstile.
Castle
castleCastle is a risk and device-intelligence flow in which the target supplies structured metadata rather than a visible image puzzle. It returns a token set. Do not collapse that set into one token or infer a visual CAPTCHA from the product name.
Cloudflare challenge page
cloudflare_challengeA Cloudflare challenge page blocks the destination before it loads and is different from an embedded Turnstile widget. The result is cookie data such as a clearance credential. Turnstile returns a form token and uses a site key instead.
CyberSiARA
cybersiaraCyberSiARA identifies an embedded SiARA challenge through the target page and a master URL identifier. It returns a token for that SiARA session, not cookie passage for a general page-level bot wall.
DataDome CAPTCHA
datadomeThe DataDome CAPTCHA task starts from a captcha_url already issued for a blocked session. It returns cookie data bound to that flow. datadome_interstitial starts from a protected website URL instead of a CAPTCHA URL.
DataDome interstitial
datadome_interstitialA DataDome interstitial is a page-level block reached from the protected URL, not a standalone captcha_url task. It returns cookie data. Use datadome when an active DataDome captcha_url is already available.
F5 Shape
f5_shapeF5 Shape is a browser-protection flow around a guarded page rather than a visible image-recognition task. It returns cookie data for the page flow. f5_tspd is the separate TS-cookie family and should not be selected by name alone.
F5 TS protection
f5_tspdF5 TS protection is indicated by TS-prefixed cookies and page behavior associated with the BIG-IP protection module. The result is TS-family cookie data, not F5 Shape headers or an embedded widget token.
Imperva challenge
impervaImperva, historically called Incapsula, protects a page through browser and edge checks rather than a standalone image widget. It returns cookie data for the guarded workflow, not a widget token or a list of page resources.
Kasada
kasadaKasada's browser flow is indicated by x-kpsdk requests and response headers around a protected page. It returns x-kpsdk-ct, x-kpsdk-cd, x-kpsdk-v, x-kpsdk-r, and x-kpsdk-st fields, not a browser cookie string.
Kasada challenge data
kasada_cdKasada challenge-data generation starts from structured platform_inputs rather than navigating a protected URL. It returns `x-kpsdk-cd` with associated `ct` and `st` values. Use `kasada` for the URL-and-proxy browser flow.
PerimeterX challenge
perimeterxPerimeterX, now part of HUMAN Security, is a page-level application-protection flow rather than an embedded checkbox. It returns cookie passage for the protected session, not a form token or a property listing from a protected site.
Image and question tasks
Use when the input is already an image or prompt and the output is text, coordinates, boxes, or a number.
Audio CAPTCHA
audioThis task transcribes an audio CAPTCHA payload; it does not fetch audio from a page or solve an image challenge. It returns text. Use image for characters in a still image and text_captcha for a written question.
AWS WAF challenge classification
aws_waf_classifyThis is the image-classification half of an AWS WAF CAPTCHA, using challenge images plus the displayed instruction. It returns click positions in box, not an AWS WAF passage cookie. The caller still controls the browser interaction.
BotDeflector
botdeflectorBotDeflector here is an image-selection task: the submitted body is analyzed for point locations. It returns points, not a form token or browser cookie, so the caller remains responsible for applying the positions.
Bounding-box CAPTCHA
bounding_boxA bounding-box task asks for rectangles around matching objects in one source image. It returns bounding_boxes with rectangle geometry. Use coordinates for click points and recaptcha_grid for tile or object selections.
Coordinate-click CAPTCHA
coordinatesA coordinate task represents one or more click locations in an image, independent of any single CAPTCHA vendor. It returns coordinate points rather than rectangles, text, or a drag distance. The caller applies those points to the original image dimensions.
Image CAPTCHA
imageThe image task performs character recognition on an image payload; it is not a branded widget integration. It returns recognized text. Use audio for sound, text_captcha for a written question, and coordinate or box tasks for spatial answers.
Rotation CAPTCHA
rotateA rotation task receives one image that must be turned upright; it is a general visual task. It returns angle as a number. Use slider for a drag distance, coordinates for clicks, and bounding_box for rectangles.
SHEIN CAPTCHA
sheinThe SHEIN task is a site-specific icon-location model rather than the general bounding-box task. It returns rects for the matching regions. Images from other sites should use a suitable generic point or box task instead.
Slider CAPTCHA
sliderA slider task uses a background image and a separate puzzle piece to calculate how far the piece should move. It returns distance in pixels, not a coordinate, percentage, token, or drag trajectory. The caller creates the interaction path.
Temu CAPTCHA
temuThe Temu task matches an ordered parts array against a main challenge image. It returns coordinates in the same order as the candidate images in parts. It is not the single-image coordinate task and does not return a site token.
Text CAPTCHA
text_captchaA text CAPTCHA is a written question-and-answer prompt, often supplied by a forum or CMS rather than a hosted widget vendor. It returns answer text. Use image for pictured characters and audio for a spoken challenge.
Other challenge types
Additional challenges with their own request parameters and solution fields.
ALTCHA
altchaALTCHA is a proof-of-work widget, usually exposed as an altcha-widget element rather than an image grid. It returns a form token produced from the proof-of-work challenge, not a visual answer or a page-access cookie.
ATB CAPTCHA
atb_captchaatbCAPTCHA initializes with an appId and an apiServer and may render click, slider, or risk-adaptive challenges. The result is the atbCAPTCHA token. A similarly shaped widget from another brand does not make its identifiers interchangeable.
Binance CAPTCHA
binanceThe Binance task starts from a challenge validate_id rather than from a generic image or a reCAPTCHA site key. It returns the challenge token for that validation session. A stale identifier or an identifier from another flow is not interchangeable.
Cutcaptcha
cutcaptchaCutcaptcha exposes a Misery key and a separate CAPTCHA API key for a token-producing challenge. It returns a token; neither key is a generic site key and the two key roles must not be merged.
Hunt CAPTCHA
huntHunt is registered as a URL-based token task, but no stable public vendor signature is documented in the current evidence ledger. It returns a token. With no verified public signature, the catalog contract is authoritative and this page does not claim vendor-specific DOM selectors.
Yandex SmartCaptcha
yandex_smartcaptchaYandex SmartCaptcha is a Yandex Cloud widget, loaded through SmartCaptcha scripts and completed through its own widget API. It returns a token for the smart-token field. MTCaptcha is a different product with different scripts and server validation.
Solution shapes and how to use them
The solution object uses one of 8 supported response shapes. Types with the same shape can share response parsing code, while their request parameters may still differ.
| Solution shape | Returns | How to use it | Types |
|---|---|---|---|
boxes | Bounding boxes | Use each box's coordinates to identify or select a region in the source image. | 2 |
cookie | Cookie values | Attach the returned cookie fields to subsequent requests for the same workflow. | 10 |
fields | Named fields | Read the declared fields together; the target workflow may require the complete set. | 8 |
number | Number | Use the returned numeric value as the answer required by the challenge. | 2 |
points | Coordinate points | Apply the returned positions to the source image or click workflow using the coordinate or grid format declared by the type. | 5 |
text | Text | Use the returned text as the challenge answer. | 3 |
token | Token | Submit the token in the field or verification request expected by the target workflow. | 22 |
tokens | Token set | Use the returned tokens together according to the target workflow's request contract. | 1 |
CAPTCHA API questions
How do I identify the CAPTCHA used by a page?
Inspect loaded scripts first, then the challenge container's data attributes, and finally challenge-specific browser globals. If the whole page is blocked before it loads, use a challenge-page contract rather than an embedded widget contract.
Will an unsuccessful solve be charged?
No. EverySolve charges only on successful delivery. An unsuccessful or empty result is refunded automatically to the same account balance.
How much code changes when the CAPTCHA type changes?
The endpoint remains POST /api/v1/captcha. Change the type value and supply that type's declared parameters. Response parsing can be shared when two types use the same supported shape from the 8 available response shapes.
What does the `available` field mean?
GET /api/v1/captcha/types lists all 53 types and reports whether each can be delivered at that moment. Check the current availability before sending a request; a cached value is not a guarantee.
Start with the type catalog
Read the current parameters, solution shape, availability, and price before sending a request. Unsuccessful attempts are refunded automatically.