reCAPTCHA v2 image recognition
ReCaptchaV2Classification recognizes the image challenges of reCAPTCHA v2: send the image and the question ID, and get back which tiles to click; your code does the clicking in the browser. It does not return a token. It is synchronous (one createTask request returns the result); a 3x3 or 4x4 image costs 6 points (¥0.006), and a 1x1 tile costs less (see the table).
https://api.yescaptcha.com/createTaskGlobal endpointhttps://cn.yescaptcha.com/createTaskChina endpointTask types and pricing
Section titled “Task types and pricing”| Task type | Price | Mode | Notes |
|---|---|---|---|
ReCaptchaV2Classification | 6 points (¥0.006) | Synchronous | 2 points for a 1x1 tile (100x100); 6 points for 3x3 (300x300) and 4x4 (450x450) |
Request parameters
Section titled “Request parameters”| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Task type; see "Task types and pricing" on this page |
image | string | Yes | Base64-encoded challenge image without the data: prefix |
question | string | Yes | Question ID such as /m/0k4j; see "Question IDs" on this page |
confidence | number | No | Confidence threshold from 0 to 1, only used for 3x3 images. If set (0.5 is a good start), every tile above it is returned; if omitted, the top 3 tiles are returned |
Scale the image to a standard size; the server determines the challenge type from it:
| Challenge | Image size | Returns |
|---|---|---|
| 3x3 grid (“Select all images with …”) | 300 × 300 | objects: tiles to click |
| 4x4 grid (“Select all squares with …”) | 450 × 450 | objects: tiles to click |
| 1x1 tile (a single replacement image after clicking in a 3x3 grid) | 100 × 100 | hasObject: whether to click it |
With screenshots, tell them apart by the wording: 3x3 says “Select all images with …”, 4x4 says “Select all squares with …”.
Request example
Section titled “Request example”{ "clientKey": "YOUR_CLIENT_KEY", "task": { "type": "ReCaptchaV2Classification", "image": "BASE64_IMAGE", "question": "/m/0k4j" }}Result
Section titled “Result”3x3 and 4x4:
{ "errorId": 0, "status": "ready", "solution": { "objects": [1, 5, 8], "type": "multi" }, "taskId": "3a9e8cb8-3871-11ec-9794-94e6f7355a0b"}1x1 tile:
{ "errorId": 0, "status": "ready", "solution": { "hasObject": true, "type": "single" } }| Field | Type | Description |
|---|---|---|
objects | array | Indexes of the tiles to click, starting at 0, left to right and top to bottom |
hasObject | boolean | Returned for a 1x1 tile; whether the tile contains the target |
type | string | Challenge type: multi (3x3 or 4x4 image, see objects), single (1x1 tile, see hasObject); drag for hCaptcha drag questions |
Tiles are numbered from 0, left to right and top to bottom:


confidence: get every matching tile at once
Section titled “confidence: get every matching tile at once”After you click a 3x3 grid, reCAPTCHA usually fades in new 1x1 tiles that also need checking. If those are hard to capture (for example in mobile apps), send confidence:
- Without it, a 3x3 image returns the 3 highest-scoring tiles (reCAPTCHA requires at least 3 clicks).
- With it (try
0.5), every tile scoring above the value is returned, which may be more or fewer than 3; an empty array if none match. You no longer need to send the 1x1 tiles. - It has no effect on 4x4 and 1x1 images.
Question IDs
Section titled “Question IDs”question is the question ID (starting with /m/), not the question text. The ID comes with the image in the response of the request reCAPTCHA uses to load the challenge (reload or userverify). Common questions:
| Question ID | Question (English) |
|---|---|
/m/0pg52 | taxis |
/m/01bjv | bus |
/m/04_sv | motorcycles |
/m/013xlm | tractors |
/m/01jk_4 | chimneys |
/m/014xcs | crosswalks |
/m/015qff | traffic lights |
/m/0199g | bicycles |
/m/015qbp | parking meters |
/m/0k4j | cars |
/m/015kr | bridges |
/m/019jd | boats |
/m/0cdl1 | palm trees |
/m/09d_r | mountains or hills |
/m/01pns0 | fire hydrant |
/m/01lynh | stairs |
No matching questions
ERROR_UNKNOWN_QUESTION means the ID is wrong or not supported yet. ERROR_UNKNOW_450x450_QUESTION means the question isn’t supported on 4x4 images yet; reload the challenge on the page to get another one.
Reports and refunds
Section titled “Reports and refunds”If the site rejects your clicks, report the tasks with report within 1 hour; refunds are settled after about 24 hours. Rules: Billing and refunds.