Bulk lookups

Check up to 1,000 numbers in a single batch.

For volumes beyond a single request, submit a batch and poll for results. This is a separate code path from the sync endpoint, so a large batch never adds latency to your single-lookup calls.

1. Submit a batch

curl -X POST https://api.usefilter.io/api/v1/filter/bulk \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phones": ["+919876543210", "+919876500000"], "type": "hlr"}'

Credits for the entire batch are reserved upfront, atomically. If your balance can't cover the full batch, nothing is queued and you get 402 — never a partially-processed batch you didn't expect.

2. Poll for results

curl https://api.usefilter.io/api/v1/filter/bulk/btch_a1b2c3d4 \
  -H "Authorization: Bearer YOUR_API_KEY"

Poll no more than once every 5 seconds. results grows as rows complete — it will be empty immediately after submission.

Limits

  • 1,000 phone numbers maximum per batch.
  • Each row follows the same credit and cache rules as a single lookup.
  • Outbound webhooks (a push notification when your batch finishes) are on the roadmap but not available yet — for now, polling is the only option.