Introduction
The RazorCap API uses a two-step, task-based flow. You send a Create Task request describing the CAPTCHA you need solved, then poll the Get Result endpoint until the task reaches a terminal status. Every request and response is JSON. Failed solves are refunded automatically, so you only pay for successful results.
Authentication
Authentication is handled per request via your API key. Pass it as the key field in the request body — no headers required.
Find and rotate your API key in the dashboard. Keep it secret — anyone with your key can spend your balance.
Quick start
Choose your preferred language and get started in minutes.
import requests
import time
class RazorCapClient:
"""Clean wrapper for RazorCap API"""
def __init__(self, api_key: str):
self.api_key = api_key
self.base_url = "https://api.razorcap.cc"
def solve_hcaptcha(
self,
sitekey: str,
siteurl: str,
proxy: str,
rqdata: str = None
) -> str:
"""
Solve hCaptcha challenge
How it works
Two endpoints, one simple loop.
Create a task
POST your CAPTCHA details to /tasks/create_task and receive a task_id.
Poll for the result
GET /tasks/get_result/:task_id every second until status changes.
Use the token
On success, submit the returned response_key to the target site.
Endpoints
Complete reference for all available endpoints.
/tasks/create_taskCreates a new CAPTCHA solving task and returns a task ID for polling.
Request body
{
"key": "your-api-key",
"type": "hcaptcha_enterprise",
"data": {
"sitekey": "a9b5fb07-92ff-493f-86fe-352a2803b3df",
"siteurl": "discord.com",
"proxy": "http://user:pass@host:port",
"href": "https://discord.com/channels/@me",
"rqdata": "optional-rqdata"
}
}Response
{
"task_id": "abc123..."
}/tasks/get_result/:task_idRetrieves the result of a task. Poll this endpoint until the status is success.
Response — pending
{
"status": "pending"
}Response — success
{
"status": "success",
"response_key": "P1_eyJ0eXAiOiJKV1Qi..."
}Parameters
Every field accepted by the Create Task request body.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Required | Your RazorCap API key, found in your dashboard. |
type | string | Required | The CAPTCHA type to solve (e.g. hcaptcha_enterprise). |
data.sitekey | string | Required | The site key from the target website. |
data.siteurl | string | Required | The URL where the CAPTCHA is displayed. |
data.proxy | string | Required | Proxy in the format http://user:pass@host:port. |
data.href | string | Required | The full page URL where the challenge is rendered, e.g. https://discord.com/channels/@me. |
data.rqdata | string | Optional | Optional rqdata parameter, if the target requires it. |
Task statuses
The status field returned by Get Result.
The task is still being processed. Keep polling Get Result.
The task completed. The token is returned in response_key.
The task could not be solved. Failed solves are refunded automatically.
Need a hand?
Questions, custom solvers, or high-volume access — our team is on Discord.