Terminal one-liners, bash scripts & PowerShell — updated August 2026
Image captchas solve in one cURL command — live today. The reCAPTCHA two-command flow (create the task, then poll) is a planned preview — see /supported-captchas. Copy the bash script below for a cron-ready solver. $0.50 free balance on signup, no credit card required.
📋 Status: Live today via the API: image/text captchas ($0.80 per 1,000, ~1.2s median) plus GeeTest, Tencent, xCaptcha, MTCaptcha and Amazon WAF ($1.00 per 1,000) — measured numbers at /benchmarks. reCAPTCHA, hCaptcha and Cloudflare Turnstile are planned, not yet available — see /supported-captchas.
The image API is synchronous — upload the file, get the text back immediately. This is the same endpoint documented in the API docs:
curl -X POST https://captchakings.com/api/process.php \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "captcha=@captcha.jpg"
Response (success):
{
"success": true,
"data": {
"prediction": "7H3kP",
"confidence": 97.5,
"process_time": 0.84
},
"billing": {
"amount_charged": 0.0008,
"balance_remaining": 0.4992,
"plan": "payg"
}
}
Extract just the text with jq:
curl -s -X POST https://captchakings.com/api/process.php \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "captcha=@captcha.jpg" | jq -r '.data.prediction'
The Amazon solver is also synchronous — upload the challenge image, get the click coordinates back in one response (~8s median, set a 30s client timeout). reCAPTCHA v2/v3 and hCaptcha are planned, not yet available — see /supported-captchas:
curl -s -X POST https://captchakings.com/api/amazon.php \ -F "api_key=YOUR_API_KEY" \ -F "target_class=car" \ -F "file=@challenge.png" | jq '.coordinates'
Retrying the same challenge after a transient failure? Add -F "is_retry=true" so you are not billed twice for it. reCAPTCHA's token flow will be documented at launch — the endpoints on this page are the live ones.
Save this as solve_amazon.sh. It prints the coordinates JSON on success and exits non-zero on failure, so cron mails you errors automatically:
#!/usr/bin/env bash
# Usage: ./solve_amazon.sh <challenge_image> <target_class>
set -euo pipefail
API_KEY="${CAPTCHAKINGS_KEY:?Set CAPTCHAKINGS_KEY env var}"
IMAGE="$1"
TARGET_CLASS="$2"
# Synchronous solve — one POST, coordinates in the response (~8s median, allow 30s)
RESULT=$(curl -s --max-time 30 -X POST "https://captchakings.com/api/amazon.php" \
-F "api_key=$API_KEY" \
-F "target_class=$TARGET_CLASS" \
-F "file=@$IMAGE")
echo "$RESULT" | jq -e '.coordinates' >/dev/null || { echo "Solve failed: $RESULT" >&2; exit 1; }
echo "$RESULT" | jq -c '.coordinates'
Run it from cron (e.g. every 15 minutes, result saved to a file):
*/15 * * * * CAPTCHAKINGS_KEY=ck_xxx /opt/scripts/solve_amazon.sh /tmp/challenge.png "car" > /var/run/amazon_coords.json
No curl needed — Invoke-RestMethod -Form handles the multipart endpoints natively on PowerShell 7+:
$ApiKey = $env:CAPTCHAKINGS_KEY
# Synchronous Amazon WAF solve — one POST, coordinates in the response
$r = Invoke-RestMethod -Method Post `
-Uri "https://captchakings.com/api/amazon.php" `
-TimeoutSec 30 `
-Form @{
api_key = $ApiKey
target_class = "car"
file = Get-Item ".\challenge.png"
}
$r.coordinates | ConvertTo-Json -Compress
For the image API on PowerShell 7+, multipart is one call:
$r = Invoke-RestMethod -Method Post `
-Uri "https://captchakings.com/api/process.php" `
-Headers @{ Authorization = "Bearer $env:CAPTCHAKINGS_KEY" } `
-Form @{ captcha = Get-Item ".\captcha.jpg" }
$r.data.prediction
| Captcha Type | Endpoint | Result |
|---|---|---|
| Image captcha | captchakings.com/api/process.php | Solved text (synchronous) — live, ~1.2s median, $0.80 / 1,000 |
| AWS WAF (Amazon) | captchakings.com/api/amazon.php | Click coordinates (synchronous) — live, ~8s median, $1.00 / 1,000 |
| reCAPTCHA / hCaptcha / Turnstile | Announced at launch | Planned — token flow at launch, see /supported-captchas |
| 2Captcha-compatible | captchakings.com/in.php / res.php | Drop-in migration format |
-s for scripts, -v for debugging — silent mode keeps output clean for pipes and jq.CAPTCHAKINGS_KEY), not in the script or crontab history.ls *.jpg | xargs -P8 -I{} curl ... -F "captcha=@{}".Yes — both live APIs are synchronous: one multipart POST to /api/process.php returns the solved text, and one to /api/amazon.php returns the challenge coordinates. reCAPTCHA support is planned, not yet live — see /supported-captchas and /recaptcha-solver.
With jq: curl ... | jq -r '.data.prediction' for images, jq '.coordinates' for Amazon challenges. jq is in every major distro's repos and on Windows via winget.
Yes — Invoke-RestMethod -Form handles multipart uploads on PowerShell 7+. Examples above.
Yes — the bash script prints only the token to stdout and exits non-zero on failure, so cron emails you errors. A sample crontab line is included above.
$0.50 free balance on signup — test with your own captchas.
Get Your API Key