Dynamics 365 enrichment fills blank fields on contacts and accounts, such as work email, phone, job title and headcount, from an outside data source. Sales ops admins with half-empty contacts need it, and so do developers who sync a data feed into Dataverse.
Most teams leave a native app for one reason: cost. A native app ties data to a seat or an annual contract, and the credit price is not public. The other reason is volume, since one-click enrichment works on a record at a time. If you need volume, you need an API. We link a full comparison where we have one: ZoomInfo, Cognism, Clay and Apollo.
This page ranks six routes, with list prices checked in September and October 2026. For other CRMs read the best CRM enrichment tools. For the method behind the numbers read stop guessing.
TL;DR
| Tool | Best for | Starting price | Cost at 1M records a month |
|---|---|---|---|
| LeadOcean | API, agent and volume buyers | Free (1,000 records, one-off). Solo $97 a month, Agency $497 a month | $497 a month on Agency. Fair use applies |
| ZoomInfo | Enterprise teams that want a native Dynamics app | Pay-as-you-go data credits from $20 (GTM AI). Platform plans not public | No public 1M price |
| Cognism | EMEA sales teams that want a native Dynamics integration | No public price. Quote only | No public 1M price |
| Clay | RevOps teams that build waterfall workflows | Free. Launch $185 a month ($167 billed yearly) | No public 1M price. Top self-serve tier is 50,000 credits |
| Apollo | Sales teams that want data and outreach in one app | Basic $65 per seat a month ($49 billed yearly) | $24,750 a month on monthly billing ($19,600 a month billed yearly) |
| People Data Labs | Developers who want raw profiles by API | Pro $98 a month for 350 credits ($78 billed yearly) | No public 1M price |
"1M records" means 1M work-email lookups that return a result, at list price. 10k means 10,000 of the same lookups.
What we evaluated
- How it reaches Dynamics: a native app, an integration listing, or your own calls to the Dataverse Web API.
- Field mapping: which Dynamics columns it fills, such as
emailaddress1,jobtitle,telephone1andwebsiteurl, and whether it overwrites what your team typed. - Dedupe: how a new row avoids a second contact for the same person.
- Cost per 10k and 1M records: the list price, with seats and credits worked out.
- API and MCP: the endpoints, the rate limit and whether an agent can call it.
We ran no match-rate test, so we quote no find rates. Every fact comes from a linked vendor or Microsoft page.
1. LeadOcean: best for API, agent and volume buyers
LeadOcean is a data API with a hosted MCP server, holding 693M people and 67M companies. It has no Dynamics app and no Chrome extension. You call it from a script, a Power Automate flow or an agent, and write the answer into Dataverse yourself.
POST /v1/people/enrich takes exactly one of linkedin_url, email, phone or person_id, so the contact's email is your key. A miss is a 404 and costs nothing. Each result carries an email_status with 13 values, so you write back only the addresses you trust. GET /v1/companies/count sizes an account list for free before you spend a record.
The recipe is three calls. First, read contacts with no job title from Dataverse. Second, enrich each by email. Third, PATCH the contact by alternate key. Placeholder values only.
curl -s -G "$DYN_URL/api/data/v9.2/contacts" \
-H "Authorization: Bearer $DYN_TOKEN" \
--data-urlencode '$select=emailaddress1,jobtitle,telephone1' \
--data-urlencode '$filter=jobtitle eq null and emailaddress1 ne null' \
--data-urlencode '$top=100'
curl -s -X POST "https://api.leadocean.io/v1/people/enrich" \
-H "x-api-key: $LEADOCEAN_API_KEY" -H "content-type: application/json" \
-d '{"email": "jane@acme.com", "reveal_email": true}'
curl -s -X PATCH "$DYN_URL/api/data/v9.2/contacts(emailaddress1='jane@acme.com')" \
-H "Authorization: Bearer $DYN_TOKEN" -H "content-type: application/json" \
-H "If-Match: *" \
-d '{"jobtitle": "Head of Sales", "telephone1": "+1 415 555 0133"}'Map contact_current_experiences[0].job_title to jobtitle and contact_phones[0].phone to telephone1. Dataverse can address a row by alternate key, but only on tables where you define one, so add a key on emailaddress1 first (Microsoft Learn, October 2026). A PATCH without If-Match: * creates a record when none matches. With it, the call updates only, so it cannot create a second contact (Microsoft Learn, October 2026).
Dataverse limits a user to 6,000 requests in a five-minute window (Microsoft Learn, October 2026). A $batch request holds up to 1,000 requests (Microsoft Learn, October 2026).
Pros
- No credit meter and no seats. Agency is $497 a month and Solo is $97, each with a fair-use pace.
- 10k enrichments fit inside one Solo window, which allows 10k every 5 hours.
- REST and MCP on every plan, Free included. The server has 13 tools.
- A 404 on the v1 enrich endpoints is free, and company counts are free.
Cons
- No Dynamics app, no form control and no scheduled sync. You run the loop.
- No name plus domain lookup. You need an email, a LinkedIn URL, a phone or a
person_id. - Rate limits are 5 requests a second on Free, 50 on Solo and 200 on Agency.
- A v2 contact call that finds nothing still costs one record.
Best for: engineers, RevOps and agents that enrich Dynamics in code and want a predictable bill.
Pricing: Free is 1,000 records, one-off, no card. Solo is $97 a month and Agency is $497 a month (LeadOcean pricing, October 2026).
2. ZoomInfo: best for enterprise teams that want a native Dynamics app
ZoomInfo has the most complete Dynamics story here. Its integration page lists a native Dynamics app that embeds ZoomInfo's UI in Dynamics. It also lists import and export of CRM data and a data management feature for enrichment and deduplication (ZoomInfo integrations, October 2026). The page ties these to GTM Studio, Copilot and ZI Sales, not to pay-as-you-go credits.
The data side is credit based. One data credit enriches or exports one company, contact or intent record. A record is charged once per 12 months, so re-enriching it in that window costs nothing extra (ZoomInfo API docs, September 2026). That helps a CRM refresh job.
API limits depend on the package: 5 requests a second on Builder, 25 on Standard and 35 on Scaling (ZoomInfo API docs, September 2026). Batch enrichment takes at most 25 contacts per call, so 10k contacts is 400 calls. ZoomInfo has an official MCP server.
Pros
- A native Dynamics app with search, import, export and dedupe features.
- Re-enrichment of the same record inside 12 months is free.
- A free GTM AI account gives 1,000 data credits, with API and MCP access.
Cons
- The $0.25 to $0.45 credit ladder stops at 100,000 credits. Larger volumes go to Enterprise.
- Platform plan prices are not public.
- The native app is a feature of the platform plans, not a standalone piece.
- Batch enrichment is 25 records per call.
Best for: enterprise sales teams that want reps to work inside Dynamics with ZoomInfo data.
Pricing: Pay-as-you-go data credits start at $20. The list price per credit falls from $0.45 at 100 credits to $0.25 at 100,000 (GTM AI pricing, September 2026). At the $0.38 rate for 2,500 to 10,000 credits, 10,000 credits cost about $3,800. This is arithmetic on the public rate, not a quote.
3. Cognism: best for EMEA sales teams that want a native Dynamics integration

