Glossary · Data and enrichment

What is entity resolution?

The short answer

Entity resolution is the process of working out which records describe the same real-world thing, such as a company or a person, when they are written differently and share no common ID. It matches records on keys like domains, profile URLs and emails, merges the duplicates, and keeps different entities with similar names apart.

Updated
Read
4 min
Written by
Antoine Blitz
On this page8 sections
  1. Real data
  2. How does entity resolution work?
  3. Entity resolution vs identity resolution: what is the difference?
  4. Why is a domain not enough to resolve a company?
  5. Entity resolution, deduplication and data matching: what is the difference?
  6. How do you resolve company records with an API?
  7. Related terms
  8. Questions people ask

Real data

One company, five spellings, one record

Stripe, written five ways, as a CRM import might hold it. Each spelling went through the same domain lookup and came back as one company page and one record. Then two companies named Mercury, kept apart by their domains.

Returned by the BlitzAPI API on

POST/v2/enrichment/domain-to-linkedin

Five spellings of one domain

stripe.com
linkedin.com/company/stripe
www.stripe.com
linkedin.com/company/stripe
https://www.stripe.com
linkedin.com/company/stripe
https://stripe.com/en-us
linkedin.com/company/stripe
Stripe.com/
linkedin.com/company/stripe

One request per spelling. Each response also listed other company pages that point to stripe.com, in a separate field: a domain narrows the match, it does not settle it.

POST/v2/enrichment/company

The resolved record

Company
Stripe
Company page ID
2135371
Domain
stripe.com
Website on its page
stripe.com/jobs
Headquarters
South San Francisco, California, United States

The page lists its jobs page as its website: one more spelling of the same domain.

POST/v2/enrichment/company

Two companies named Mercury

mercury.com
Mercury · Financial Services · San Francisco, California
mercuryinsurance.com
Mercury Insurance · Insurance · Brea, California

Each domain was first resolved to its company page with the lookup above. Same word, same state, two domains, two company pages: two entities.

How does entity resolution work?

Entity resolution standardizes records, groups the ones that could match, compares them, and merges each group into one record with a stable ID. Whatever the tool, from a spreadsheet formula to a dedicated engine, the four steps are the same.

  1. StandardizeClean every recordLowercase, strip https://, www. and paths, drop Inc. or Ltd.
  2. BlockGroup possible matchesBy domain or name prefix, so not every pair is compared
  3. MatchCompare the candidatesAn exact key, or a closeness score above a threshold
  4. MergeOne record per entityA stable ID, linked to every source record
Most of the work happens before the match: clean keys and small candidate groups make the comparison cheap and reliable.

The Stripe example above runs steps 1 and 3 through an API. Five spellings went in, one company page came out, and the record behind it carries a page ID that every later lookup can reuse. Resolution comes before data enrichment: you can only add facts to a record once you know which company it is.

Entity resolution vs identity resolution: what is the difference?

Entity resolution and identity resolution are the same idea, used on different things by different teams. Entity resolution matches any real-world entity, companies included. Identity resolution matches people, with the keys marketing holds.

Entity resolution Identity resolution
What it resolves Any real-world entity: companies, people, products, places People, usually customers or website visitors
Typical keys Domains, company pages, legal names, profile URLs Emails, phone numbers, logins, device IDs, cookies
Where you meet the term Data engineering, master data management, B2B data Marketing, customer data platforms, advertising
Result One record per entity, linked to its sources One profile per person across devices and channels

Identity resolution is entity resolution applied to people, with marketing’s keys. In B2B data the two meet: a person is resolved to a profile, and the profile is linked to a company that has been resolved in turn. Record linkage is the statisticians’ name for the same problem, from the long practice of matching census and health records.

Why is a domain not enough to resolve a company?

A domain is not enough to resolve a company. Even the strongest key a company has fails in three ways, and the evidence above shows all three.

  • Spelling. stripe.com, www.stripe.com and https://stripe.com/en-us are one key once standardized. Left raw, they become three accounts.
  • Shared claims. Besides Stripe’s own page, each lookup listed other company pages that point to stripe.com. A resolver that took the first page it found could merge them with Stripe.
  • Similar names. Mercury, listed under Financial Services in San Francisco, and Mercury Insurance, listed under Insurance in Brea, share a word and a state. A match on name and state would merge two companies; their domains keep them apart.

Brands add a fourth trap: one company can run several domains for its products or its countries, all tied to one company page. That is why resolution starts from the domain and ends on the company page.

Which is which?

