Skip to content

Introduction

The Zelnum API checks phone numbers and email addresses — in bulk (async) or one at a time (realtime) — over a simple JSON interface.

All endpoints are versioned under /api/v1:

Terminal window
https://api.zelnum.com/api/v1

This is the machine API host. The console lives at app.zelnum.com and is where you create keys, top up and read your records — it is deliberately a different domain, so the API can be scaled and protected independently of the web app. Every example in this documentation uses the base URL above.

StepPage
1. Get a key and send your first requestAuthentication
2. Confirm you have balanceAccount balance
3. Learn the response conventionsResponse format
ModeUse it whenStart at
RealtimeYou have one identifier — or a handful — and need the answer nowRealtime detection
BulkYou have thousands of identifiers and can waitBulk detection

One identifier, one to ten products, one call. Returns verdicts immediately, billed per product.

Submit an array or a file, poll the task, download the result. Priced per row checked — see the pricing page in your account.

  • Bulk (async): cost is pre-deducted at submission time based on the submitted count; numbers that end up unchecked (filtered, deduplicated, or unprocessed) are automatically refunded when the task finalizes.
  • Realtime: each product is charged its per-check price; only valid and invalid results are charged — unknown, timeout, and unavailable items are refunded. See Billing & refunds.

The Python client wraps the endpoints on this page: typed responses, idempotency keys and bulk result downloads. It is the only officially maintained SDK today — every other language calls the REST API directly.