Get Captcha Statistics
February 4, 2026
Table of contents
Query captcha solving statistics for your account. Returns detailed information about captcha token requests and their success/failure rates. Compare success rates across all configured providers to help decide which one works best for your use case. Use anonymized=true for a quick summary without downloading individual data rows.
Note:
- Data latency is at least 5 minutes, but should not exceed 15 minutes.
- Data is retained for 3 months.
- Results are cached for 5 minutes.
https://api.useapi.net/v1/google-flow/accounts/captcha-stats
Request Headers
Authorization: Bearer {API token}
API tokenis required, see Setup useapi.net for details.
Query Parameters
| Parameter | Required | Description |
|---|---|---|
date | No | Date in YYYY-MM-DD format.Defaults to today if limit is not specified. |
limit | No | Number of records to return (max: 50000). If specified, date filter is ignored and returns last N records across all dates. |
provider | No | Filter by captcha provider. Supported: EzCaptcha, CapSolver, YesCaptcha |
anonymized | No | Set to true to return summary only without individual data rows.Useful for comparing success rates across providers. Uses last 3000 records, ignores date/limit filters. |
Responses
-
Returns captcha statistics for the specified filters.
{ "date": "2026-02-03", "total": 42, "summary": { "from": "2026-02-03T00:05:23.000Z", "to": "2026-02-03T23:58:47.000Z", "time_span": "23 hours 53 minutes", "success_rate_by_provider": { "EzCaptcha": 96.67, "CapSolver": 91.67 }, "by_status_code_images": { "200": 85.71, "403": 14.29 }, "by_status_code_videos": { "200": 94.29, "403": 5.71 }, "avg_captcha_ms": 8500, "avg_api_ms": 1200, "avg_attempt": 1.2 }, "data": [ { "timestamp": "2026-02-03T10:30:00.000Z", "jobId": "20260203103000123-user:123-bot:google-flow", "provider": "EzCaptcha", "taskId": "abc123-task-id", "route": "post-videos", "statusText": "OK", "pageAction": "VIDEO_GENERATION", "error": "", "statusCode": 200, "captchaDurationMs": 8500, "apiDurationMs": 1200, "attemptNumber": 1 } ] }The
summaryobject provides aggregated statistics (omitted if no data). -
Missing or invalid parameters.
{ "error": "<error message>" } -
Invalid API token.
{ "error": "Unauthorized" }
Model
// Response structure
{
date?: string // Date filter applied (YYYY-MM-DD)
limit?: number // Limit filter applied
provider?: string // Provider filter applied
total: number // Total records returned
summary?: { // Aggregated statistics (omitted if no data)
from: string // Earliest timestamp (ISO 8601)
to: string // Latest timestamp (ISO 8601)
time_span: string // Human readable duration (e.g., "2 days 5 hours")
success_rate_by_provider: Record<string, number> // Success rate % per provider (excludes 503)
by_status_code_images: Record<string, number> // Status code % for IMAGE actions
by_status_code_videos: Record<string, number> // Status code % for VIDEO actions
avg_captcha_ms: number // Average captcha solve time in ms
avg_api_ms: number // Average API call time in ms
avg_attempt: number // Average attempt number
}
data: Array<{
timestamp: string // ISO 8601 timestamp
jobId: string // Job identifier
provider: string // Captcha provider used (EzCaptcha, CapSolver, YesCaptcha)
taskId: string // Provider's task ID
route: string // API route (post-videos, post-images, etc.)
statusText: string // HTTP status text (OK, Forbidden, NetworkError)
pageAction: string // reCAPTCHA action (VIDEO_GENERATION, IMAGE_GENERATION)
error: string // Error message (empty on success)
statusCode: number // HTTP status code (200, 403, 0 for network errors)
captchaDurationMs: number // Captcha solve duration in ms
apiDurationMs: number // API call duration in ms
attemptNumber: number // Attempt number (1 = first try, 2+ = retry)
}>
}
Examples
-
# Today's stats curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v1/google-flow/accounts/captcha-stats" # Specific date curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v1/google-flow/accounts/captcha-stats?date=2026-02-01" # Last 1000 records curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v1/google-flow/accounts/captcha-stats?limit=1000" # Filter by provider curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v1/google-flow/accounts/captcha-stats?provider=EzCaptcha" # Summary only (no data rows) curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v1/google-flow/accounts/captcha-stats?anonymized=true" -
const apiUrl = 'https://api.useapi.net/v1/google-flow/accounts/captcha-stats'; const token = 'YOUR_API_TOKEN'; const response = await fetch(apiUrl, { headers: { 'Authorization': `Bearer ${token}` } }); const stats = await response.json(); console.log(`Total records: ${stats.total}`); console.log(`Success rates:`, stats.summary?.success_rate_by_provider); console.log('Data:', stats.data); -
import requests apiUrl = 'https://api.useapi.net/v1/google-flow/accounts/captcha-stats' token = 'YOUR_API_TOKEN' headers = { 'Authorization': f'Bearer {token}' } # Today's stats response = requests.get(apiUrl, headers=headers) stats = response.json() print(f"Total records: {stats['total']}") print(f"Success rates: {stats.get('summary', {}).get('success_rate_by_provider')}") # Filter by provider response = requests.get( apiUrl, params={'provider': 'EzCaptcha'}, headers=headers )