---
title: "Cloudflare Turnstile"
description: "Solve a Turnstile widget and receive a challenge token."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.uncaptcha.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloudflare Turnstile

Use task type `turnstile`.

## Request data

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | string | Yes | Absolute URL of the page containing the widget |
| `sitekey` | string | Yes | Turnstile sitekey, usually beginning with `0x` |
| `proxy` | string | Recommended | `http`, `https`, `socks4`, or `socks5` proxy URL |
| `action` | string | No | Widget action, when configured by the site |
| `cdata` | string | No | Widget custom data, when configured by the site |

```json title="task_data"
{
  "url": "https://example.com/register",
  "sitekey": "0x4AAAAAABs37s-ih7Jepz0J",
  "proxy": "http://user:pass@203.0.113.10:8080",
  "action": "register",
  "cdata": "very_secure_cdata"
}
```

The complete request is:

```json
{
  "task_type": "turnstile",
  "task_data": {
"url": "https://example.com/register",
"sitekey": "0x4AAAAAABs37s-ih7Jepz0J",
"proxy": "http://user:pass@203.0.113.10:8080",
"action": "register",
"cdata": "very_secure_cdata"
  }
}
```

## Solution

| Field | Type | Description |
| --- | --- | --- |
| `token` | string | Solved Turnstile response token |

```json title="data.solution"
{
  "token": "0.ABC123..."
}
```

Submit this value through the same field or callback the target flow uses for
its Turnstile response.

> **Action and cData must match**
>
> Only send `action` and `cdata` when the widget uses them. If present, copy
> their values exactly from the target integration.

Source: https://docs.uncaptcha.io/tasks/turnstile/index.mdx
