Get Captcha Statistics

February 4, 2026

Table of contents

  1. Request Headers
  2. Query Parameters
  3. Responses
  4. Model
  5. Examples
  6. Try It

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}

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

  • 200 OK

    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 summary object provides aggregated statistics (omitted if no data).

  • 400 Bad Request

    Missing or invalid parameters.

    {
      "error": "<error message>"
    }
    
  • 401 Unauthorized

    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
    )
    

Try It