Documentation Index
Fetch the complete documentation index at: https://docs.sixtyfour.ai/llms.txt
Use this file to discover all available pages before exploring further.
Use case
Turn partial lead records into full contact profiles for sales outreach, CRM enrichment, or lead qualification.This endpoint is also available at
/enrich-lead and /enrich-lead-async. Both paths are fully supported and functionally identical.Endpoint
API Reference
See the full request/response schema and parameters in the API Reference.
Pricing
See Credits & Pricing Guide for credit costs by tier.Errors
For error responses (400, 403, 422, etc.), see Handling Errors.Tiers
Thetier parameter controls research depth and cost.
| Tier | Description | Access |
|---|---|---|
low (default) | Baseline tier — fast and cheap. Good for high-volume enrichment where you mostly need a name → email/LinkedIn mapping. | All orgs |
medium | Deeper research with more sources and iterations. Better for hard-to-find contacts. | All orgs |
high | OSINT-grade investigation — deeply recursive crawling across the open web, dark web, directories, proprietary sources. Designed for the hardest prospects, sensitive diligence, and investigative workflows. | Exclusive — access is granted case-by-case by our team. Contact sales to request. |
Using the struct field
The struct field defines exactly what data you want back. Each key becomes a field in structured_data, and its value tells the agent what to find.
You can pass either a plain-English description or an object with description and type:
"The individual's primary work email" returns better results than "email".
For supported types, type resolution priority, and casting examples, see Struct & Type Casting.
Timeouts and parallelization
This endpoint performs deep research and is a long-running operation. Typical P95 runtime is about 5 minutes and can reach 10 minutes for complex leads. We are actively working on performance improvements.- Set client timeouts appropriately: If you call the sync endpoint, configure your HTTP client with a timeout of at least 15 minutes.
- Prefer async in production: Use
POST /people-intelligence-asyncand pollGET /job-status/{task_id}. - Parallelize for throughput: Submit multiple async jobs in parallel (bounded concurrency) rather than waiting for each to complete sequentially.
Understanding scores
| Field | Meaning | Range |
|---|---|---|
confidence_score | Global quality score — overall quality, consistency, and correctness of the returned data. | 0–10 |
Sync usage
Make a direct request and wait for the response. Enrichment can take several minutes depending on depth of research.Async pattern
For production workflows, use/people-intelligence-async to submit a job and poll for results. This avoids long-lived HTTP connections during deep research runs.
The flow is:
- Submit —
POST /people-intelligence-asyncwith the same body as the sync endpoint. Response includes atask_id. - Poll —
GET /job-status/{task_id}untilstatusiscompleted,failed, orcancelled. - Read result — When
completed, the full enrichment is in theresultfield.
The async start endpoint returns uppercase
RUNNING. Subsequent /job-status/{task_id} calls return lowercase statuses. charge_amount is returned in cents, not credits.