Five pairs of CRM records. Do they describe the same company?

  1. acme.com and https://www.acme.com/about

  2. Acme Inc. and ACME Corporation, both on acme.com

  3. Globex at globex.com and Globex Logistics at globexlogistics.com, each with its own company page

  4. Northwind, before and after it renamed itself Northwind Health, with the same domain and the same company page

  5. Initech in Austin and Initech in Boston, with different domains and different industries

Show the answers
  1. acme.com and https://www.acme.com/aboutSame companyStrip the scheme, the www and the page path: both reduce to the domain acme.com.
  2. Acme Inc. and ACME Corporation, both on acme.comSame companyCapitals and legal suffixes change; the shared domain does not.
  3. Globex at globex.com and Globex Logistics at globexlogistics.com, each with its own company pageDifferent companyA shared word is not a shared identity: two domains and two company pages make two entities.
  4. Northwind, before and after it renamed itself Northwind Health, with the same domain and the same company pageSame companyA rename changes the label, not the entity: the keys stay the same.
  5. Initech in Austin and Initech in Boston, with different domains and different industriesDifferent companySame name, different keys and different facts: merging them would mix two customers.

Entity resolution, deduplication and data matching: what is the difference?

Data matching is the comparison, deduplication is the cleanup inside one table, and entity resolution is the whole job across your CRM, your product database and every list you import. It is also the first step of data hygiene: duplicates cannot be merged until you know they describe the same company.

What it does Scope
Data matching Compares two records and decides whether they describe the same thing One pair at a time
Deduplication Finds and merges repeated records Inside one dataset
Entity resolution Matches, merges and links records into one entity per real-world thing Across every source

How do you resolve company records with an API?

To resolve company records with an API, map every record to a key the source recognizes before doing anything else.

Domain to LinkedIn turns a domain, or a full web address, into the company page that BlitzAPI’s other endpoints take as input, and lists the other pages that claim the same domain in a separate field. From the page, Company Enrichment returns one record with a stable page ID that later calls can reuse. For people, a work email plays the same role: a reverse email lookup resolves it to a profile and a current employer. The data resolution use case shows the full chain on a messy import.

Sources and method

Written by
Antoine Blitz, Founder, BlitzAPI
Published
API calls run on

The calls ran on October 28, 2026 through the BlitzAPI MCP server, which calls the same endpoints; they are shown here as the equivalent REST requests.

Each spelling was sent as its own request. The other company pages that point to the same domain come back in a separate field of the response; they are counted here, not named.

Industries and headquarters are the ones each company publishes on its own page, shown as returned.

Questions people ask

What is entity data?

Data that describes one real-world thing, such as a company, a person or a product, as a set of attributes tied to identifiers. For a company: its name, domain, company page, industry and headquarters. Entity resolution makes sure each real thing ends up with one set of entity data, not several partial copies.

What is entity resolution in MDM?

In master data management, entity resolution builds the golden record: one trusted version of each customer, supplier or product, assembled from every system that holds a copy. The MDM tool matches the copies, applies survivorship rules to choose which value to keep for each field, and links every source back to the golden record.

What is entity resolution in AML?

In anti-money laundering, it links the customers, counterparties, companies and owners that appear under different spellings across accounts, payments and watchlists. Once they are resolved, investigators can see when the same person or company sits behind several accounts, a pattern that stays hidden while each record is read on its own.

What is identity resolution in marketing?

Matching the traces one person leaves across channels, such as an email address, a phone number, a login and a browser cookie, into one customer profile. Marketing teams use it to count people instead of devices, to personalize messages and to measure campaigns across channels.

With BlitzAPI

Put it to work

For builders

The calls behind the real data on this page, as REST requests. Send them with your API key, from any language or workflow tool.

From a web address to the company page (the same request runs for each spelling)

curl -X POST https://api.blitz-api.ai/v2/enrichment/domain-to-linkedin \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"https://www.stripe.com"}'

API reference

The resolved record

curl -X POST https://api.blitz-api.ai/v2/enrichment/company \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company_linkedin_url":"https://www.linkedin.com/company/stripe"}'

API reference

One of the two Mercury domains (the same request runs for mercury.com)

curl -X POST https://api.blitz-api.ai/v2/enrichment/domain-to-linkedin \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"mercuryinsurance.com"}'

API reference

Its record (the same request runs for linkedin.com/company/mercuryhq)

curl -X POST https://api.blitz-api.ai/v2/enrichment/company \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company_linkedin_url":"https://www.linkedin.com/company/mercury-insurance"}'

API reference

Data shouldn't be
the problem

Grab. Connect. Build.