For production workflows, use /find-phone-async to submit a job and poll for results. This avoids long-lived HTTP connections and lets you parallelize many lookups without blocking your client.The flow is:
Submit — POST /find-phone-async with the same body as the sync endpoint. Response includes a task_id.
Poll — GET /job-status/{task_id} until status is completed, failed, or cancelled.
Read result — When completed, the discovered phone numbers are in the result field, in the same shape as the sync response.
The async start endpoint returns uppercase RUNNING. Subsequent /job-status/{task_id} calls return lowercase statuses. charge_amount is returned in cents, not credits.
Pass a webhook_url to receive the result via HTTP POST instead of polling. The signed payload, retry behavior, and verification steps are documented in Outgoing Webhooks.
Use /find-phone-bulk (sync) or /find-phone-bulk-async (async) to process up to 100 leads in a single call. Both accept a leads array and the same providers and webhook_url fields as the single-lead endpoints.
Submit a batch, get back a task_id, then poll /job-status/{task_id} (or set webhook_url to receive a callback). Recommended for batches of more than a handful of leads, or when you don’t want to hold a long-lived HTTP connection.