Bitcall logoBitcall API
Add your Key ID and Secret to send test requests.

HLR API Reference

Every HLR endpoint, grouped by what it does. Requests go through the gateway and are authenticated with your key id and secret — see Authentication.

Lookups

List lookupsget

Returns your lookups, newest first, filterable by category, status and date range.

Submit a lookuppost

Submits one number or a batch. A single number is looked up immediately and its `result` comes back on this response; a batch is queued, and the lookup is polled for results. It is charged per number as results arrive. Retry behaviour differs by shape. A BATCH is idempotent on the request: if a response is lost — a network drop, or a slow lookup that timed out — re-send the identical batch (while it is running, or within ~1 minute of it completing) and you get the SAME lookup back by its `jobId`, never a second charge. A replay returns the job (its id and status), NOT a fresh inline `result`: read the outcome — `result`, price and per-number status — from that job with `GET /v1/hlr/lookups/{lookupId}` and its `/results`. A SINGLE lookup is NOT deduplicated: every call performs a fresh, separately-billed lookup, by design. Do NOT blind-retry a single lookup to recover a dropped response — you would be charged a second time. If a single lookup's response is lost, find it with `GET /v1/hlr/lookups` (your recent lookups) rather than re-posting.

Get a lookupget

Returns a lookup's status, per-outcome counts and price. Poll this after submitting.

List resultsget

Returns the per-number results of a lookup, paginated. Use an export for large completed lookups.

Cancel a lookuppost

Stops a lookup that is still queued or running; numbers not yet processed are not charged. Only a non-terminal lookup can be cancelled — once it is terminal (`completed`, `partially_completed`, `cancelled` or `failed`), the call returns 409 CONFLICT and nothing changes.