When to use bulk verification
- List cleaning — verify an existing database of contacts before a campaign or migration.
- Batch imports — validate addresses in bulk when importing data from a CSV, CRM export, or third-party source.
- Scheduled enrichment — run periodic verification jobs to keep your data fresh without blocking real-time workflows.
How bulk verification works
Submit a job
Send a
POST request to /v1/bulk with a JSON body containing an emails array. OrbiSearch returns a job_id immediately and begins processing in the background.Poll for status
Use
GET /v1/bulk/{job_id} to check the job’s progress. Poll every 10–30 seconds for large jobs until the status is complete or failed.Submitting a job
Send your list of addresses as a JSON array in the request body.cURL
OrbiSearch deduplicates the
emails array automatically. You are only charged for unique addresses. If your list contains duplicates, they are removed before processing and the cost reflects the unique count.Checking job status
PollGET /v1/bulk/{job_id} to track progress.
cURL
Job statuses
| Status | Description |
|---|---|
pending | The job has been received but has not started processing yet. |
in_progress | OrbiSearch is actively verifying addresses. |
partial_complete_retrying | The main pass is done; OrbiSearch is retrying greylisted addresses. |
complete | All verifications are finished. Results are ready to retrieve. |
failed | The job failed. Contact support if this is unexpected. |
Retry statuses
Some addresses return agreylisted substatus on the first attempt. OrbiSearch automatically retries these. The retry_status field tracks that process:
retry_status | Description |
|---|---|
none | No addresses required retrying. |
pending | Retry pass has not started yet. |
partial | Retry pass is in progress. |
complete | All retries are finished. |
Retrieving results
Oncestatus is complete, fetch the full results:
cURL
results array follows the same schema as a single verification response. See Handling Results for guidance on acting on each status.
Complete example
The following example submits a bulk job, polls until it completes, and prints the results.Deduplication and credits
OrbiSearch deduplicates your submitted list before processing. If the same address appears more than once, it is verified once and the result is applied to all occurrences. You are charged 0.2 credits per unique email. Theestimated_cost in the submit response reflects the deduplicated count. Results cached from a previous job (within 24 hours) are also free — OrbiSearch will not re-verify an address it already has a fresh result for.