---
title: "Entity Bind: Entity Resolution That Finds Wrong Matches"
summary: "Entity Bind is an AI-native entity resolution API and MCP server for company identity. One record in, one resolved company record out — with citations, a calibrated confidence score, a receipt for every decision, and an honest abstention instead of a guess when the evidence will not carry a match."
canonical_url: https://entitybind.com
last_updated: 2026-10-15
copy: full
---

# Entity Bind: Entity Resolution That Finds Wrong Matches

> Entity Bind is an AI-native entity resolution API and MCP server for company identity. One record in, one resolved company record out — with citations, a calibrated confidence score, a receipt for every decision, and an honest abstention instead of a guess when the evidence will not carry a match.

Canonical page: https://entitybind.com
Last updated: 2026-10-15

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.

[Start free →](https://app.entitybind.com/app?signup=1)

[Explore the example ↓](https://entitybind.com/#sample-proof)

300 credits. No card. Verify your email, then run the sample or upload your CSV.

Free compares records in your workspace. Paid plans add registry checks.

## Explore a result before you sign up.

Recorded Free run · 13 October 2026

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

### Duplicate found

#### Two Acme rows. One local identity.

Sample Acme Limited + Sample Acme Ltd Duplicate records share one local profile

Both supplied the same registration number and issuing jurisdiction.

SAMPLE-ACME-001 · GB

### Kept separate

#### The Willow pair stays separate.

Sample Willow Trading + Sample Willow Trade Possible duplicate. Separate local profiles.

Neither supplied a registration number. No identity match was established at the Free matching depth limit.

A registration number and issuing jurisdiction would help settle them.

### 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.

[Start free →](https://app.entitybind.com/app?signup=1)

300 credits. No card. Verify your email, then run the sample or your own CSV.

## Start with the records you manage.

### [Find duplicates in your CRM](https://entitybind.com/use-cases/crm-and-revops)

Review company records after a migration or merger.

### [Check your MDM matches](https://entitybind.com/use-cases/master-data-management)

Inspect an independent decision and the evidence behind it.

### [Review your supplier master](https://entitybind.com/use-cases/supplier-master-and-ap)

Compare supplier identities before a payment run.

## 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.

### Free: $0 /mo

Credits: 300 · Deep checks: None

[Start free →](https://app.entitybind.com/app?signup=1&plan=free)

### Starter: $49 /mo

Credits: 1,000 · Deep checks: 500

[Choose Starter →](https://app.entitybind.com/app?signup=1&plan=starter)

### Growth: $199 /mo

Credits: 5,000 · Deep checks: 3,000

[Choose Growth →](https://app.entitybind.com/app?signup=1&plan=growth)

### Scale: $799 /mo

Credits: 25,000 · Deep checks: 20,000

[Choose Scale →](https://app.entitybind.com/app?signup=1&plan=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.

### What one decision costs

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

Create your workspace 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 →](https://entitybind.com/pricing)

## What buyers ask first

### What is Entity Bind?

Entity Bind is an AI-native entity resolution API and MCP server for company identity. One record in, one resolved company record out — with citations, a calibrated confidence score, a receipt for every decision, and an honest abstention instead of a guess when the evidence will not carry a match. 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. Start free, then 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?

Create your Free workspace online, verify your email and upload your own company CSV. 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 →](https://entitybind.com/faq)

## Start with the messiest file you have.

Create your Free workspace, verify your email and upload a company CSV. Review the matches and download the results with a receipt for every decision. We write nothing to your CRM, ERP, MDM or warehouse.

[Start free](https://app.entitybind.com/app?signup=1) · [Book a 30-minute call](https://cal.com/entitybind/discovery)

300 credits. No card.

For a guided review of your file, explore [the Merge Safety Sprint](https://entitybind.com/audit-pack).

## Check the evidence behind the decisions.

Explore the method here, or go straight to [accuracy](https://entitybind.com/accuracy), [coverage](https://entitybind.com/coverage) or [trust and security](https://entitybind.com/trust).

### How we handle uncertain matches

## 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 call (not charged)

Two companies fit, ranked:

1. APEX ROOFING LIMITED 0.8123
2. APEX ROOFING (MIDLANDS) LTD 0.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 · unresolved · 0 credits:

```json
{
  "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 floor: 0.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

## 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 accept (`accepted_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 block (`do_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 decide (`unresolved.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](https://entitybind.com/audit-pack)

#### 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

### 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.

On [the page](https://entitybind.com/#try-one) this is a box that takes a company name and some context and saves a request privately for a person to run and reply by email; it is not reproduced in this copy.

### The matching steps, REST API and MCP server

## 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

**Drawing: The seven-stage resolution cascade.** One 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 in: name · company number · LEI · domain · address

| Stage | What a decision here costs | Can it end bound — one entity, cited, with a decision id? |
| --- | --- | --- |
| 01 Normalise | no decision | No |
| 02 Retrieve candidates | no decision | No |
| 03 Deterministic identifier rules | 1 credit | Yes |
| 04 Probabilistic scoring | 1 credit | Yes |
| 05 LLM adjudication | 5 credits | Yes |
| 06 Agentic research | 5 credits | Yes |
| 07 Abstain | 0 credits | No: an abstention returns (below) |

Along the rail: each stage sees only what the one before it could not decide, and cost per record rises → from stage 01 to stage 07.

What a decision costs:

- 1 credit — an identifier rule or the score decided it. No egress.
- 5 credits — it needed LLM adjudication or agentic research.
- 0 credits — an abstention, at any stage, including the dearest.

07 · An abstention returns:

- a ranked shortlist, capped at five candidates
- a typed reason, and the column that would have decided it
- a review id — the record is queued, never dropped

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 →](https://entitybind.com/how-it-works)

## 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 →](https://entitybind.com/api) · [The MCP server →](https://entitybind.com/mcp)

### 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 →](https://entitybind.com/api)

#### MCP server: Eleven tools, two of them billable, your existing key

An agent calls the same pipeline and gets the same answers — including `unresolved` itself, with the column that would settle it — a value a model can branch on. The other nine tools, the receipt read and the review queue among them, are free and unmetered.

[The tool catalogue, transports and credentials →](https://entitybind.com/mcp)

### 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

[every source, licence and gap →](https://entitybind.com/coverage)

## 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.

[All twelve comparisons](https://entitybind.com/compare)

### 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 SIRENE (5,841,117 legal persons)

[Coverage by register](https://entitybind.com/coverage)

## 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.

### Four decisions, as they come back

#### CRM dedupe: your workspace · crm-export.csv · 8 rows · GB

- crm-export.csv uploaded · 8 rows, keyed on your crm_id
- names cleaned up: legal forms removed, company numbers standardised
- candidates shortlisted by the rarest words in each name
- 3 rows are one company: they share a company number, so no model was needed
- 3 rows are two companies: their scores cleared our minimum
- 1 row we could not decide: just a name, 5 possible companies · its website would settle it
- 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 →](https://entitybind.com/use-cases/crm-and-revops)

keyed on your own record ids · 6 credits · 2 rows free · via a CSV upload in your Entity Bind workspace

#### MDM check: record P-4471 · a match your platform proposed · GB

- check the match your platform proposed for record P-4471
- your platform matched this pair at 0.94
- we check it against the register, not against your rules
- the company number differs from the one on the matched record
- not the same company: a company number that disagrees settles it, no further checks

Your platform said 0.94. We say no. A company number that disagrees decides it, and you can check that number on the register. A pair check stores nothing; send the record on its own when you want a receipt. [in full →](https://entitybind.com/use-cases/master-data-management)

we confirm, hold back or contradict · 1 credit · via POST /v1/match

#### Supplier master: supplier master · 4 records · GB

- 4 supplier records sent, keyed on your supplier ids
- rows 1 and 3 are one company: the registration number decides one, website and name the other
- row 2 is the same company: the register lists its trading name as a former name
- row 4 not merged: its website and phone both disagree with the other rows
- row 4 is kept apart, for your team to decide

Blocked, and we name what disagreed. Two weaker signals that both disagree outweigh a matching name. Row four comes back as a payment-details conflict for your controls team to decide, with the evidence. [in full →](https://entitybind.com/use-cases/supplier-master-and-ap)

the blocked pair is kept on record · 3 credits · via POST /v1/batch

#### Agent tool: ai agent · paying an invoice · GB

- the agent looks up the supplier by name and country
- it holds a payment tool and a spending limit
- we cannot decide yet: more input needed: 2 companies have almost the same name
- digging deeper would give the same answer, so it asks for the company number
- it tries again with the company number
- matched on the company number: 1 credit
- it reads the receipt and the evidence behind it · free

Told we could not decide, the agent asked for the company number and tried again. The first answer cost nothing, the lookup that followed cost one credit, and the agent read the receipt before it paid. [in full →](https://entitybind.com/mcp)

the invoice is paid after an identity check · 1 credit · via MCP · resolve_company, then get_decision

Self-service. Create your workspace online and verify your email to start matching company records. Free starts with 300 credits and no card. Paid monthly plans are available in workspace Billing; VAT is added where applicable. Usage is tracked without automatic overage charges. [Trust and security](https://entitybind.com/trust)

### Guides and reference

## The full method, one click from here

Every page here is public and ungated.

- [How a row is decided](https://entitybind.com/how-it-works): The seven steps, and what a receipt reopens
- [The accuracy method](https://entitybind.com/accuracy): Every figure, what it was measured on, and its limits
- [The audit pack](https://entitybind.com/audit-pack): Twelve files, and the limits of the reversal map
- [The guide library](https://entitybind.com/guides): From first principles to running the audit yourself
- [API and MCP reference, for your engineers](https://entitybind.com/api): Endpoints, payloads, tools and the error model

### 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.

[Book a discovery call](https://cal.com/entitybind/discovery)

No time that suits? Email [hello@entitybind.com](mailto:hello@entitybind.com). Calendar not loading? [Open it on cal.com](https://cal.com/entitybind/discovery).

---

Internal fixtures only. The historical 2026-08-29 per-tier recording covers 317 GB companies with identifier-rich arrivals seeding the catalogue first; the context tier includes country and registered-town prose. Its legacy replay has no full-prompt-verified calls and cannot certify current calibration. The September 5 CI reports cover 1,176 labelled pairs and 705 records over 250 companies using offline stubs. These are not independent customer holdouts or live production validation; the 99% minimum-input product target remains unmet. Scope is company and organisation identity only — not people, vessels, bank-account ownership, sanctions or emissions. Results may not be used for eligibility decisions about individuals, including employment, credit and tenancy.

This is the Markdown copy of https://entitybind.com, assembled from the same data the page renders and carrying every sentence, table row, figure and question the page's main content carries. The HTML page is canonical; it adds the layout, the navigation and the interactive parts (the ask panel, the forms), which a copy can name but not run. Every page on the site, with a line on each: https://entitybind.com/llms.txt.
