A CapSolver alternative built only for hCaptcha.
VanishCaptcha is a hosted, pay-per-solve hCaptcha API. Like CapSolver it returns a real token your client submits as h-captcha-response. It solves hCaptcha and nothing else, including enterprise rqdata. Credits never expire, and a failed solve is never charged.
VanishCaptcha vs CapSolver at a glance
| VanishCaptcha | CapSolver | |
|---|---|---|
| Captcha focus | hCaptcha only: regular, invisible, enterprise rqdata | Broad: reCAPTCHA, Turnstile, DataDome, AWS WAF, GeeTest, image-to-text, and more. hCaptcha is one of many |
| How it solves | Hosted hCaptcha solver. The API returns a real token your client submits | Recognition engines across many captcha types |
| Billing | Prepaid credits. A solve starts at 10 credits and steps up with each extra round | Prepaid balance, pay per solved task |
| Credit expiry | Never expire | Balance does not expire |
| Failed solves | Never charged | Unsolved tasks are not charged |
| Enterprise rqdata | Supported. Pass type hcaptcha_enterprise and the rqdata value | Supported, alongside many other types |
| API shape | REST: POST /v1/solves, block with ?wait= or poll the id | createTask, then poll getTaskResult |
| Published price | $0.20–$0.50 per 1,000 credits, by pack | Per-task rates. No separate hCaptcha line on the public table |
The difference is breadth versus depth
CapSolver is a broad captcha service. Its pricing page lists per-task rates for reCAPTCHA v2 and v3, Cloudflare Turnstile, AWS WAF, DataDome, GeeTest, and image-to-text. hCaptcha is supported, and it sits in that list rather than being the product.
VanishCaptcha does one thing. The API, the dashboard, and the Chrome extension are built for hCaptcha's regular, invisible, and enterprise variants. If the job is reCAPTCHA or DataDome, CapSolver covers those and VanishCaptcha does not. If the job is hCaptcha, this is the narrower tool.
Pricing, in the units each service publishes
The two price lists are not the same unit, so a single “cheaper by N%” line would be a guess.
CapSolver publishes per-1,000 rates by task type. Examples on that page include reCAPTCHA v2 around $0.80, Cloudflare Turnstile around $1.20, AWS WAF around $2.00, and DataDome around $2.50. There is no separate hCaptcha line. Confirm the hCaptcha figure on your own account before you switch.
VanishCaptcha publishes $0.20–$0.50 per 1,000 credits, depending on the pack. A successful solve costs 10 credits plus 4 for each round after the first, capped at 40. A typical solve on our traffic is about 22 credits, which is about $4.40–$11.00 per 1,000 solves at those pack rates. New accounts start with 1,400 credits. No subscription. Credits never expire. Failures, timeouts, and cancellations are not charged.
hCaptcha chooses how many rounds one sitekey throws. Price a sample of your own traffic on both services before you treat either sticker price as the bill.
Migrating off createTask / getTaskResult
CapSolver’s flow is two steps: POST createTask with an HCaptchaTaskProxyless task, then loop getTaskResult until the token is ready.
# CapSolver: createTask, then poll getTaskResult until ready. import time, requests CLIENT_KEY = "YOUR_CAPSOLVER_KEY" tid = requests.post("https://api.capsolver.com/createTask", json={ "clientKey": CLIENT_KEY, "task": { "type": "HCaptchaTaskProxyless", "websiteURL": "https://target.example/login", "websiteKey": "10000000-ffff-ffff-ffff-000000000001", }, }).json()["taskId"] while True: time.sleep(3) result = requests.post("https://api.capsolver.com/getTaskResult", json={ "clientKey": CLIENT_KEY, "taskId": tid, }).json() if result["status"] == "ready": token = result["solution"]["gRecaptchaResponse"] break
One call on VanishCaptcha
Create the solve and block for the result with ?wait=. The token comes back on that response, so there is no poll loop to write. For a long job, skip wait and poll GET /v1/solves/{id}. The API reference has the full object.
curl "https://api.vanishcaptcha.com/v1/solves?wait=90" \ -H "Authorization: Bearer $VANISHCAPTCHA_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "hcaptcha", "sitekey": "10000000-ffff-ffff-ffff-000000000001", "url": "https://target.example/login" }'
{
"id": "solve_01HQF7K3JKWZX",
"object": "solve",
"type": "hcaptcha",
"status": "solved",
"token": "P1_eyJ0eXAi...UV8w",
"credits_charged": 10
}import os, requests def solve_hcaptcha(sitekey: str, url: str) -> str: response = requests.post( "https://api.vanishcaptcha.com/v1/solves", headers={"Authorization": f"Bearer {os.environ['VANISHCAPTCHA_KEY']}"}, params={"wait": 90}, json={"type": "hcaptcha", "sitekey": sitekey, "url": url}, timeout=120, ) response.raise_for_status() return response.json()["token"]
Enterprise hCaptcha (rqdata)
Enterprise hCaptcha binds each challenge to an rqdata value. Pass type: "hcaptcha_enterprise" and that value. The solving guides show where each stack reads it.
When CapSolver is the better fit
If you need reCAPTCHA v2 or v3, Cloudflare Turnstile, DataDome, or AWS WAF, CapSolver covers them and VanishCaptcha does not. One vendor and one balance for several captcha types is their shape. VanishCaptcha is the better pick when hCaptcha is the job: enterprise rqdata, one REST call instead of a poll loop, credits that never expire, and no charge when a solve fails.
Last updated October 2026.
Frequently asked
Is VanishCaptcha a drop-in CapSolver replacement for hCaptcha?
createTask and a getTaskResult loop. VanishCaptcha uses POST /v1/solves and either blocks with ?wait= or returns an id to poll. Both tokens are submitted as the form’s h-captcha-response. VanishCaptcha does not solve reCAPTCHA, Turnstile, DataDome, or AWS WAF.How much does CapSolver charge for hCaptcha?
Does CapSolver solve more captcha types?
Can VanishCaptcha handle enterprise hCaptcha?
Keep reading
- Solving guides for Python, Selenium, Playwright, and the rest.
- Chrome extension for browsing without writing a client.
- API reference for the solve object and every field.