YOUR NEXT API INTEGRATION

Less friction.
More shipping.

Captcha solving API for developers.
Solve Turnstile and Aliyun with one familiar API. Built on our own infrastructure. Priced for what works.

From $0.002 / solve Pay only for success
your next successful request
POST/createTask
curl -X POST https://bilsolver.com/createTask \
  -H 'Content-Type: application/json' \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "TurnstileTaskProxyless",
      "websiteURL": "https://example.com",
      "websiteKey": "YOUR_SITE_KEY"
    }
  }'
EXAMPLE RESPONSE · AFTER POLLING"status": "ready" Solved.
01 Send task02 We solve Get token
ALREADY KNOW THE API?

2Captcha/CapMonsterSame workflow. New base URL.

Drop right in

REAL INFRASTRUCTURE. REAL NUMBERS.

Connecting to cluster
Total solved
—
Across reporting workers
Success rate
—
Of completed tasks
Workers online
—
Reporting to the cluster
Uptime
—
Responding worker

01 / CAPTCHA COVERAGE

The challenges change.
Your API doesn’t.

One integration for your captcha stack.
Available today, with more on the way.

02 / BUILT TO KEEP YOU MOVING

Your workflow.
Our heavy lifting.

We own and operate the infrastructure.
You focus on the code that matters.

Our cluster. Your capacity.

A self-hosted, 28-core cluster built for high concurrency. Parallel tasks, without managing solver infrastructure yourself.

See the infrastructure live

A familiar API

2Captcha / CapMonster-compatible endpoints. Keep your create-and-poll workflow and switch the base URL.

Your proxy, your call

Bring your proxy when the task needs one, or use a supported proxyless task.

Results come to you

Pass a callbackUrl and receive the result by webhook. Polling is optional.

Built to keep moving

Concurrent processing with automatic retries and backoff for transient failures.

Successful solve? That’s what you pay for.

Failed tasks are refunded automatically. Every API key has its own balance.

Transparent pricing

03 / SIMPLE MATH

Small price.
Less in your way.

Clear, per-solve pricing in USD.
Only successful solves count.

BILSOLVER pricing in USD for successful solves
Captcha typePer solvePer 1,000 solvesGet started
Cloudflare Turnstile$0.002$2.00
Aliyun Captcha V2$0.003$3.00
Aliyun Captcha V3$0.004$4.00
PLAN YOUR USAGE
1,000100,000
Estimated cost$20.00USD · pay per success

Task cost is deducted when created. If the solve fails, your balance is refunded automatically.

04 / LESS SETUP. MORE BUILDING.

Two calls.
One solved captcha.

Plain HTTP. JSON in, token out.
Pick your language and make it yours.

  1. 01

    Create a task

    Send your clientKey and captcha details to /createTask.

  2. 02

    Get the result

    Poll /getTaskResult until the status is ready. Use the returned token.

  3. 03

    Keep building

    Check your key’s balance with /getBalance, or add a webhook.

Read the full documentation
BASE URLhttps://bilsolver.com
solve.shBash + cURL + jq
#!/usr/bin/env bash
set -euo pipefail
BASE="https://bilsolver.com"
KEY="YOUR_API_KEY"

# 1. Create a task
created=$(curl --fail-with-body -sS --max-time 30 \
  "$BASE/createTask" -H 'Content-Type: application/json' \
  -d "{\"clientKey\":\"$KEY\",\"task\":{
    \"type\":\"TurnstileTaskProxyless\",
    \"websiteURL\":\"https://example.com\",
    \"websiteKey\":\"YOUR_SITE_KEY\"}}")
task_id=$(printf '%s' "$created" | jq -er \
  'if .errorId == 0 then .taskId else error(.errorCode) end')

# 2. Poll every 2s, with a 120s deadline
deadline=$((SECONDS + 120))
while (( SECONDS < deadline )); do
  sleep 2
  result=$(curl --fail-with-body -sS --max-time 30 \
    "$BASE/getTaskResult" -H 'Content-Type: application/json' \
    -d "{\"clientKey\":\"$KEY\",\"taskId\":\"$task_id\"}")
  printf '%s' "$result" | jq -e \
    'if .errorId == 0 then true else error(.errorCode) end' > /dev/null
  if [[ $(printf '%s' "$result" | jq -r '.status') == ready ]]; then
    printf '%s' "$result" | jq -r '.solution.token'
    exit 0
  fi
done
printf '%s\n' 'Polling timed out; the task may still finish.' >&2
exit 1

05 / GOOD QUESTIONS

A few things
worth knowing.

The details, before your first request.

More in the docs
Can I use my existing 2Captcha or CapMonster integration?

Yes. BILSOLVER supports the compatible JSON workflow: POST /createTask, POST /getTaskResult, and POST /getBalance. Set your base URL to https://bilsolver.com, use your BILSOLVER clientKey, and choose a supported task type. Check task parameters in the docs when migrating.

What happens if a captcha fails?

The task cost is deducted from your key’s balance when you create a task. Transient failures are retried with backoff. If the task ultimately fails, its cost is automatically refunded. You only pay for successful solves.

Which captchas can I solve right now?

Cloudflare Turnstile, Aliyun Captcha V2, and Aliyun Captcha V3 are available, including proxyless task variants. Aliyun tasks require a website URL, a scene ID as websiteKey, and a prefix. reCAPTCHA v3, GeeTest, and hCaptcha are coming soon and are not available yet.

Do you support proxies and webhooks?

Yes. Provide proxy settings on supported task types. To receive the result without polling, pass callbackUrl at the top level of your /createTask request. See the API reference for task fields and the callback payload.

How is my balance managed?

Each API key has its own balance. Send your clientKey to POST /getBalance to check it. Pricing is per successful solve in USD, with automatic refunds for failed tasks.

Are these live metrics or benchmarks?

They are live metrics from the public /stats endpoint, refreshed every 10 seconds while this page is visible. Counts cover reporting workers, success rate is solved divided by completed tasks, and uptime belongs to the responding worker. Metrics can reset when workers restart; they are not historical uptime guarantees.

YOUR NEXT REQUEST STARTS HERE

Build more.
Let us solve the captcha.

One familiar API. Your own key. Only pay for success.

Turnstile from $0.002 per successful solve.