Quickstart

First request in 5 minutes

Get an API key, call the endpoint, read quota + rate limit headers, and learn the core response fields.

1) Get an API key

Create an account in the dashboard and copy your API key (looks like prdx_...).

2) Call the API (cURL)

Tip: add -i to see quota/rate-limit headers.

curl -i -sS https://predax.io/api/v1/check/ip \
  -H "X-API-Key: prdx_..." \
  -H "Content-Type: application/json" \
  -d '{"ip":"8.8.8.8"}'

3) Use the response (what matters)

  • classification.risk_score (0–100) + classification.risk_level
  • classification.is_proxy, is_vpn, is_tor, is_datacenter, is_crawler
  • classification.flags + classification.reasons (when available)
  • network.asn/network.as_name and location.country_code (best-effort)
  • meta.request_id and response header X-Request-ID for debugging/support

4) Read quota + rate limit headers

  • X-Quota-Limit-Day, X-Quota-Used-Today, X-Quota-Remaining-Today, X-Quota-Reset-Daily
  • X-Quota-Limit-Month, X-Quota-Used-Month, X-Quota-Remaining-Month, X-Quota-Month
  • X-RateLimit-Limit-Per-Second, X-RateLimit-Remaining-This-Second

5) Optional: residential proxy enrichment

If you can pass a stable user_id plus lightweight browser fingerprint data, Predax can add a best-effort residential-proxy suspicion signal.

curl -sS https://predax.io/api/v1/check/ip \
  -H "X-API-Key: prdx_..." \
  -H "Content-Type: application/json" \
  -d '{
    "ip":"1.2.3.4",
    "user_id":"user_123",
    "fingerprint":{
      "timezone":"Europe/Dublin",
      "languages":["en-IE","en"],
      "webrtc_local_ip":"192.168.1.100"
    }
  }'

Look for classification.is_residential_proxy_suspect and classification.residential_proxy_score.

Local dev note (Docker / WordPress)

If your client runs in Docker, localhost points at the container, not your API. Use host.docker.internal (Docker Desktop), your host IP, or the API service name if both containers share a Docker network.