Cognism lists Microsoft Dynamics among its CRM integrations. The listing says it enriches contact and account records and keeps the CRM current (Cognism integrations, October 2026). We did not find a field mapping guide in the pages we could read.
Credits are simple. One credit is one revealed contact. Viewing a contact you already revealed is free, and a credit is used again only if the contact changes jobs. The same credits work across the app, Enrich and the API (Cognism pricing, September 2026). Cognism publishes no price per seat or per credit.
The API allows 500 requests a minute per account, per operation (Cognism rate limits, September 2026). The MCP server has 15 tools and uses the same credits (Cognism MCP docs, September 2026).
Pros
- A listed Dynamics integration for contact and account records.
- Credits are not re-spent on a contact you already revealed, unless they change jobs.
- API and MCP use the same credits as the app.
- Claims over 10m phone-verified contacts on its Diamond Data page.
Cons
- No public price for seats, credits or enrichment.
- API and MCP need a package that includes them.
- The Dynamics listing says little on field mapping.
- 500 requests a minute makes a 1M run slow.
Best for: sales teams that sell in Europe and want phone-verified data inside Dynamics.
Pricing: No public price. Standard and Pro plans are quote only (Cognism pricing, September 2026). No public 1M price.
4. Clay: best for RevOps teams that build waterfall workflows

