Company matching for data and MDM teams

Find the wrong company matches in your CRM, MDM or supplier master.

Upload a company CSV. Find duplicate records, inspect the evidence behind each decision, and keep the unresolved rows for your team. We write nothing to your systems.

We are onboarding our first customers personally. Tell us what you are defending, and we will say whether we can help.

Start with local matching and, when offered, a one-company AI research trial.

Recorded Free run · 13 October 2026

Explore a result before you join.

Five fictional records. Two outcomes to inspect. No account needed here.

Two Acme rows. One local identity.

Sample Acme Limited + Sample Acme LtdDuplicate records share one local profile

Both supplied the same registration number and issuing jurisdiction.

SAMPLE-ACME-001 · GB

Inspect the receipt and all five inputs

Acme decision: match. Identity rule: Same supplied registration number and issuing jurisdiction.

  • sample-001: Sample Acme Limited · SAMPLE-ACME-001 · jurisdiction GB · country GB.
  • sample-002: Sample Acme Ltd · SAMPLE-ACME-001 · jurisdiction GB · country GB.
  • sample-003: Sample Beacon Inc · SAMPLE-BEACON-003 · jurisdiction US-DE · country US. New unverified local profile.
  • sample-004: Sample Willow Trading · country GB · no registration number or issuing jurisdiction supplied. New unverified local profile; possible duplicate of sample-005.
  • sample-005: Sample Willow Trade · country GB · no registration number or issuing jurisdiction supplied. New unverified local profile; possible duplicate of sample-004.

Willow comparison: possible duplicate, kept separate at the Free matching depth limit. No identity match was established.

Recorded from a completed Free workspace run on 13 October 2026. Five records, five credits. Supplied records and local comparison evidence only; no registry calls or external identity verification.

Join the waitlist →

We are onboarding our first customers personally. Tell us what you are defending, and we will say whether we can help.

one-time AI trial

Research one company. Keep the evidence.

For a UK company, enter its name and Companies House number, choose GB for country and registration jurisdiction, and add its official website if known. A brand name or domain alone may need another identifying clue. Inspect the sources and download the result for your CRM or supplier file.

15 one-time credits · Up to 3 research attempts · 30 days · No card.

Available after email verification while shared research capacity remains.

Join the waitlist →

A company profile you can check and use

Once your workspace is open, use Company research on the overview. Submit one company at a time and follow its background job in Runs; the result stays in your workspace when you return.

Request 12 core fields with cited sources, labelled supplied clues and visible gaps.

Keep your own source ID with the CSV and decision receipt. If several companies fit, inspect the shortlist and the next clue instead of treating an unresolved row as a match.

Trial limits, Free matching and data handling

One-time trial: 15 lifetime credits and up to 3 deep research attempts per verified account, valid for 30 days from the first admitted computation. No card. It does not renew on sign-in or when you create another key.

Available after email verification while shared research capacity remains. Your workspace shows the current allowance and any pause before you start.

The trial requests 12 core fields: legal name, legal form, company number, registration jurisdiction, status, incorporation date, registered address, country, domain, website, SIC codes and business description. Sourced facts keep their citations; your supplied clues stay labelled as input. Missing fields stay visible. Coverage varies, and no accuracy rate, complete profile or completed-company count is guaranteed.

The trial is valid for 30 days from the first admitted computation. Credits and research attempts are separate limits; an unresolved research attempt can still use an attempt.

Shared supplier-spend protection can pause admission before all trial attempts are used, including while a provider response requires reconciliation. A pause does not start a subscription or create an overage charge. Paid plans also remain subject to the available research capacity.

The recurring Free plan keeps its 300-credit local matching allowance and no-egress depth cap. This optional, separately metered trial permits registry and AI research only through the workspace's one-company background form. It does not enable CSV research or deep REST and MCP calls on Free, and it does not upgrade your plan.

Research can send submitted company clues and queries to configured AI providers, public registers and checked public websites. Read the privacy notice before sending data. Privacy notice →

Start with the records you manage.

pricing

You pay per decision. Rows we cannot decide cost nothing.

Each plan sets your allowance of credits. What one decision costs is set out under the plans, and three of the five cases cost nothing.

AI research is capacity-limited. Credits and deep-attempt allowances do not reserve research capacity or guarantee completed AI results. Your workspace checks capacity before a new subscription or research request; research may pause when capacity is unavailable. Saved results and existing billing controls remain available during a pause.

Free
$0/mo
credits
300
deep checks
None
Join the waitlist →
Starter
$49/mo
credits
1,000
deep checks
500
Choose Starter →
Growth
$199/mo
credits
5,000
deep checks
3,000
Choose Growth →
Scale
$799/mo
credits
25,000
deep checks
20,000
Choose Scale →

A deep check is a row that goes on to a model or a live registry lookup, whether or not it ends in a decision. Free includes none; every paid plan has the deep-attempt allowance shown above. A separately metered research trial, when offered, does not change the recurring Free plan.

What one decision costs
1
A decision reached by the deterministic or probabilistic stage. CPU only, no egress.
5
A decision that needed LLM adjudication or agentic research.
0
An abstention, at any stage, including the ones that spent the most getting there.
0
A byte-identical replay. Per tenant, per exact content, and with no expiry.
0
An input that normalised to no identifying signal. There was nothing to answer.

Your workspace opens on Free with no card. Paid subscriptions start in workspace Billing through Stripe Checkout, with VAT added where applicable. Usage is tracked without automatic usage or overage charges. Plans, allowances and the licence terms →

questions

What buyers ask first

What is Entity Bind?

Entity Bind is an AI-native entity resolution API and MCP server for company identity. It resolves company records with citations, a confidence score and a receipt for every decision. When the evidence does not support a match, it sends the record for review. It runs beside the systems you already have rather than replacing one: your CRM, supplier master, master data platform or licensed data feed proposes a company match, and Entity Bind accepts it, withholds it or contradicts it independently, with a citation you can open. Scope is company and organisation identity only. It is built in London, and it is early-stage and priced as one — the resolution method and its measurements are published in full, and the global data breadth is not yet at incumbent scale.

How accurate is it? Is it 99%?

On the continuous-integration gold set, 357/357 automated merges were clean, with 63.10% of pairs decided automatically; the rest abstain. We quote the cautious end of that result, the 95% Wilson lower bound: 98.94%, which sits below 99% and is 24 clean labelled merges short of proving a 0.99 bound. The point estimate of precision is 1.0000. End-to-end resolution on that fixture is 70.78% (499/705). A "99% entity resolution" figure quoted without the evidence shortfall, the automation rate and the resolution-level number beside it overstates this system, whoever is quoting it.

We already have an MDM platform. Where does this fit?

Beside it, as the layer that decides and evidences rather than the one that stores. A master data platform is very good at governance workflow, stewardship, hierarchy management and pushing a golden record to the systems that consume it, and none of that is on offer here. What it usually does not have is an independent admission policy: the matching rules are yours, tuned by your stewards, and there is nothing outside the platform to contradict them with a citation. Entity Bind is that outside opinion, with a receipt per decision and a floor it will not cross, feeding the stewardship queue rather than replacing it. If your stewards are drowning, the abstentions are the work list.

How much does a 100,000-row file cost?

It depends on the columns rather than the row count, and you can work it out yourself. A row decided by identifier rules or probabilistic scoring is 1 credit; a row that needed adjudication or research is 5; an abstention, a byte-identical replay and a row that normalised to no identifying signal are all 0. So 100,000 rows all carrying company numbers is 100,000 credits, and the same file where every row went deep is 500,000. At the Scale rate of $0.032 a credit, the cheapest paid rate we publish, that is roughly $3,196 and $15,980. That is more credits than any priced plan includes and there is no overage rate, so a file this size is a Scale conversation, quoted against your volume. Before any quote, we run a free preview over your file. It makes no model or registry calls, tiers your rows and reports composition, never a predicted resolution rate. Then we talk it through. Your workspace opens on Free, and you choose a paid plan in Billing.

Will you write to our CRM?

No, and there is no writeback connector to switch on later either — automatic CRM or ERP writeback is explicitly not on the roadmap. What comes back is a set of files keyed on your own record ids, so the join happens on your side, under your change control. That is a commercial position as much as a technical one: the moment a supplier writes to your master, an argument about a bad merge becomes an argument about whose fault it is, and the receipt stops being the point. We propose actions and you apply them, or you do not. A report is never the system of record.

How do we start?

Join the waitlist and we will go through your own company CSV with you. Free includes 300 credits and shallow matching with no card; create your own API keys for REST and MCP, and choose a paid monthly subscription in Billing when you need greater depth or capacity. For an assisted Merge Safety Sprint, contact us with the file you are defending: a CRM export, a supplier master, a customer-success list or a post-merger overlap, with your own source ids preserved and, if you have them, the entity id, match and confidence your incumbent proposed. A person reads that request, and a short conversation scopes the optional assisted Sprint. What comes back is which of your rows are the same company, which of your existing matches we would not have made, and which we could not decide. Where a further field would settle an unresolved row, it names that field. We write nothing into your systems, and you do not replace your current vendor to run it. The accuracy method is published in full at /accuracy.

68 more questions, answered in full →

