Which API Should I Use?

Delivr has two families of APIs that both say "intent" on the label. Pick by what you are holding and what you want back.

Start from what you have

You haveYou wantUseEndpoint
A list of emails or LinkedIn URLsIntent topics per personIntent lookupPOST /api/v1/intent/lookup (one) or /api/v1/intent/batch (up to 10,000)
A list of company domainsIntent topics per companyCompany intentPOST /api/v1/intent/company or /api/v1/intent/company/batch
A topicThe people researching itTopic discoveryPOST /api/v1/intent/people (add /multi for several topics)
A topicThe companies researching itTopic discoveryPOST /api/v1/intent/companies (add /multi for several topics)
A topic, and you want a free look firstA capped sample of real recordsPreviewsPOST /api/v1/intent/people/preview, /api/v1/intent/companies/preview
Nothing yet; you want a reusable, filtered audience delivered somewhereA built audience (files, destinations, refreshes)Intent Audiences APIPOST /api/v1/audiences and the Build Audiences guide
A pixel on your siteYour own visitors, resolvedEvents APIGET /api/v3/events/{tier}, see Identify Site Visitors

Rule of thumb

  • Enriching records you already own (CRM rows, a CSV, a Clay table): intent lookup/batch. Per-row, synchronous, up to 10,000 per call. Start with the Quickstart.
  • Finding net-new records from a topic (TAM discovery, list building): the topic-to-people and topic-to-companies endpoints. Paginated with cursors, ranked strongest-first, free previews available.
  • Recurring, delivered audiences (weekly file to S3, sync to a destination): the Intent Audiences API. That is a build-and-deliver system, not a synchronous query.
  • Your own website traffic: the Events API, which requires the Delivr pixel installed.

Lookup and Audiences measure different spans

Both say "intent", and for the same person on the same day they can disagree. That is expected, and it is worth knowing which one answers which question:

Intent lookup / batchIntent Audience
Span measuredOne calendar day, the as_of in the responseThe audience's configured range: a relative intent_window_days, or a fixed intent_start_date-intent_end_date window
RefreshRebuilt daily and replaced wholeRebuilt on the audience's schedule
Per personThe strongest 50 topics for that day, high and medium onlySet by row_grain: one row per person keeps their strongest topic across the window, person_topic keeps a row per match

So a person whose signal landed on the 26th appears in a 7-day audience built through the 1st, and returns matched: false from a lookup served on the 1st. Neither is wrong.

  • Ask the lookup "what did this person research on the lookup dataset's as_of day?"
  • Ask an Audience "who showed intent for this topic over the last N days?"

Do not use a lookup to spot-check rows in an audience: the audience row already carries the topic, score and signal date it was matched on.

Every intent endpoint accepts "dry_run": true for a free, exact cost preview. See Rate Limits and Metering.


Did this page help you?