Clay lists a Dynamics 365 CRM action. It can update existing records, look up records by criteria or create new ones inside a workflow (Clay integrations, October 2026). That makes Clay a workflow tool that writes into Dynamics, not a data feed on its own.
Cost is the catch. Clay's docs say a fully enriched record typically costs 6 to 20 Data Credits, plus one Action per enrichment (Clay docs, September 2026). The top self-serve tier is 50,000 Data Credits a month. At 6 credits a record that is under 8,400 records, so 10k fully enriched records pass the public ceiling. An email find alone is cheaper: Clay's example prices it at 0.5 credit.
Clay's developer platform with a Public API is on every plan, Free included (Clay docs, September 2026). A lookup that returns nothing is not charged.
Pros
- A Dynamics 365 action that updates, looks up or creates records.
- Waterfall enrichment across many data sources in one table.
- Public API on every plan.
- No charge when a lookup finds nothing.
Cons
- Priced in Data Credits and Actions, so the cost per record moves with the sources you chain.
- The largest self-serve tier is 200,000 Actions and 50,000 Data Credits a month.
- You build and maintain the table.
Best for: RevOps teams that chain several sources and push the result into Dynamics.
Pricing: Free is $0. Launch is $185 a month billed monthly ($167 billed yearly). Growth is $495 ($446) (Clay pricing, September 2026). No public 1M price.
5. Apollo: best for sales teams that want data and outreach in one app

Apollo is a sales platform with a contact database, sequences, a dialer and a Chrome extension. Its pricing FAQ lists Salesforce, HubSpot and other integrations, and does not name Dynamics 365 (Apollo pricing, October 2026). The route we cover is its API.
An email costs 1 credit and a phone number costs 8. People enrichment by API is 1 to 9 credits (Apollo API pricing, September 2026). Credits are pooled across the team and expire each cycle.
Every plan includes API access. Enrichment endpoints allow 1,000 requests a minute on paid plans, and bulk people enrichment takes up to 10 people per request (Apollo rate limits, September 2026). The official MCP server works on any plan (Apollo docs, September 2026).
Pros
- A large database plus outreach in one app.
- API and MCP on every plan, Free included.
- 1,000 enrichment requests a minute on paid plans.
Cons
- Priced per seat, so headcount moves the bill. 10k email lookups need 4 Basic seats at $65, which is $260 a month.
- Credits expire each cycle, and a phone costs 8.
- No public price per extra credit.
- A Dynamics sync is code or a flow you build.
Best for: sales teams that want data and outreach in one app.
Pricing: Basic $65 per seat a month ($49 billed yearly). Professional $99 ($79). Organization $149 ($119), three seats minimum (Apollo pricing, September 2026).
6. People Data Labs: best for developers who want raw profiles by API

