// batch

Batch enrichment

Synchronous bulk lookups — no webhook setup required.

When to use batch

Single GET /v1/enrich/person calls return in under 500ms. For CSVs or Apify runs with hundreds or thousands of rows, use POST /v1/person/batch. The API returns all results in the HTTP response (max 10,000 lookups per request).

Request

POST /v1/person/batch
Authorization: Bearer ADATA_live_...
Content-Type: application/json

{
  "lookups": [
    {"email": "satya@microsoft.com"},
    {"email": "notfound@example.com"}
  ],
  "fields": ["full_name", "work_email", "company"],
  "filters": {"state": "WA"}
}

Response

[
  {
    "person": { "full_name": "Satya Nadella", "work_email": "satya@microsoft.com", ... },
    "lookup": {"email": "satya@microsoft.com"},
    "found": true,
    "sources_checked": ["pdl", "5x5"],
    "latency_ms": 95
  },
  {
    "person": null,
    "lookup": {"email": "notfound@example.com"},
    "found": false,
    "sources_checked": ["pdl", "5x5"],
    "latency_ms": 42
  }
]

Apify actor

The official Apify actor calls this same batch endpoint with automatic fallback to single lookups. Set AGENTICDATA_API_KEY in the actor environment.

Async webhooks

Webhook callbacks for multi-hour jobs are on the roadmap. For now, poll batch results directly or use the Apify actor for large async workflows.