NoCap.ing

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

https://solver.nocap.ing

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/json

1. 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>"
    }
  }
}
FieldTypeDescription
task.typeStringType of task (e.g., FUNCAPTCHA_IMAGE)
task.input.variantStringThe specific puzzle variant (e.g., dance_floor, 3d_rollball_animals)
task.input.imageStringBase64-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)

On this page