How it works

From zero to a row of data in under a minute.

POST a city. Get back a queue. Poll until it ships. That's the contract. Here's exactly what happens between the request and the response.

01

Sign up. Mint a key.

Email + password. We issue a bearer token (`biz_live_…`) you can revoke and rotate anytime from the dashboard.

02

POST a search.

Send a city, a list of keywords, and a radius. We respond in milliseconds with a `job_id` and a poll URL.

03

Poll until ready.

We crawl, dedupe, and verify in the background. Hit /v1/jobs/:id every few seconds - typical jobs settle in 15-90s.

04

Receive structured JSON.

Stable schema. Name, address, phone, website, hours, verified contact emails. Pipe it into your agent, CRM, or spreadsheet.

Three lines, two endpoints

POST the request. Poll the job.

Stable JSON envelope. OpenAPI 3.1 spec. Your agent reads it correctly on the first try.

POST /v1/search
curl -X POST https://api.bizcollect.dev/v1/search \
  -H "Authorization: Bearer biz_live_..." \
  -H "Content-Type: application/json" \
  -d '{"location":"Winterthur","keywords":["Treuhand"],"radius_km":10}'

# → 202 Accepted
# {"job_id": "j_a91k...", "status": "queued", "poll_url": "/v1/jobs/j_a91k..." }
GET /v1/jobs/:id
# Poll the job until status === "completed"
curl https://api.bizcollect.dev/v1/jobs/j_a91k... \
  -H "Authorization: Bearer biz_live_..."

# → 200 OK
# {"status": "completed", "results": [
# {
# "name": "Treuhand Müller AG",
# "email": "info@treuhand-mueller.ch",
# "phone": "+41 52 212 ...",
# "website": "treuhand-mueller.ch"
# }, ...
# ] }

Under the hood

What every job actually does.

Every request walks the same four-stage pipeline. You only see the last stage; we handle the first three.

Crawl

Open web + business directories + official registries.

Dedupe

Fuzzy match on name, address, phone, domain.

Verify

SMTP probe + MX validation on candidate emails.

Serve

Cache results 30 days; auto re-crawl on expiry.

The fine print, in plain English

What we promise.

Predictable, boring numbers. The kind you can put in a status page and not blink at.

  • 99.95% monthly uptime, measured on the queue endpoint
  • p95 response time on /v1/search under 200ms
  • Typical job completion in 15-90 seconds
  • Cached results refreshed every 30 days, max
  • OpenAPI 3.1 spec versioned forever (no breaking changes)
  • Webhooks on job completion for >10 results

Read the spec. Or just call it.

The OpenAPI document is live and your agent can introspect it. Or read it yourself.

No credit card required100 free requests / monthCancel anytime