People Data Labs sells person and company data by API. It has no Dynamics app in the pages we read, so you write the Dataverse side as in the LeadOcean recipe. It reports 2,466,510,427 person profiles in its full dataset (PDL docs, September 2026).
One credit is used per successful match, and a request that returns nothing is not billed. Person Enrichment allows 1,000 requests a minute on paying plans, but Person Search allows 10 requests a minute by default (PDL docs, September 2026). That makes it an enrichment feed more than a list builder.
PDL has no official MCP server in its docs, llms.txt or GitHub organization. Only community servers exist (PDL llms.txt, September 2026).
Pros
- A very large person dataset and a clean enrichment API.
- 1,000 enrichment requests a minute on paying plans.
- No charge on a 404.
Cons
- Self-serve Pro is meant for volumes below about 100,000 profiles. Above that PDL sells Enterprise.
- Search is limited to 10 requests a minute by default.
- No official MCP server.
- No Dynamics app.
Best for: developers who build their own Dataverse sync and want raw profiles.
Pricing: Pro starts at $98 a month for 350 credits, which is $0.28 a credit ($940 a year billed yearly) (PDL pricing, September 2026). PDL says a Pro profile costs about $0.20 to $0.28 (PDL blog, February 2026). At $0.28, 10,000 credits would be $2,800. No public 1M price.
Comparison table
| Tool | Best for | Starting price | Cost at 1M records a month | API | MCP | Rate limit |
|---|---|---|---|---|---|---|
| LeadOcean | API, agent and volume | Free. Solo $97 a month | $497 a month on Agency. Fair use applies | REST on every plan | Yes. OAuth 2.1, 13 tools | 5, 50 or 200 per second by plan |
| ZoomInfo | Native Dynamics app | Data credits from $20 | No public 1M price | Free GTM AI account and up | Yes. Official | 5, 25 or 35 per second by package |
| Cognism | EMEA, Dynamics integration | No public price | No public 1M price | Package that includes it | Yes. 15 tools | 500 a minute per operation |
| Clay | Waterfall workflows | Free. Launch $185 a month | No public 1M price | Every plan | Yes (Clay MCP, October 2026) | Not published |
| Apollo | Data plus outreach | Basic $65 per seat a month | $24,750 a month ($19,600 billed yearly) | Every plan | Yes. Any plan | 1,000 a minute on enrichment, paid plans |
| People Data Labs | Raw profiles by API | Pro $98 a month | No public 1M price | Yes | No official server | 1,000 a minute on enrichment, 10 on search |
How to choose
- Code, agents or volume: LeadOcean. Flat price, REST and MCP on every plan, and a Dataverse PATCH that updates by alternate key.
- Reps who work inside Dynamics all day: ZoomInfo's native app or Cognism's integration, if you can sign an annual contract.
- Multiple sources in one table: Clay, with a budget for credits.
- Data plus outreach in one app: Apollo.
- A raw profile feed you wire yourself: People Data Labs.
- Cost for 10k lookups: LeadOcean fits in a $97 Solo window. Apollo is $260. PDL is about $2,800 and ZoomInfo about $3,800 at list.
Whichever you pick, update only blank columns, and set up an alternate key or a duplicate rule on emailaddress1 before a bulk run. Dataverse ships default duplicate rules for accounts, contacts and leads (Microsoft Learn, October 2026).
Verdict
LeadOcean wins for API, agent and volume buyers. It has a fair-use pace instead of credits, a free 404 on a miss and a Dataverse recipe that updates by alternate key, but you build the loop. ZoomInfo wins for enterprise teams that want a native Dynamics app, and Cognism for sales teams in Europe. Clay wins for multi-source workflows, Apollo for teams that want outreach in the same app, and People Data Labs for developers who want raw profiles. Start on the free plan and enrich the same 100 contacts in two tools.
FAQ
What is the best enrichment tool for Microsoft Dynamics 365?
For code, agents and volume, LeadOcean. For a native app inside Dynamics, ZoomInfo. For a quote-only integration aimed at European sales teams, Cognism.
Does Dynamics 365 have built-in enrichment?
We found no built-in data enrichment source in the Microsoft pages we read. Dataverse gives you the Web API, alternate keys and duplicate detection, and you bring the data. Read the glossary entry on enrichment for the basics.
How do I avoid duplicates when I enrich Dynamics 365?
Define an alternate key on emailaddress1 and PATCH by that key with If-Match: *, so the call updates and never creates. You can also send MSCRM.SuppressDuplicateDetection: false to make Dataverse reject a duplicate (Microsoft Learn, October 2026).
What are the Dataverse API limits for a bulk enrichment run?
A user is limited to 6,000 requests in a five-minute sliding window, and a 429 comes back with a Retry-After header (Microsoft Learn, October 2026). Use $batch for writes and retry after the wait.
Does LeadOcean have a Dynamics 365 integration?
No. There is no Dynamics app and no Chrome extension. You call both APIs from a script, a scheduled job or a flow tool. The Dynamics 365 recipe has the steps.
Do I need a credit card to try LeadOcean?
No. The free plan needs no card. It gives you 1,000 records, one-off, with the same API and MCP server as the paid plans.
Fill your Dynamics 365 contacts by API or agent with no credit meter. Start free.
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →