Developer API

CatchNumber API

Reverse phone lookup: give it a number, get the full report.

New here? Start with how it works — the walkthrough, code samples and pricing in one page.

Pricing

Exactly what the website charges: one credit is one full phone report. Credits do not expire, there is no monthly fee, and nothing renews.

Standard

3 credits

$3.95

Premium

7 credits

$6.95

Or any amount from 3 to 50 credits, priced the same way as on the pricing page.

Authentication

Create a key in the dashboard and send it as a bearer token. The secret is shown once, at creation — we store only a hash of it, so a lost key is replaced rather than recovered.

Authorization: Bearer sk_live_…

JSON. Numbers are accepted in international format; the country code decides how the rest is parsed.

curl -X POST https://catchnumber.com/api/v1/lookup \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{"phone":"+14155550134"}'

Parameters

  • phone string · required

    International format, e.g. +14155550134.

Response

{
  "success": true,
  "lookup_id": "9f2c…",
  "type": "phone",
  "credits_remaining": 42,
  "data": { "…": "the same report the website returns" }
}

Check your balance

curl https://catchnumber.com/api/v1/credits \
  -H "Authorization: Bearer sk_live_your_key"

Errors

StatusMeaning
400The request was malformed — the message says which field.
401Missing, unknown or revoked API key.
402No credits left. Top up in the dashboard.
403Account suspended.
429More than 60 requests in a minute.
502 / 503The upstream provider failed. Your credit is refunded automatically.

A credit is spent only when a lookup actually runs. Every failure after the deduction — provider error, timeout, anything — refunds it.

What we store

The same as for the website: nothing about the lookup itself. No queries, no uploaded images, no results — the response is the only copy. Per call we keep the endpoint, the status code and the time, which is what billing and rate limiting need.