docs

Enrichment

Look up people you already know by email, phone, IP, postal address or email MD5. A match costs 1 chip; no match is free.

Enrichment turns something you already have into a full lead.

Lookup keys

Send exactly one of:

KeyExampleNotes
emailjane@example.com
phone+1 512 555 0100Any common US format
ip203.0.113.7IPv4 or IPv6
md55d41402abc4b2a76b9719d911017c592MD5 hash of an email address, 32 hex characters
address{ "line1": "1 Main St", "zip": "78701" }line1 plus zip, or city and state. first_name and last_name sharpen the match

One person

POST /v1/enrich answers right away with matched, the lead (in full) and chips_charged. A match costs 1 chip, unless your workspace already has that lead, which is free. No match is free, but a lookup needs at least 1 chip in the balance. max_chips is optional. Send an Idempotency-Key so a retry never pays twice.

curl https://api.diced.si/v1/enrich \
  -H "Authorization: Bearer $DICED_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: enrich-jane-1" \
  -d '{"email": "jane@example.com", "max_chips": 1}'

Batches

POST /v1/enrich/batch takes up to 10,000 rows (each one lookup, same keys as above) and a required max_chips for the whole job. It answers 202 with a job (enr_...) in pending.

  • Poll GET /v1/enrich/jobs/{id} for processed, matched and chips_charged, or subscribe to enrichment.completed.
  • Once the job finishes, result_url is a CSV of your rows plus the matched lead fields. The link lasts 15 minutes; fetch the job again for a fresh one.
  • The job never spends more than max_chips. Once it has spent the budget, the rows it hasn't looked up yet are skipped and the job still completes, with error_code: null. Lookups that match a lead you already have are free and don't use the budget.
  • If your balance runs out, the remaining rows are skipped and the job finishes early with error_code: "insufficient_chips".
  • Duplicate rows cost one chip.

In the app, Enrich takes a CSV upload and maps the columns for you.

On this page