How credits work

Every API call consumes credits from your balance. Credits never expire.

Endpoint Credits
POST /v1/email/validate 1
POST /v1/phone/validate (offline) 1
POST /v1/phone/validate (HLR=true) 5
POST /v1/ip/intel 1
POST /v1/verify 3
POST /v1/batch 1 per row (same as per-endpoint)

Plans

Plan Credits Price Notes
Free 1,000 / month $0 Refreshes monthly
Pay-as-you-go 10k 10,000 $5 One-time top-up
Pay-as-you-go 100k 100,000 $40 One-time top-up
Pay-as-you-go 500k 500,000 $150 One-time top-up
Subscription 50k 50,000 / month $20/mo Auto-renews
Subscription 250k 250,000 / month $80/mo Auto-renews
Subscription 1M 1,000,000 / month $250/mo Auto-renews

Checking balance

curl https://api.checkharbor.com/v1/ping \
  -H "X-Api-Key: chk_live_..."
{ "ok": true, "credits_remaining": 4820 }

Insufficient credits

When your balance hits zero, the API returns:

{
  "error": {
    "code": "insufficient_credits",
    "message": "Not enough credits. Top up at console.checkharbor.com/billing."
  }
}

HTTP status: 402

Rate limits

The API enforces per-key rate limits. When exceeded:

{
  "error": {
    "code": "rate_limited",
    "message": "Too many requests. Retry after 1 second."
  }
}

HTTP status: 429