API Documentation
Complete integration guide for MyDisct Solver captcha solving API. Automate hCaptcha, reCAPTCHA, FunCaptcha, and 45+ other captcha types with our REST API. Production-ready code examples in JavaScript, Python, and cURL.
Introduction
MyDisct Solver provides a RESTful API for automated captcha solving. Support for 45+ captcha types including hCaptcha, reCAPTCHA v2/v3, FunCaptcha, GeeTest, Cloudflare Turnstile, NetEase, Altcha, and more. Industry-leading accuracy and response times for production environments.
- 99.9% accuracy rate
- Average 2-3 second response time
- Image-based and token-based captcha support
- JSON REST API
- Real-time status polling
- Scalable infrastructure
Supported Captcha Types
Image-Based Captchas
Visual captcha challenges solved through AI image recognition. Returns solution coordinates or image selections.
| Type | Description | Time |
|---|---|---|
| hCaptcha | Grid-based image selection | 2-4s |
| reCAPTCHA | Google image recognition | 2-5s |
| FunCaptcha | Arkose Labs interactive challenges | 3-6s |
| GeeTest v3 | Slide, click, icon challenges | 2-4s |
| GeeTest v4 | Advanced slide and icon puzzles | 2-4s |
| TikTok | Rotation and click challenges | 3-5s |
| Rotate Image | Generic rotation puzzles | 2-4s |
| Tencent | Grid, click, slide verification | 2-4s |
| Binance | Exchange verification puzzles | 2-4s |
| Shopee | Slide and rotate puzzles | 2-3s |
| AWS WAF | Amazon Web Services captcha | 2-4s |
| MTCaptcha | OCR text recognition | 2-3s |
| CaptchaFox | Grid and slide challenges | 2-4s |
| Prosopo | Image classification | 2-3s |
| BLS | Numeric OCR verification | 1-2s |
| Temu | Temu puzzle captcha | 2-4s |
| DataDome | DataDome slide captcha | 2-4s |
| Lemin | Lemin cropped captcha | 2-4s |
| FaucetPay | Slider and icons captcha | 2-4s |
| Grid Captcha | Generic grid selection | 2-4s |
| Multi-Select | Multiple image selection | 2-4s |
| Click Captcha | Coordinate click challenges | 2-4s |
| Drag Captcha | Drag and drop puzzles | 2-4s |
| Slide Captcha | Generic slide puzzles | 2-3s |
| Text Captcha | OCR text recognition | 1-3s |
Token-Based Captchas
Invisible captcha verification. Returns authentication tokens for form submission.
| Type | Description | Time |
|---|---|---|
| hCaptcha | Standard invisible verification | 5-10s |
| hCaptcha Enterprise | Enterprise with rqdata support | 5-10s |
| reCAPTCHA v2 | Checkbox verification | 5-10s |
| reCAPTCHA v3 | Invisible with score | 5-10s |
| reCAPTCHA Enterprise | Enterprise verification | 5-10s |
| Cloudflare Turnstile | Invisible bot detection | 5-10s |
| Cloudflare Turnstile Managed | Managed mode verification | 5-10s |
| Cloudflare Challenge | Challenge page bypass | 10-15s |
| FunCaptcha | Arkose Labs token generation | 5-15s |
| GeeTest v4 | Token generation | 5-10s |
| MTCaptcha | Verification token | 5-10s |
| CaptchaFox | Token verification | 5-10s |
| AWS Captcha | AWS token generation | 5-10s |
| DataDome | DataDome token verification | 5-10s |
| Friendly Captcha | Privacy-focused proof-of-work | 5-10s |
| Lemin | Lemin token verification | 5-10s |
| Tencent | Tencent token verification | 5-10s |
| FaucetPay | FaucetPay captcha token | 5-10s |
| NetEase | NetEase (Yidun) token | 5-10s |
| Altcha | Proof-of-work captcha | 3-8s |
Base URL
All API requests use the following base URL:
https://solver-api.mydisct.com
HTTPS required. HTTP requests are rejected.
API Workflow
Two-step process for solving captchas:
Create Task
Send a POST request to /createTask with captcha details
Fetch Result
Poll /fetchResult with the task ID until the captcha is solved
Use Solution
Apply the returned solution to your captcha challenge
Quick Example
Here's a simple example of solving an hCaptcha using our API:
// Step 1: Create Task
const createResponse = await fetch('https://solver-api.mydisct.com/createTask', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
auth: {
token: 'YOUR_API_KEY'
},
context: {
source: 'api',
version: '1.0.0'
},
captcha: {
type: 'HCAPTCHA_IMAGE',
metadata: {
siteUrl: 'https://example.com',
siteKey: 'site-key-here'
},
payload: {
images: [
'/9j/4AAQSkZJRgABAQAAAQABAAD...', // Base64 image 1
'/9j/4AAQSkZJRgABAQAAAQABAAD...', // Base64 image 2
'/9j/4AAQSkZJRgABAQAAAQABAAD...', // Base64 image 3
'/9j/4AAQSkZJRgABAQAAAQABAAD...', // Base64 image 4
'/9j/4AAQSkZJRgABAQAAAQABAAD...', // Base64 image 5
'/9j/4AAQSkZJRgABAQAAAQABAAD...', // Base64 image 6
'/9j/4AAQSkZJRgABAQAAAQABAAD...', // Base64 image 7
'/9j/4AAQSkZJRgABAQAAAQABAAD...', // Base64 image 8
'/9j/4AAQSkZJRgABAQAAAQABAAD...' // Base64 image 9
],
question: 'Select all images with traffic lights',
questionType: 'grid'
}
}
})
});
const createData = await createResponse.json();
const taskId = createData.task.id;
let result;
while (true) {
await new Promise(resolve => setTimeout(resolve, 3000)); // Wait 3 seconds
const resultResponse = await fetch('https://solver-api.mydisct.com/fetchResult', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
taskId: taskId
})
});
result = await resultResponse.json();
if (result.task.status === 'completed') {
console.log('Solution:', result.task.result.answers);
break;
}
}
Next Steps
Now that you understand the basics, explore the following sections to get started: