Check Proxies (JSON)

POST /check

Check a list of proxies for availability and performance. Accepts JSON array of proxies.

Proxies can be in the following formats:

  • Non-Auth: host:port (e.g., 192.0.2.1:8080)
  • Auth (URL Format): username:password@host:port (e.g., user:pass@192.0.2.100:8080)
  • Auth (Legacy Format): host:port:username:password (e.g., 192.0.2.100:8080:user:pass)

Request Body Format:

{
  "proxies": ["ip:port", "user:pass@ip:port"],
  "region": "us1",
  "type": "http",
  "timeout": 5000
}
application/json

Body Required

  • proxies array[string] Required

    Array of proxy addresses in supported formats

  • region string

    Region to use for checking

    Values are sg1, au1, fr1, ie1, us1, us2, us3, us4, uk1, jp1, jp2, kr1, hk1, in1, br1, de1, ae1, za1, or se1. Default value is us1.

  • type string

    Type of proxy to check

    Values are http, socks4, or socks5. Default value is http.

  • timeout integer

    Custom timeout in milliseconds (default 2000 for HTTP, 2000 for SOCKS)

    Minimum value is 1000, maximum value is 20000.

Responses

  • 200 application/json

    Proxy check completed successfully

    Hide response attributes Show response attributes object
    • summary object
      Hide summary attributes Show summary attributes object
      • total_working integer

        Total number of working proxies found

      • countries object

        Distribution of proxies by country

        Hide countries attribute Show countries attribute object
        • * integer Additional properties
      • anonymity_levels object
        Hide anonymity_levels attributes Show anonymity_levels attributes object
        • elite integer
        • anonymous integer
        • transparent integer
      • top_isps object

        Top 10 ISPs by proxy count

        Hide top_isps attribute Show top_isps attribute object
        • * integer Additional properties
    • metadata object
      Hide metadata attributes Show metadata attributes object
      • user object
        Hide user attributes Show user attributes object
        • email string(email)
        • checks_used integer
        • remaining_checks integer
      • region_used string
      • region_name string
      • proxy_type string

        Values are http, socks4, or socks5.

      • timeout_used string
      • total_checked integer
      • processing_time string
    • result_url string(uri) | null

      Secure URL to download full results (expires in 12 hours)

  • 400 application/json

    Bad Request - Invalid input parameters

    Hide response attributes Show response attributes object
    • error string
    • message string
  • 401 application/json

    Unauthorized - Invalid or missing API key

    Hide response attributes Show response attributes object
    • error string
    • message string
  • 402 application/json

    Payment Required - Insufficient quota

    Hide response attributes Show response attributes object
    • error string
    • message string
    • required integer
    • available integer
    • shortfall integer
  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • error string
    • message string
POST /check
curl \
 --request POST 'https://api.clearproxy.io/check' \
 --header "X-API-Key: $API_KEY" \
 --header "Content-Type: application/json" \
 --data '{"proxies":["1.2.3.4:8080","myuser:mypassword@5.6.7.8:3128","9.10.11.12:1080:user2:pass2"],"region":"us1","type":"http","timeout":2500}'
Request examples
{
  "proxies": [
    "1.2.3.4:8080",
    "myuser:mypassword@5.6.7.8:3128",
    "9.10.11.12:1080:user2:pass2"
  ],
  "region": "us1",
  "type": "http",
  "timeout": 2500
}
Response examples (200)
{
  "summary": {
    "total_working": 2331,
    "countries": {
      "France": 80,
      "Germany": 100,
      "United States": 150
    },
    "anonymity_levels": {
      "elite": 200,
      "anonymous": 150,
      "transparent": 100
    },
    "top_isps": {
      "OVH": 40,
      "Amazon AWS": 45,
      "Digital Ocean": 50
    }
  },
  "metadata": {
    "user": {
      "email": "user@example.com",
      "checks_used": 100000,
      "remaining_checks": 4000
    },
    "region_used": "us1",
    "region_name": "US, Washington",
    "proxy_type": "http",
    "timeout_used": "5000ms",
    "total_checked": 100000,
    "processing_time": "12.32s"
  },
  "result_url": "https://content.clearproxy.io/result/abc123def456.json?token=xyz789&expires=1234567890"
}
Response examples (400)
{
  "error": "Invalid region",
  "available_regions": [
    "sg1",
    "au1",
    "fr1",
    "ie1",
    "us1",
    "us2",
    "us3",
    "us4",
    "uk1",
    "jp1",
    "jp2",
    "kr1",
    "hk1",
    "in1",
    "br1",
    "de1",
    "ae1",
    "za1",
    "se1"
  ]
}
{
  "error": "Invalid proxy type",
  "available_types": [
    "http",
    "socks4",
    "socks5"
  ]
}
{
  "error": "No valid proxies found",
  "message": "Please provide at least one proxy in a supported format"
}
Response examples (401)
{
  "error": "API key is required",
  "message": "Please provide API key in X-API-Key header or Authorization header"
}
{
  "error": "Invalid API key",
  "message": "The provided API key is not valid"
}
Response examples (402)
{
  "error": "Insufficient Checks",
  "message": "You are trying to use 1000 Checks but you only have 500 remaining",
  "required": 1000,
  "available": 500,
  "shortfall": 500
}
Response examples (500)
{
  "error": "Internal server error",
  "message": "An unexpected error occurred"
}