Create Task

Creates a new captcha solving task and returns a task ID that can be used to retrieve the result.

API Endpoint

POST /createTask

Request Parameters

clientKey
string
required
Your API key.
task
object
required
An object containing task-specific parameters.
task.type
string
required
The type of captcha task to solve. Possible values include:
  • RecaptchaV2Task - Regular reCAPTCHA v2
  • RecaptchaV3Task - reCAPTCHA v3
  • HCaptchaTask - hCaptcha (standard and enterprise; set enterprise to true for enterprise sites)
  • TurnstileTask - Cloudflare Turnstile
  • FunCaptchaTask - FunCaptcha (Arkose Labs)
  • ImageToTextTask - Image-based captcha
task.websiteURL
string
required
The URL of the page where the captcha is located.
task.websiteKey
string
required
The site key of the captcha from the target website.
task.isInvisible
boolean
Set to true if the reCAPTCHA is invisible. Only applicable for RecaptchaV2Task.
task.minScore
number
Minimum score required for reCAPTCHA v3. Only applicable for RecaptchaV3Task.
task.pageAction
string
Action name used for reCAPTCHA v3. Only applicable for RecaptchaV3Task.
task.userAgent
string
The User-Agent header that will be used in solving the captcha.
task.proxy
string
Proxy in format login:password@ip_address:port.
task.invisible
boolean
Set to true if the hCaptcha is invisible. Default is false.
task.enterprise
boolean
Set to true for enterprise hCaptcha (Discord, Epic Games, TikTok, etc). Default is false.

Response

taskId
string
The unique identifier of the created task. Used to retrieve the task result.

Example Request - reCAPTCHA v2

curl -X POST https://captcha.vast.sh/api/solver/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "RecaptchaV2Task",
      "websiteURL": "https://example.com/recaptcha",
      "websiteKey": "6LcR_TAUAAAAAMtflUgIXnBu1ldPGo8YlHXKA0fy",
      "isInvisible": false
    }
  }'

Example Request - hCaptcha (Standard)

curl -X POST https://captcha.vast.sh/api/solver/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "HCaptchaTask",
      "websiteURL": "https://modrinth.com",
      "websiteKey": "4a7a2c80-68f2-4190-9d52-131c76e0c14e",
      "proxy": "user:pass@ip:port"
    }
  }'

Example Request - hCaptcha (Enterprise)

curl -X POST https://captcha.vast.sh/api/solver/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "HCaptchaTask",
      "websiteURL": "https://discord.com/register",
      "websiteKey": "a9b5fb07-92ff-493f-86fe-352a2803b3df",
      "proxy": "user:pass@ip:port",
      "enterprise": true,
    }
  }'

Example Response

{
  "taskId": "9d55c404-5a45-4e7b-8a93-b8ed9f26bdcf",
  "error": null
}

Error Codes

error
object
Error details when the request fails.
error.errorId
integer
Error ID.
error.errorCode
string
Error code identifier.
error.errorDescription
string
Human-readable error description.
Common error codes:
  • ERROR_KEY_DOES_NOT_EXIST - Invalid API key
  • ERROR_INSUFFICIENT_BALANCE - Not enough balance
  • ERROR_VALIDATION_FAILED - Invalid request parameters
  • ERROR_NO_SLOT_AVAILABLE - No available slots for task processing
  • ERROR_IP_BANNED - IP address banned

Notes

  • The task will be processed asynchronously. Use the returned taskId with the Get Task Result endpoint to retrieve the solution.
  • Different captcha types require different parameters. Refer to the documentation for specific captcha types for details.
  • For hCaptcha (standard and enterprise), use HCaptchaTask and set enterprise to true for enterprise sites.
  • Proxy usage is recommended for geo-restricted captchas or to improve success rates.