join the waitlist

Start with the messiest file you have.

Join the waitlist and tell us about the company CSV you would start with. Review the matches and download the results with a receipt for every decision. We write nothing to your CRM, ERP, MDM or warehouse.

We are onboarding our first customers personally.

For a guided review of your file, explore the Merge Safety Sprint →

Check the evidence behind the decisions.

Explore the method here, or go straight to accuracy, coverage or trust and security.

How we handle uncertain matches
when it cannot tell

When the evidence is thin, you get a shortlist and the column that settles it

A match score leaves the cut-off to you, and with it every wrong merge that scored above it. When the evidence will not carry a match, we hand the row back instead.

Two customers become one account and a renewal is quoted at the wrong discount. Two suppliers become one vendor and a payment leaves for the wrong bank details. The record that caused it looked exactly like the nine hundred that were right — it carried a score of 0.83, and the threshold was 0.80.

A row we hand back costs zero credits, even one we researched all the way to the live registers. You pay for the decisions we make, and nothing for the rows we return to your team.

one row we would not callnot charged
two companies fit, ranked
  1. 1APEX ROOFING LIMITED0.8123
  2. 2APEX ROOFING (MIDLANDS) LTD0.7994
the question that settles it

Which website belongs to the company you mean?

It lands in your review queue as one item your team can work.

See the API response
200 · unresolved0 credits
{
  "decision": "unresolved",
  "candidates": [
    { "legal_name": "APEX ROOFING LIMITED",        "probability": 0.8123 },
    { "legal_name": "APEX ROOFING (MIDLANDS) LTD", "probability": 0.7994 }
  ],
  "clarification": {
    "attribute": "domain",
    "question": "Which website belongs to the company you mean?"
  },
  "review_id": "rev_4e8b0d17c9a24f35b1e6072a8c9d3f10",
  "usage": { "credits_charged": 0 }
}

The shortlist is ranked, the clarification names the one attribute that would settle it, and review_id opens a queue item your team can work.

confidence floor0.90

We only accept a match at 0.90 confidence or above. A match that scores lower is never returned: the row comes back as a ranked shortlist, like the one above, instead.

It is an acceptance contract, not calibration evidence: it says what we refuse to return, not how often an accepted match is right. Read it with the coverage it costs.

The assisted audit pack and company check
the audit pack

Three files answer the question. Nine more show the working.

Send us a file. We tell you which of your rows are the same company, which of your existing matches are wrong, and what we could not decide — and we write nothing to your systems.

The matches we acceptaccepted_matches.csv

Rows we matched to a company already on record, each at 0.90 confidence or above, and the pack checks every one against that minimum again.

The merges we would blockdo_not_merge.csv

Merges our checks reached and then refused, each naming the column of yours that disagreed, in your own field names.

The rows we could not decideunresolved.csv

Left for your team. Where one of your own columns would settle a row, it names the cheapest one.

The other nine show the working, down to a manifest whose totals have to add up or the run ships nothing at all. All twelve files, and what each one holds

See the twelve filenames
audit-pack/
  • — accepted_matches.csv
  • — new_entities.csv
  • — unresolved.csv
  • — golden_records.csv
  • — withheld_matches.csv
  • — do_not_merge.csv
  • — reversal_map.csv
  • — decision_receipts.ndjson
  • — ATTRIBUTION.txt
  • — report.html
  • — manifest.json
  • — manifest.sha256
company check by email

Request a company check.

A name, and whatever context you have — a town, a website, a company number, or the messy string it arrived as. A person runs it and emails you the matched company record with its source cited for each field, or, if we cannot tell, the one column that would have settled it.

The matching steps, REST API and MCP server
how it works

Each row stops at the cheapest check that can decide it

A matching company number or LEI settles a row on the spot. Rows that need more are scored next, and only the ones still undecided go on to a model or a live registry lookup. A row with nothing to match on stops before any of it, and a row nothing can settle comes back to your team.

See the seven steps, drawn
The seven-stage resolution cascadeOne record enters at stage 01. Each stage passes on only what it could not decide. Stages 03 and 04 decide cheaply for one credit, stages 05 and 06 decide with a model call or live research for five credits, and stage 07 abstains for nothing, returning a ranked shortlist, a typed reason and a review id instead of a match.ONE RECORD INname · company number · LEI · domain01no decisionNormalise02no decisionRetrieve candidates031 creditDeterministic identifierrulesBOUND041 creditProbabilistic scoringBOUND055 creditsLLM adjudicationBOUND065 creditsAgentic researchBOUND070 creditsAbstain07 · AN ABSTENTION RETURNSa ranked shortlist, capped at fivecandidatesa typed reason, and the column that wouldhave decided ita review id — the record is queued, neverdroppedWHAT A DECISION COSTS1 credit — identifier rule or score5 credits — adjudication or research0 credits — any abstention, any stage
Each stage sees only what the stage before it could not decide, so an identifier-rich file never reaches a model and a file of bare names is the one that pays for adjudication. A record that normalises to no identifying signal never enters the cascade at all: it returns unresolved, at zero credits, before any candidate is retrieved.

