Source & Enrich public data
for {{in house automation}}

One system, end to end

Find, Enrich,
Engage

An index we own, a twelve-provider waterfall behind it, and a sequencer on the end. The search that finds the account is the thing that sends the email.

  • We hold the index45M companies and 421M searchable people. Not a marketplace and not a middleman — searching it costs nothing because it is ours to search.
  • The waterfall picks up the restTwelve providers in a fixed order, stopping at the first confident answer. You pay once, on a match, and never for a miss.
  • Straight into a campaignSelected rows become a list, a sequence or a CRM pipeline in one action. No export, no re-upload, no mapping step.
  • Cost on the control that spends itA reveal reads 1 cr before you click it. Batches quote a ceiling, never a flat total, and nothing that fails is billed.
datasource.app/people

90-second walkthrough — search, resolve, send

Search & Enrichment

Every filter tells you how much of the corpus actually has that field before it quietly removes anyone. Then twelve providers fill the gaps behind one call, and the record keeps a note of which one answered.

Outreach & Ads

The list becomes a sequence in one action — no export, no re-upload — and sending, warmup and replies cost no credits. The same audience pushes to paid, so air cover and outbound point at one list instead of two.

CRM

One record from first touch to closed. The thing you searched for, enriched and sequenced is the same object your pipeline reports on.

MCP / API

Endpoints the general-purpose vendors don't expose, callable from your own code or directly by an agent — the whole engine without the interface.

B2B startups in San Francisco · hiring sales 312 companies · 2,481 people

Enrichment waterfall — stops at the first confident answer

Find work email Provider A Provider B Provider C
Find phone number Provider A Provider B Provider C
Infer buying intent Hiring Funding Intent 82
PersonWork emailSourceMatch
A. Okafora.okafor@…Provider A
J. Almeidaj.almeida@…Provider C
E. Vasqueze.vasquez@…Provider A
Audience from the search above 312 accounts · 2,481 people
Cold outreachPer person
Day 1Email
Wait 2 days · no reply
Day 3LinkedIn DM
Wait 4 days · not accepted
Day 7Call task
Replied → exits the sequence
Paid adsPer company
Day 0Matched audience
312 accounts → 71% matched
DailyAudience re-syncs
Warm on reply, drop on close
Day 10LinkedIn ad
Outbound hands the account to paid on day 10
New148
Working61
Replied24
Meeting9
Won3
Patagonia · A. Okafor, Head of TalentOwner: you
Day 1Email sent — opened twice
Day 3LinkedIn DM accepted
Day 6Served 3 ads on the account
Day 8Replied — “send pricing”
Next: book the callDue today
reverse lookup
POST /resolve/email
  { "email": "j.almeida@piracanjuba.com.br" }

  200 { "name": "João Almeida",
        "title": "Head of People",
        "company": "Grupo Piracanjuba" }
Partial-match resolution
Live profile fetch
MCP server · agent-callable

Benchmarks

Highest quality data
at every latency

Best-in-class accuracy for every search vertical, and across the benchmarks that actually stress a retrieval engine.

Accuracy on retrieval benchmarks higher is better
data source Other providers

Accuracy (%)

54.4%
44.5%
21.6%
data source Vendor A Vendor B

Reverse lookup

54.2%
36.7%
19.3%
data source Vendor A Vendor B

Partial match

36%
34.5%
8.2%
data source Vendor A Vendor B

Live profile

MCP / API

Data nobody else has

The index is queryable as an API and as an MCP server, with endpoints the general-purpose data vendors don't expose — reverse lookup, partial-match resolution, and live profile fetches.

Exclusive Reverse-lookup a work or personal email to a person
Used for

Enriching accounts that sign up with a personal address, and filling in work history behind old CRM records.

Exclusive Resolve a person or company from partial information

A name and a company, a domain and a title — enough fragments to identify a record without an exact key.

Filter companies on attributes the big sales tools don't expose

Specialties, technology, headcount bands and hiring posture, combined in one query.

Search people more granularly than a recruiter seat allows

Title, seniority, tenure and skills together, with coverage shown per field.

Exclusive Let agents build prospect lists across every source at once

One MCP call fans out across the index, the waterfall and the signal scrapers, and returns rows.

Verify any email through the waterfall before you send

Validation runs the same providers as enrichment, so a verified address is verified the same way twice.

REQUEST

curl https://api.datasource.io/v1/email-to-person \
  --request POST \
  --header 'Content-Type: application/json' \
  --data '{
    "apiKey": "YOUR_API_KEY",
    "email": "john@company.com"
  }'

RESPONSE

{
  "data": [
    {
      "name": "John Smith",
      "headline": "Software Engineer at Tech Corp",
      "locality": "San Francisco, CA",
      "current_job": {
        "company_name": "Tech Corp",
        "title": "Software Engineer",
        "is_current": true,
        "start_date": "2022-01",
        "seniority": "Mid-Senior level"
      },
      "provider": "waterfall:step-2",
      "credits_charged": 1
    }
  ]
}

The questions we'd ask

Where does the data come from?

Two places, and the difference matters. There is a licensed core index of people and company records that we hold and refresh on a schedule — that's what search runs against, and querying it costs nothing. On top sits a live waterfall across twelve providers, used only when you ask for something the index doesn't hold. Every enriched value keeps the provider that produced it.

How is this different from an enrichment tool like Clay?

Enrichment tools own no data of their own — they orchestrate providers you bring, and you build the table before you get an answer. We kept the good part: the waterfall, the provenance, the per-row control. What we add underneath is an index, so you can find the people in the first place, and a sequencer on top, so you don't hand off to a fourth tool to send.

How is this different from a database like Apollo?

A database gives you coverage and one fixed opinion about how each field gets resolved. When its answer is missing or wrong you have no second option and usually no way to see where the value came from. We run a multi-provider waterfall over our own index instead, bill per resolved row, and publish the coverage of every field before you filter on it.

Can I use my own sending domains?

Yes — connect existing mailboxes, or buy domains and mailboxes inside the app and have them warming the same day. Sending windows, throttles and warmup are configured per mailbox, because that's the level deliverability actually operates at.

Is the data compliant?

Records are business-contact data, sourced under licence, with suppression and deletion handled at the org level. Opt-outs propagate across lists, sequences and the CRM at once rather than per-tool.

Point it at your market and
see what comes back

Start free with 500 credits. Build an audience, resolve a few contacts, and watch the whole path work before you pay for anything.