EverySolve CAPTCHA API
Cloudflare Turnstile API
EverySolve's Cloudflare Turnstile API returns a token for your challenge workflow. Send POST /api/v1/captcha with type set to turnstile and the inputs listed below.
Cloudflare 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.
- Endpoint
- POST /api/v1/captcha
- Type
- turnstile
- Per 1,000 successful solutions
- $1.53 per 1,000 successful solutions
Request parameters
Provide website_url and website_key. Optional parameters are action, cdata, and page_data.
Required parameters
website_urlwebsite_keyOptional parameters
actioncdatapage_datacurl -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":"<website_url>","website_key":"<website_key>"}'
How to recognize Cloudflare Turnstile
Cloudflare Turnstile is an embedded widget configured with a Turnstile site key. It may be managed, non-interactive, or invisible.
What makes Cloudflare Turnstile different
It returns a token for cf-turnstile-response. A Cloudflare challenge page instead blocks navigation and returns clearance cookie data.
Where the Cloudflare Turnstile parameters come from
Copy website_key from data-sitekey or turnstile.render; action, cdata, and page_data must come from the same widget instance when present.
website_urlRequired- The exact page where this challenge appears, including the relevant path rather than only the site home page.
website_keyRequired- The public site or widget key copied from this exact target integration; it is not a secret key.
actionOptional- The action name used by this widget instance; copy it from the target integration instead of inventing a generic action.
cdataOptional- The widget's custom data value from the same challenge instance, when the page supplies one.
page_dataOptional- The serialized page data attached to this widget instance when the target exposes it.
What the API returns
The API returns a token. Place it in the hidden cf-turnstile-response field. The token expires after 300 seconds and can be used only once.
- Solution shape
- token
- Solution fields
token
How to use the Cloudflare Turnstile API
- 01Read GET /api/v1/captcha/types and select the
turnstileentry. - 02Send
type: "turnstile"and the required parameters to POST /api/v1/captcha. - 03Read a token from
token. - 04Place the returned token in the hidden
cf-turnstile-responsefield and submit it within its 300-second validity period. The token can be used only once.
Billing and availability
EverySolve charges only when a solution is delivered successfully. Unsuccessful attempts are refunded automatically. Read available and the price fields from GET /api/v1/captcha/types at request time rather than treating them as static page content.
Cloudflare Turnstile integration questions
How can I identify Cloudflare Turnstile before choosing a type?
Cloudflare Turnstile is an embedded widget configured with a Turnstile site key. It may be managed, non-interactive, or invisible. Use turnstile only after those signals match the target challenge.
Which target-page values belong in a Cloudflare Turnstile request?
Copy website_key from data-sitekey or turnstile.render; action, cdata, and page_data must come from the same widget instance when present. Provide website_url and website_key. Optional parameters are action, cdata, and page_data.
What does Cloudflare Turnstile return, and what should not be confused with it?
The Cloudflare Turnstile API returns a token in token. Its solution format is token. It returns a token for cf-turnstile-response. A Cloudflare challenge page instead blocks navigation and returns clearance cookie data.
Which external source explains the Cloudflare Turnstile integration?
Cloudflare documents Turnstile rendering, widget modes, callbacks, and token handling. [Open the Cloudflare Turnstile reference](https://developers.cloudflare.com/turnstile/). EverySolve-specific fields and live availability still come from the type catalog.