All seven steps in full, and what a receipt lets you reopen →

two ways in

Your engineers can call it from a nightly job or an AI agent

For the engineers on your team: your systems call the REST API, from a nightly job or a batch run, and AI agents call the MCP server and get the same answers, including the rows we cannot decide and the column that would settle them. One key, one workspace and one price cover both, so a decision costs the same whichever way it was asked for.

The REST API →The MCP server →

What each one charges for
rest api

Four billable endpoints, everything else free

Resolve, match, batch and crosswalk are metered. Reads, receipts, the review queue, exports, erasure and usage are not. Every response carries the usage block, so you can check what you were charged on the call itself.

Endpoints, payloads and the error model →

mcp server

50 authenticated tools, your existing key

An agent calls the same pipeline and gets the same answers — including unresolveditself, with the column that would settle it — a value a model can branch on. Background batches, portfolios and evidence reads are also available. Check each tool’s scope and billing rule in the current catalogue.

The tool catalogue, transports and credentials →

Sources, coverage and product fit
the company registers we check, and cite
Companies House
5,464,811 live companies
Colorado Secretary of State
2,191,009 extant legal persons
SEC EDGAR
6,471 tickered filers with complete rows
SIRENE
5,841,117 legal persons
Brønnøysund
450,754 corporate forms
where it sits

Runs beside your MDM platform or data provider

Keep the system you already run and put us alongside it. We check its matches independently and tell you which ones we would not have made.

fits beside

If a licensed data provider or an MDM platform is already in your stack, we run beside it — testing the matches it proposes, repairing the wrong ones, and contradicting them with a citation.

worth knowing early

A third of French companies share their exact name — 1,003 live companies sit on one name. A French file needs a town or postcode column, and with one it measured 2,998 of 3,000 on the postcode tier.

67.96%
unique names on SIRENE5,841,117 legal persons
built for

Teams with a company master they have to defend — an MDM or stewardship queue, a CRM after a migration or a merger, a supplier file before a payment run, or counterparty onboarding that has to survive an audit.

wrong for

Buying breadth as the product: we hold a fraction of the records the large data providers hold, and are not building a global company graph. Entity Bind resolves companies and organisations only. It does not resolve people, vessels, bank-account ownership, sanctions exposure, emissions or geolocation, and its results may not be used for eligibility decisions about individuals, including employment, credit and tenancy.

More worked examples and matching outputs

Upload a company CSV in your workspace. We match what the evidence supports to a registered company and cite the source, flag the merges we would block, and hand the rest back, most with the column that would settle it. We write nothing to your systems.

your workspace · crm-export.csv · 8 rowsGB
  1. crm-export.csv uploaded · 8 rows, keyed on your crm_id
  2. names cleaned up: legal forms removed, company numbers standardised
  3. candidates shortlisted by the rarest words in each name
  4. 3 rows are one company they share a company number, so no model was needed
  5. 3 rows are two companies their scores cleared our minimum
  6. 1 row we could not decide just a name, 5 possible companies · its website would settle it
  7. 1 row had nothing to match on no company record created, not charged

2 sets of duplicates. 2 rows we would not call.

All eight rows come back in the run's CSV and JSON downloads under your own crm_id, each with a receipt showing how it was decided. in full →

via a CSV upload in your Entity Bind workspace

keyed on your own record ids6 credits · 2 rows free

Waitlist. Access opens by invitation while we onboard our first customers. Plans and prices are published, and nothing is bought on this site. We open each workspace by hand, so no card is taken here. Trust and security

Guides and reference
the reading

The full method, one click from here

Every page here is public and ungated.

How a row is decided

The seven steps, and what a receipt reopens

The accuracy method

Every figure, what it was measured on, and its limits

The audit pack

Twelve files, and the limits of the reversal map

The guide library

From first principles to running the audit yourself

API and MCP reference, for your engineers

Endpoints, payloads, tools and the error model

Book a discovery call

// book a discovery call

Talk through your company-record challenges.

A 30-minute discovery call to discuss the company matches in your CRM, supplier master or MDM workflow.

// pick a slot · cal.com/entitybind/discoveryLive calendar

No time that suits? Email hello@entitybind.com. Calendar not loading? Open it on cal.com.