Open Source
Turnstile Solver API
Solve Turnstile challenges programmatically with a simple POST request. Fast, reliable, and community-maintained.
Quick Start
API Endpoint
POST
/turnstile
Parameters
Send a JSON body with the following fields:
url
string
Required
The URL where Turnstile is to be validated
sitekey
string
Required
The site key for Turnstile
action
string
Optional
Action to trigger during CAPTCHA solving, e.g. login
cdata
string
Optional
Custom data for additional CAPTCHA parameters
cf_selector
string
Optional
Custom CSS selector for the Turnstile widget (default: .cf-turnstile)
Request
cURL
curl -X POST https://your-domain.com/turnstile \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"sitekey": "0x4AAAAAAA..."
}'
Response
The API returns a task ID. Use it to query the result:
JSON — 202 Created
{
"status": "created",
"task_id": "d2cbb257-9c37-4f9c-..."
}
Get Result
GET
/result?id=<task_id>
Query the result of a solving task by task ID:
id
string
Required
The unique task ID returned from the /turnstile request
Pending (202)
{
"status": "pending"
}
Success (200)
{
"status": "success",
"data": {
"token": "0.KBtT-r...",
"elapsed_time": 7.625
}
}
Failed (500)
{
"status": "error",
"error": "CAPTCHA_FAIL",
"elapsed_time": 30.123
}