Testing API
Technical reference and code examples for NoCap.ing API.
Testing API Reference
This guide covers the technical details of the solver endpoints and provides ready-to-use integration scripts.
Endpoint Base URL
All requests must be sent as POST requests with JSON payloads and contain your authorization header.
Authentication Header
Provide your API key in the custom header for all requests:
X-Api-Key: YOUR_API_KEY
Content-Type: application/json1. Create Task
Submit a captcha solving task to the system.
Endpoint: POST /createTask
Payload Structure:
{
"task": {
"type": "FUNCAPTCHA_IMAGE",
"input": {
"variant": "dance_floor",
"image": "<BASE64_IMAGE_STRING>"
}
}
}| Field | Type | Description |
|---|---|---|
| task.type | String | Type of task (e.g., FUNCAPTCHA_IMAGE) |
| task.input.variant | String | The specific puzzle variant (e.g., dance_floor, 3d_rollball_animals) |
| task.input.image | String | Base64-encoded string of the puzzle image |
Response:
{
"success": true,
"taskId": "cmpdpjp8l00003j6q1p3pf36i",
"status": "PENDING",
"charged": "0.14"
}2. Get Task Result
Retrieve the solution of the submitted task.
Endpoint: POST /getTask
Payload Structure:
{
"id": "cmpdpjp8l00003j6q1p3pf36i"
}Response (Solved):
{
"success": true,
"id": "cmpdpjp8l00003j6q1p3pf36i",
"status": "SUCCESS",
"solution": [ 2 ],
"charged": "0.14"
}(Note: The exact structure of the response solution can vary depending on the captcha variant. It typically contains index positions or specific values).Complete Python ImplementationHere is a complete, working example using Python to send a task, wait, and retrieve the solution:
import requests
import time
API_KEY = "YOUR_API_KEY"
URL = "https://solver.nocap.ing"
def solve_captcha(variant, base64_image):
headers = {
"X-Api-Key": API_KEY,
}
# 1. Create a task
payload_create = {
"task": {
"type": "FUNCAPTCHA_IMAGE",
"input": {
"variant": variant,
"image": base64_image
}
}
}
res_create = requests.post(f"{URL}/createTask", json=payload_create, headers=headers)
task_id = res_create.json().get("taskId")
print(f"Created Task ID: {task_id}")
# 2. Wait for processing (usually 1-5 seconds)
time.sleep(5)
# 3. Retrieve the solution
payload_result = {"id": task_id}
res_result = requests.post(f"{URL}/getTask", json=payload_result, headers=headers)
result = res_result.json()
return result.get("solution")
# Example usage (Replace the placeholder base64 with your actual image data)
sample_image_base64 = "/9j/2wCEAAoHBwgHBgoICAg..."
solution = solve_captcha("dance_floor", sample_image_base64)
print("Solution:", solution)