Estonian Business Register: companies, people, beneficial owners, trademarks. Free, no API key.
nimistu MCP — Estonian Business Register (Äriregister) for AI Assistants
nimistu MCP is an MCP server that connects AI assistants to the Estonian Business Register and related open data. It provides read-only access to information about Estonian companies, people, beneficial owners, and trademarks, using plain-language queries. The service is free and requires no API key.
🛠️ Key Features
Estonian Business Register (Äriregister) and related open data
Read-only queries for companies, people, beneficial owners, trademarks
Plain-language interaction
Free access with no API key
Traceable answers tied to sources (as stated)
🚀 Use Cases
Retrieve details about an Estonian company or person
Look up beneficial owner information
Find trademark-related information
Explore activity sector context via open register data
⚡ Developer Benefits
MCP compatibility for multiple MCP-capable AI assistants
Tool availability: 9 tools (as listed)
⚠️ Limitations
Read-only operation only (no write actions stated)
Estonian-focused data sources only (based on description and topics)
Full-text search across the nimistu register of Estonian companies, people and trademarks. Returns matches each with a stable `id` (pass to `fetch`, `get_company` or `get_person`) and a canonical nimistu.ee URL. Use this first to locate an entity by name or registry code.
Parameters2
query
string
required
A company name, person name, 8-digit registry code, or trademark text.
locale
string
optional
Response language for labels and URLs. 'et' (Estonian, default) or 'en'.
Raw schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "A company name, person name, 8-digit registry code, or trademark text."
},
"locale": {
"type": "string",
"enum": [
"et",
"en"
],
"description": "Response language for labels and URLs. 'et' (Estonian, default) or 'en'."
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
fetch
Retrieve the full content of a record by the `id` returned from `search` (e.g. 'company:10000018', 'person:18345', 'trademark:123', 'emtak:47811'). Returns the record text, its canonical nimistu.ee URL and metadata.
Parameters2
id
string
required
Record id from search, formatted '<type>:<value>'.
locale
string
optional
Response language for labels and URLs. 'et' (Estonian, default) or 'en'.
Raw schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Record id from search, formatted '<type>:<value>'."
},
"locale": {
"type": "string",
"enum": [
"et",
"en"
],
"description": "Response language for labels and URLs. 'et' (Estonian, default) or 'en'."
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_company
Full profile of an Estonian company by its registry code: status, address, activity (EMTAK), VAT, employees, financials, tax debt, sanctions, board members, shareholders, supervisory board, foreign parent, subsidiaries and trademarks.
Parameters2
reg_code
string
required
8-digit Estonian registry code (e.g. '10000018').
locale
string
optional
Response language for labels and URLs. 'et' (Estonian, default) or 'en'.
Raw schema
{
"type": "object",
"properties": {
"reg_code": {
"type": "string",
"description": "8-digit Estonian registry code (e.g. '10000018')."
},
"locale": {
"type": "string",
"enum": [
"et",
"en"
],
"description": "Response language for labels and URLs. 'et' (Estonian, default) or 'en'."
}
},
"required": [
"reg_code"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
get_person
Profile of a person in the Estonian business register: birth year, sanctions, and all companies they are connected to (board member, shareholder, etc.), current and past. Look the person up with `search` first to get their id.
Parameters3
id
integer
optional
Internal person id (from a search result, e.g. 18345).
isikukood
string
optional
Estonian personal identification code (11 digits), if known.
locale
string
optional
Response language for labels and URLs. 'et' (Estonian, default) or 'en'.
Raw schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Internal person id (from a search result, e.g. 18345)."
},
"isikukood": {
"type": "string",
"description": "Estonian personal identification code (11 digits), if known."
},
"locale": {
"type": "string",
"enum": [
"et",
"en"
],
"description": "Response language for labels and URLs. 'et' (Estonian, default) or 'en'."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
lookup_emtak
EMTAK is the Estonian classification of economic activities. Pass `code` for details + stats on one activity, or `query` to search activities by Estonian name. Returns the code, ET/EN name and the count of active companies.
Parameters3
code
string
optional
Exact EMTAK code, e.g. '47811'.
query
string
optional
Search activities by Estonian keyword, e.g. 'jaemüük'.
locale
string
optional
Response language for labels and URLs. 'et' (Estonian, default) or 'en'.
Raw schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Exact EMTAK code, e.g. '47811'."
},
"query": {
"type": "string",
"description": "Search activities by Estonian keyword, e.g. 'jaemüük'."
},
"locale": {
"type": "string",
"enum": [
"et",
"en"
],
"description": "Response language for labels and URLs. 'et' (Estonian, default) or 'en'."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
companies_by_emtak
List active Estonian companies whose primary activity is a given EMTAK code, optionally filtered by county. Use `lookup_emtak` to find the code first.
Parameters4
code
string
required
Exact EMTAK code, e.g. '47811'.
county
string
optional
Optional county filter, e.g. 'Harju maakond'.
limit
integer
optional
Max companies to return (default 25).
locale
string
optional
Response language for labels and URLs. 'et' (Estonian, default) or 'en'.
Raw schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Exact EMTAK code, e.g. '47811'."
},
"county": {
"type": "string",
"description": "Optional county filter, e.g. 'Harju maakond'."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Max companies to return (default 25)."
},
"locale": {
"type": "string",
"enum": [
"et",
"en"
],
"description": "Response language for labels and URLs. 'et' (Estonian, default) or 'en'."
}
},
"required": [
"code"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
whats_new_today
A summary of recent activity: a daily narrative of notable changes plus counts of newly registered companies (last few working days), broken down by legal form, county and activity, with a sample of the newest companies.
Parameters1
locale
string
optional
Response language for labels and URLs. 'et' (Estonian, default) or 'en'.
Raw schema
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"et",
"en"
],
"description": "Response language for labels and URLs. 'et' (Estonian, default) or 'en'."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
search_trademarks
Search Estonian-linked trademarks (EUIPO + Estonian Patent Office) by their verbal element. Returns each mark with its status and the owning company.
Parameters3
query
string
required
Trademark text to search for, e.g. 'BOLT'.
limit
integer
optional
Max results (default 10).
locale
string
optional
Response language for labels and URLs. 'et' (Estonian, default) or 'en'.
Raw schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Trademark text to search for, e.g. 'BOLT'."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max results (default 10)."
},
"locale": {
"type": "string",
"enum": [
"et",
"en"
],
"description": "Response language for labels and URLs. 'et' (Estonian, default) or 'en'."
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
rankings
Curated leaderboards from the nimistu data: top taxpayers, revenue, profit, employers, tax debtors, grant recipients, procurement winners, people holding the most board seats, audit firms, recipients of state payments, VAT groups, top corporate shareholders, and members of Parliament (Riigikogu) or the Cabinet active in business.
Parameters4
list
string
required
Which leaderboard to return.
limit
integer
optional
How many rows (default 20).
year
integer
optional
Year for financial lists (taxpayers/revenue/profit/employers). Defaults to the latest available.
locale
string
optional
Response language for labels and URLs. 'et' (Estonian, default) or 'en'.
Connect any MCP-compatible AI assistant (Claude, Cursor, ChatGPT, and more) to the
Estonian Business Register (Äriregister) and related open data. Ask about any
Estonian company, person, trademark, or activity sector in plain
language — free, no API key, read-only — with every answer traceable to its source.
Powered by nimistu.ee, a free, ad-free public register that
aggregates 60+ official Estonian open-data sources, each field carrying its source and
last-update date.
every filed majandusaasta aruanne: revenue, profit, employees, equity, assets, liabilities, labour cost, plus computed ratios and the EMTAK sector median
Ownership structure
subsidiaries, associates, foreign parent, group structure
Person & connections
a person's current and former ties to Estonian companies (board, shareholder, representative)
Fresh registry events
what changed in the Estonian Business Register today
Rankings
curated top lists — taxpayers, employers, procurement winners, MPs in business, and more
Trademark search
EUIPO trademarks by text, with their owners
Sector lookup
companies by EMTAK activity code, with counts and locations
EMTAK classification
resolve and explain Estonian activity codes
What it does not cover
Worth knowing before you rely on a negative answer:
Registry entry history. Company profiles are current state only — no kanded,
no määrused, no pending menetlused. An answer about a company is about today,
and will not mention an ongoing proceeding.
Beneficial owners. Estonia's FIU withdrew public access to the beneficial
owner register on 10 July 2026 following the CJEU ruling, so this server no
longer returns them.
Court decisions and public-authority documents. Separate corpora, served by
lahend.ee and
dokumendiregister.ee respectively.
Real-time data. Sources refresh on their own cadences, mostly nightly.
get_company returns dataAsOf so you can see how stale an answer is rather
than having to assume.
Data sources and attribution
nimistu aggregates 60+ official sources — Äriregister (RIK), the Estonian Tax and
Customs Board (EMTA), EUIPO, public-procurement registers, sanctions lists, and more.
Each field shows its source and last-update date.
The configuration examples and documentation in this repository are released under the
MIT License. The nimistu.ee service and the underlying register data have
their own terms — see https://nimistu.ee/litsents.