Friendly Captcha Solver, solved in 5.0s.
Solve Friendly Captcha — the proof-of-work widget with no puzzles. Returns the solution token you drop into the frc-captcha-response field.
Friendly Captcha is a privacy-first, GDPR-friendly captcha that shows no images or puzzles. Instead of a challenge, the visitor's browser runs a proof-of-work computation (a hash brute-force) in the background and submits a token. Sites verify that token server-side. There are two widget generations: v1 (the friendly-challenge SDK) and v2 (the frcapi.com SDK).
Quick Integration
import requests, time
API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"
# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
"clientKey": KEY,
"task": {
"type": "FriendlyCaptchaTaskProxyLess",
"websiteURL": "https://example.com/signup",
"websiteKey": "FCMST5VWFSAY7ELV"
}
}).json()
task_id = task["taskId"]
print(f"Task created: {task_id}")
# Step 2: Poll for result
while True:
result = requests.post(f"{API}/getTaskResult", json={
"clientKey": KEY,
"taskId": task_id
}).json()
if result["status"] == "ready":
print("Solved!", result["solution"])
break
elif result["status"] == "failed":
print("Failed:", result.get("errorDescription"))
break
time.sleep(1)
Using the result
# Step 3: Use the result — paste the token into the site's captcha form field
token = result["solution"]["token"]
# Browser side: set the textarea value or the hidden input. Then submit.
# Server-to-server: post the token alongside the form fields you normally send.
resp = requests.post("https://target.example.com/submit", data={
"username": "...",
"captcha_response": token, # <-- replace with the field name your site uses
})
print(resp.status_code)1. Send Payload
Dispatch your FriendlyCaptchaTaskProxyLess to our processing cluster via the secure API endpoint.
2. Solving Engine
We load the widget and run the same proof-of-work the browser would, then hand back the solution token. Friendly Captcha isn't IP-bound, so no proxy is required — send websiteKey + websiteURL and, if the site uses the newer widget, version: "2".
3. Get Result
Poll getTaskResult for the validated token, then finalize your automated request.
Using your own proxy
Use FriendlyCaptchaTask instead of FriendlyCaptchaTaskProxyLess to route the solve through your own proxy — useful when the target site checks that the solving IP matches the submitting IP.
import requests, time
API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"
# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
"clientKey": KEY,
"task": {
"type": "FriendlyCaptchaTask",
"websiteURL": "https://example.com/signup",
"websiteKey": "FCMST5VWFSAY7ELV",
"proxyType": "http",
"proxyAddress": "123.45.67.89",
"proxyPort": "8080",
"proxyLogin": "user",
"proxyPassword": "pass"
}
}).json()
task_id = task["taskId"]
print(f"Task created: {task_id}")
# Step 2: Poll for result
while True:
result = requests.post(f"{API}/getTaskResult", json={
"clientKey": KEY,
"taskId": task_id
}).json()
if result["status"] == "ready":
print("Solved!", result["solution"])
break
elif result["status"] == "failed":
print("Failed:", result.get("errorDescription"))
break
time.sleep(1)
Additional proxy parameters
proxyTypetypestringreqyesProxy protocol: http, https, socks4, or socks5proxyAddresstypestringreqyesProxy IP address or hostnameproxyPorttypenumberreqyesProxy port numberproxyLogintypestringreqnoProxy username (if auth required)proxyPasswordtypestringreqnoProxy password (if auth required)userAgenttypestringreqnoUser-Agent string to use. Must match the UA you use when submitting the tokenTask Parameters
API SpectypetypestringreqyesFriendlyCaptchaTaskProxyLess or FriendlyCaptchaTaskwebsiteURLtypestringreqyesThe page URL where the Friendly Captcha widget loads (Friendly verifies the solution against the domain)websiteKeytypestringreqyesThe Friendly Captcha sitekey (data-sitekey on the frc-captcha element, starts with FC...)versiontypestringreqno"1" for the friendly-challenge SDK (default) or "2" for the newer frcapi.com SDK. Match the script the site loads.Response Shape
tokentypestringThe proof-of-work solution token. Set it as the value of the hidden frc-captcha-response input, then submit the formExample response
{
"errorId": 0,
"status": "ready",
"solution": {
"token": "0.ABCDEfghIJKL1234567890abcdefghij...<friendly PoW solution>..."
}
}Error response
{
"errorId": 1,
"errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
"errorDescription": "Solver gave up."
}Features
Pricing & Stats
Start solving friendly captcha.
$0.10 in free credits — no card. ~250 free solves to test before you spend.