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.
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
The Willow pair stays separate.
Sample Willow Trading + Sample Willow TradePossible 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.
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.
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.
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 →
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.
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 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.
- 1APEX ROOFING LIMITED0.8123
- 2APEX ROOFING (MIDLANDS) LTD0.7994
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
{
"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.
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.
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.
Merges our checks reached and then refused, each naming the column of yours that disagreed, in your own field names.
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
- — 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.
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
All seven steps in full, and what a receipt lets you reopen →
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
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.
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.
Sources, coverage and product fit
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.
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.
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.
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.
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.
- 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 →
via a CSV upload in your Entity Bind workspace
- 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 →
via POST /v1/match
- 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 →
via POST /v1/batch
- 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 →
via MCP · resolve_company, then get_decision
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 full method, one click from here
Every page here is public and ungated.
The seven steps, and what a receipt reopens
The accuracy methodEvery figure, what it was measured on, and its limits
The audit packTwelve files, and the limits of the reversal map
The guide libraryFrom first principles to running the audit yourself
API and MCP reference, for your engineersEndpoints, 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.
No time that suits? Email hello@entitybind.com. Calendar not loading? Open it on cal.com.