Verify an EU company: registry coverage by country and plan

cz-agents gives an AI agent or script one EU company registry API and MCP server to search, look up, and verify a company across Europe — national registries where one exists, GLEIF LEI lookup and VIES VAT identity elsewhere. What is unlocked depends on two independent settings: coverage (which countries) and depth (how much due-diligence detail).

Landed here from a tier_required error? That response shape flags a boundary on one of the two axes below. The error's dimension field says which: "coverage" means the country is part of the Extended plan; "depth" means the lookup itself is fine, but the enriched DD+ result is part of the same plan. Either way, Compliance or Agency unlocks both — see pricing below.

Coverage: Core vs Extended

Coverage sets which countries are included in the Core vs Extended tier for a hosted search_company / get_company / lookup_company_by_vat call.

TierCountriesPlan
CoreGB · CZ · SK · PL · NLFree, hosted, no signup
ExtendedAT · BE · DE · DK · EE · ES · FI · FR · IT · LT · NO · SECompliance (€99/mo) or Agency (€199/mo)

Coverage list current as of 2026-07-22 — it mirrors the live country_policies table, so a tier_required error's own available_in_tier field is always the authoritative, up-to-the-minute list; this page is a snapshot of it.

Self-hosting the open-source @czagents/eu-registry server (MIT) removes the coverage gate entirely — the gate only applies to the hosted eu-registry.cz-agents.dev endpoint. GLEIF/LEI and VIES VAT lookups are free and keyless upstream; a handful of national registries need your own API key. See the EU registry MCP server page for exactly which country uses which source.

Depth: basic vs DD+ (ddplus)

Depth is independent of country — it sets how much due-diligence detail a plan includes for a company you can already reach. A Core country like Czechia is included in the free tier to search and verify; the enriched AML/DD report on that same company is part of the paid DD+ tier.

TierIncludedPlan
basicCompany search & lookup, identity verification, VAT/VIES validation, basic Czech DD (ARES + sanctions, no statutory chain)Free
ddplusOwnership network mapping, nominee/phoenix detection, risk timeline, address crowding, watchlist monitoring, bulk lookupCompliance (€99/mo) or Agency (€199/mo)

A depth-dimension tier_required error lists the exact gated tool names in its own available_in_tier field — the categories above are a summary, not the literal list.

DD+ is a closed-source hosted connector — unlike the coverage gate, there is no self-host equivalent for it.

Putting the two axes together

RequestCoverageDepthPlan
Search/verify a UK or Czech companyCorebasicFree, no signup
Search/verify a German or Spanish companyExtendedbasicCompliance/Agency
Full AML/DD report on a Czech company (nominee, phoenix, timeline)CoreddplusCompliance/Agency
Full AML/DD report on a German counterpartyExtendedddplusCompliance/Agency

Pricing & how to activate

Prices and the full feature/quota comparison live on the pricing page — this page won't duplicate numbers that can drift out of sync. In short:

tier_required error shape

When a request is outside your plan, the hosted MCP and REST endpoints are built to return a structured error instead of partial data or a silent failure. Here's the shape that error takes once tier enforcement is active:

{
  "error": "tier_required",
  "dimension": "coverage",
  "required_tier": "extended",
  "country": "DE",
  "country_group": "extended",
  "available_in_tier": ["AT","BE","DE","DK","EE","ES","FI","FR","IT","LT","NO","SE"],
  "message": "Extended European coverage unlocks lookups for Germany and the rest of the Extended country group — activate it at https://cz-agents.dev/pricing.html.",
  "upgrade_url": "https://cz-agents.dev/pricing.html"
}

This is the coverage-dimension shape. A depth-dimension error carries the same envelope but an available_in_tier list of ddplus tool names instead of countries.

Tell the agent or script to stop calling the tool, show the user the message, and retry only after upgrading. upgrade_url currently points to the pricing page; this coverage breakdown is one click away from there.

FAQ

What does a tier_required error mean?
A tier_required response is the shape the hosted EU registry or due-diligence MCP tool uses to flag that a request is outside your plan: either Extended coverage (a country outside the free Core set) or DD+ depth (enriched due-diligence, not basic lookup). The dimension field says which, and upgrade_url points here.
Can I get every country for free?
Yes, by self-hosting the open-source @czagents/eu-registry MCP server (MIT license). The coverage gate only applies to the hosted eu-registry.cz-agents.dev endpoint; self-hosted code has no country restriction, though some national registries require you to bring your own API key.
What's the difference between coverage and depth?
Coverage sets which countries are in the Core vs Extended tier. Depth sets how much due-diligence detail a plan includes for a company you can already reach (basic vs DD+ ddplus). The two are independent: a Core country like Czechia is included in the free tier to search, and its full AML/DD report is part of the paid DD+ tier.
How do I unlock Extended coverage or DD+?
Subscribe to Compliance (€99/mo) or Agency (€199/mo) on the pricing page, or request a 14-day free trial token. Both plans include Extended coverage and DD+ depth together.