Ukraine Company Check (EDRPOU) — KYB & due diligence MCP
Pricing
from $50.00 / 1,000 company-checks
Ukraine Company Check (EDRPOU) — KYB & due diligence MCP
Check any Ukrainian legal entity by EDRPOU code against official state registers (bankruptcy and more). English JSON for AI agents, KYB, AML and supplier due diligence. Works as an MCP server.
Pricing
from $50.00 / 1,000 company-checks
Rating
0.0
(0)
Developer
KYB Data
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
35 minutes ago
Last modified
Categories
Security
Limited permissionsShare
Ukraine Company Check — EDRPOU lookup, KYB & due diligence (MCP server)
Check any Ukrainian legal entity by its EDRPOU code (ЄДРПОУ, the 8-digit state registration number) against official Ukrainian state registers in one call — and get a clean English JSON answer with red flags, raw records and source attribution.
Built for AI agents (MCP) and for KYB / AML onboarding, counterparty and supplier due diligence, vendor risk, credit and compliance checks of companies from Ukraine.
- One code → one answer from several registers: bankruptcy, enforcement debts, corruption offences, company status and ownership facts (EDR), sanctions, public procurement (Prozorro).
- Agent-ready: works as an MCP server (Streamable HTTP) with three tools, plus a plain
GET /check?edrpou=endpoint and classic batch runs (list of codes → dataset). - Open data only, CC BY 4.0 / Ukrainian open-data licences, with attribution and
loaded_attimestamps in every answer. Usually refreshed weekly; data from weekly registers can be up to ~2 weeks behind. Every field carries its source date (loaded_at). - Change history since 2026-11-05: the registers publish only the current state; we keep our own
daily snapshots, so every answer shows when records were added or removed (
history, starting athistory_since), e.g. an enforcement proceeding that was opened and later closed. Nobody else can rebuild this history retroactively. - Pay per check, no subscription. Invalid codes are not charged.
What you get
Flag in flags | Register (publisher) | Publisher updates |
|---|---|---|
bankruptcy_case | Bankruptcy cases (State Judicial Administration) | daily |
open_enforcement_proceedings | Unified Register of Debtors (Ministry of Justice) | daily |
corruption_offense | Persons who committed corruption offences (NACP) | weekly |
not_active | Unified State Register of Legal Entities, EDR (Ministry of Justice): status, termination, head and authorized signatories (management: name, Latin transliteration, position), founders and beneficiaries count, capital, predecessors and successors | weekly |
not_in_edr | The code is absent from the EDR — a strong red flag (not_active is then null) | weekly |
sanctions | Ukraine NSDC sanctions (Presidential decrees) and US OFAC SDN; true = an active sanction, null = a listing with no stated term | weekly |
competition_violation | Antitrust Committee (AMCU) decisions on bid rigging in the last 3 years, with court appeals — grounds to reject a bidder in public procurement | weekly |
financial_institution | National Bank of Ukraine register of financial institutions: true = currently registered (insurer, finance company, credit union, pawnshop…), licences listed; an excluded institution is false with status: excluded | weekly |
public_procurement | Signed public procurement contracts (Prozorro) in the last 24 months; null while the initial history load is incomplete (see coverage.prozorro) | continuous |
true means the company appears in that register. false means there is no record in the loaded
snapshot. It is not a clean bill of health. Each register returns at most the 50 latest records; counts gives the full number. Names of private persons are never returned, except the company's head and authorized signatories in edr[0].management (see Personal data) and where a person's name is part of a legal entity's official registered name (e.g. a farm or a law office): a court, tax office or enforcement office name that mentions a judge, officer, notary or any other person is dropped and only its type (issuer_type, enforcer_type) is kept; counterparty names come from the EDR. Call list_sources (free) for the exact list of flags, licences and load times.
Input
{ "edrpou": ["39540720", "00032112"] }
Up to 10,000 codes per run (about 36 ms per code; the default run timeout is 1 hour). Duplicates are checked and charged once. Keep leading zeros. Legal entities only: 10-digit individual tax numbers (sole proprietors, ФОП) are not supported, are not stored and are not charged.
Output (one dataset item per company, shortened)
{"edrpou": "39540720","name": "ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ «РК ГАЛЕРА»","flags": {"bankruptcy_case": true,"corruption_offense": false,"open_enforcement_proceedings": false,"not_active": false},"bankruptcy": [{"date": "2026-11-03","type": "Повідомлення про відкриття провадження у справі про банкрутство","case_number": "902/871/26","court": "Господарський суд Вінницької області"}],"edr": [{"status_en": "registered", "registered": "2014-12-10", "founders": 1, "beneficiaries": 1,"management": [{ "name": "ІВАНЕНКО ОЛЕНА ПЕТРІВНА", "name_latin": "IVANENKO OLENA PETRIVNA","role": "керівник", "role_en": "head", "position": "ДИРЕКТОР", "appointed": "2021-06-15" }],"management_last_change_seen": null}],"history": [{ "date": "2026-11-05", "source": "bankruptcy", "event": "added", "record_key": "902/871/26|…" }],"history_since": "2026-11-05","sources": [{"key": "bankruptcy","title": "Bankruptcy cases (State Judicial Administration)","dataset": "https://data.gov.ua/dataset/544d4dad-0b6d-4972-b0b8-fb266829770f","license": "CC BY 4.0","loaded_at": "2026-11-05T09:09:17+00:00"}],"disclaimer": "Data from official open registers (data.gov.ua, data.rada.gov.ua, bank.gov.ua, prozorro.gov.ua, NACP open API; sanctions: NSDC decrees, US OFAC), filtered to legal entities, normalised and partly translated by Ukraine Company Check. Not legal advice."}
Field names and flags are in English. Record texts (names, court names, case types) stay in Ukrainian, exactly as the registers publish them.
Use it from an AI agent (MCP)
The Actor runs in Standby mode and exposes an MCP server over Streamable HTTP:
https://kyb-data--ukraine-company-check.apify.actor/mcp
Authenticate with your Apify API token: header Authorization: Bearer <APIFY_TOKEN>.
Claude Code:
$claude mcp add --transport http ukraine-company-check https://kyb-data--ukraine-company-check.apify.actor/mcp --header "Authorization: Bearer $APIFY_TOKEN"
Claude Desktop, Cursor, other clients (mcpServers config):
{"mcpServers": {"ukraine-company-check": {"type": "http","url": "https://kyb-data--ukraine-company-check.apify.actor/mcp","headers": { "Authorization": "Bearer <APIFY_TOKEN>" }}}}
You can also find it through the Apify MCP server (https://mcp.apify.com, tool search-actors) by
searching for "Ukraine company check", "EDRPOU" or "Ukrainian KYB".
Tools
check_company(edrpou): full check of one company.check_companies(edrpou_list): up to 50 companies in one call.list_sources(): registers, flags, licences,loaded_at. Free.
Plain HTTP
GET https://kyb-data--ukraine-company-check.apify.actor/check?edrpou=39540720GET .../check?edrpou=39540720,00032112 (up to 50, comma-separated)
Pricing
Pay per event: one company-check event per valid EDRPOU code checked. Invalid codes and
list_sources are free. In Standby (MCP / HTTP) mode Apify also bills the small platform usage of
the server run, as for every Standby Actor. Set a maximum cost per run in Apify to cap spending:
when it is reached, the Actor returns an error instead of data.
Limitations
- Legal entities only (8-digit EDRPOU). No data about sole proprietors; about individuals only the head and signatories of a company (see Personal data).
- Usually refreshed weekly; every field carries its source date (
loaded_atper source). Data from weekly registers (EDR, NACP, sanctions, AMCU, NBU) can be up to ~2 weeks behind the state open-data publications. Registers themselves can lag behind court and enforcement events. - Sanctions are matched by EDRPOU code only, not by name. Whether a sanction is active or expired is computed at load time.
- A missing record is not proof of absence. Registers have gaps and test rows. We filter the obvious ones.
- Not legal advice. This is an automated aggregation of public registers. Verify important
decisions against the official sources linked in
sources.
Personal data
What we return. For the current EDR record only, management lists the company's head (role: керівник,
role_en: head) and other persons who may act on its behalf (представник, authorized representative):
full name as registered, the name in Latin letters (Ukrainian national transliteration, Cabinet of Ministers
Resolution No. 55 of 27.01.2010), the position and the appointment date when the register states them.
At most 50 people, the head first; management_total gives the full number. management_last_change_seen
is the latest date our own history saw the company's management change (head, signatories or members of its
governing bodies; null = no change seen since history_since); it is not an appointment date. For a
terminated company the "current" record is its last one. An entry is dropped entirely if the register text
cannot be parsed cleanly (for example, a tax number or a phone glued to the name), and a position that mentions
another person is dropped. For military units and similar security bodies, and when no entry could be parsed, management and management_total are null (unknown), not an empty list; an empty list means every person was removed on request.
What we never return: individual founders, beneficial owners, dates of birth, addresses, individual tax
numbers (RNOKPP) and passport data, phones and e-mails, members of governing bodies, and the free-text powers of
representatives. Founders, beneficial owners and management changes are visible only as counts and as change
events in history.
Source and legal basis. The data comes from the EDR open data set of the Ministry of Justice on data.gov.ua (CC BY 4.0). Under Article 11(1) of the Law of Ukraine "On State Registration of Legal Entities, Individual Entrepreneurs and Public Formations", information in the register "є відкритими і загальнодоступними (крім реєстраційних номерів облікових карток платників податків та паспортних даних)" — is open and publicly available, except tax numbers and passport data. We process it for the legitimate interest of counterparty due diligence (Article 11(1)(6) of the Law of Ukraine "On Personal Data Protection").
Removal on request. Under Article 8(2)(5) of that Law you may object to the processing of your personal data. To remove your name, open an issue on the Issues tab of this Actor with the company's EDRPOU code and your role (head or representative). Issues are public, so do not write your name there: we take it from the register ourselves. We remove it within 30 days. The removal list stores only the company code and a keyed hash of the name, never the name itself.
Data sources and attribution
All data comes from Ukrainian state open-data portals (data.gov.ua, data.rada.gov.ua, bank.gov.ua, prozorro.gov.ua, the NACP open API) under CC BY 4.0 or Ukrainian open-data law, plus the US Treasury OFAC SDN list (public domain). Each answer names the dataset, licence and load time for every source used. Changes to the source data: we keep legal entities only, drop names of private persons other than a company's head and signatories, transliterate those names, normalise codes, dates and statuses, and translate field names and statuses into English.
Keywords: Ukraine company check, EDRPOU lookup, ЄДРПОУ, Ukrainian company registry, EDR, YEDR, KYB Ukraine, AML, due diligence, counterparty check, supplier verification, vendor risk, bankruptcy Ukraine, debtors register, NACP corruption register, NSDC sanctions, Prozorro, MCP server, AI agent tool.