Low-latency HTTP API for Cloudflare Turnstile and Cloudflare IUAM (Under Attack Mode). Send a JSON request, get a token or clearance cookie back, typically in 1-4 seconds.
| Requests processed | Target uptime | Average solve time | Price |
|---|---|---|---|
| 500m+ | 99.9% | < 3s | $0.08 / 1k |
You only pay for successful solves.
Balance, API keys, and live request history live in one place: xsolve.me.
- Fast: Typical solve time is 1-4 seconds
- Two task types: Turnstile (
task.turnstile) and IUAM (task.iuam) - Pay for success only: Failed solves are not billed
- Simple JSON API: One
POSTtohttps://api.xsolve.me/task - Proxy support: HTTP, HTTPS, and SOCKS5
- Drop-in migration: Coming from Solverify, NSLSolver, or CapSolver? Change the base URL and API key
- Create an account at xsolve.me and copy your API key
POSTthe challengeurl(andsitekeyfor Turnstile) to/task- Use the returned token or
cf_clearancecookie in your request
| Task | Identifier | Price |
|---|---|---|
| Cloudflare Turnstile | task.turnstile |
$0.08 / 1k |
| Cloudflare IUAM | task.iuam |
$0.08 / 1k |
- $0.00008 per successful solve
- Unsuccessful solves are free
- Payment: cryptocurrency
| Deposit | Bonus | Example |
|---|---|---|
| Under $25 | - | $10 -> $10 |
| $25 - $49 | 20% | $30 -> $36 |
| $50 - $99 | 30% | $75 -> $97.50 |
| $100 - $500 | 40% | $200 -> $280 |
About 12,500 successful solves per dollar at the base rate.
| Deposit | Bonus | Balance | Solves |
|---|---|---|---|
| $1 | - | $1 | 12,500 |
| $5 | - | $5 | 62,500 |
| $25 | +$5 | $30 | 375,000 |
| $50 | +$15 | $65 | 812,500 |
| $100 | +$40 | $140 | 1,750,000 |
| $500 | +$200 | $700 | 8,750,000 |
If you already use Solverify, NSLSolver, or CapSolver, most integrations only need two changes:
- Base URL →
https://api.xsolve.me - API key → your Xsolve key
See the migration guide.
All requests use the same endpoint and header:
POST https://api.xsolve.me/task
X-Api-Key: YOUR_API_KEY
import requests
response = requests.post(
"https://api.xsolve.me/task",
headers={"X-Api-Key": "YOUR_API_KEY"},
json={
"mode": "turnstile",
"url": "https://example.com",
"sitekey": "0x4AAAAAA...",
},
)
print(response.json())Success
{
"token": "0.3g00PIzENb3goEq4-D.....",
"elapsed": "1.55s",
"status": "completed"
}Optional Turnstile fields when the widget provides them:
| Field | Required | Description |
|---|---|---|
mode |
yes | Must be turnstile |
url |
yes | Page that hosts the widget |
sitekey |
yes | Turnstile sitekey |
action |
no | Widget action, e.g. login |
cdata |
no | Widget cData |
proxy |
no | http://, https://, or socks5:// |
A proxy is required for IUAM tasks.
import requests
response = requests.post(
"https://api.xsolve.me/task",
headers={"X-Api-Key": "YOUR_API_KEY"},
json={
"mode": "iuam",
"url": "https://example.com",
"proxy": "socks5://user:pass@host:port",
},
)
print(response.json())Success
{
"headers": {
"Cookie": "cf_clearance=cZ3ow5J194Lyer0BTI64.....;",
"User-Agent": "Mozilla/5.0 ..."
},
"ip": "127.0.0.1",
"elapsed": "1.55s",
"status": "completed"
}Replay the returned Cookie and User-Agent on subsequent requests through the same proxy.
curl -X POST https://api.xsolve.me/task \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "turnstile",
"url": "https://example.com",
"sitekey": "0x4AAAAAA..."
}'More languages (JavaScript, Go, Java, Rust) and the full field reference: docs.xsolve.me.
| Website | xsolve.me |
| Documentation | docs.xsolve.me |
| Telegram | t.me/xsolveupdates |
| Discord | discord.gg/eM6wqY7z53 |
