关于 apify-public-registries
apify-public-registries 是一项通过脚本查询欧洲公共公司登记数据的技能,覆盖 11 个国家。它结合直接 REST API 与 Apify Actor 后备方案,并支持公司资料、所有权、财务申报及监管数据查询。
主要功能
- 01查询 11 个国家的登记数据
- 02按国家和标识符执行查询
- 03通过 GLEIF 查询 LEI 与所有权
- 04获取部分来源的财务申报
- 05查询债券、采购及 ESG 数据
- 06无 API 时使用 Apify 后备抓取
适用场景
- 01核验公司的注册资料
- 02查找跨境所有权关系
- 03查询公司财务申报或 VAT 信息
- 04检索债券、采购或国家级 ESG 数据
MCP 相关
部分登记查询所需的 Apify Actor 可通过 Apify MCP connector 的 `call-actor` 工具运行;技能也支持 Apify CLI。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ apify/ awesome-skills --skill apify-public-registries安装后在 Claude Code 中输入/apify-public-registries确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
data/registries.jsonreference/european-company-data-institutions.mdreference/scripts/CZ/fetch_all.pylookup_targets.jsonreference/scripts/DE/fetch_all.pylookup_targets.jsonreference/scripts/ESG/fetch_all.pylookup_targets.jsonreference/scripts/EU/fetch_all.pylookup_targets.jsonreference/scripts/NL/fetch_all.pyreference/scripts/PL/fetch_all.pylookup_targets.jsonreference/scripts/RO/fetch_all.pylookup_targets.jsonreference/scripts/SK/fetch_all.pylookup_targets.jsonreference/scripts/UK/fetch_all.pylookup_targets.jsonREGISTRATION/HR.mdNL.mdSE.md详细介绍
公共公司注册信息 — 11 个国家
通过 Python 脚本从欧洲公共注册机构查询官方公司数据(直接调用 REST API), 或在没有 API 时使用 Apify Actor 作为备用方案(网页抓取)。
先决条件
- Python 3(脚本使用标准库——大多数国家无需 pip 依赖)
- Apify 访问权限(仅适用于 DE、UK、PL 财务信息、CZ justice.cz、RO 备用方案)——首选:
apifyCLI(npm install -g apify-cli && apify login);备用方案:Apify MCP 连接器(call-actor工具)。CLI 速度更快,两者都可用时优先使用。 - NL:
KVK_API_KEY环境变量(在 developers.kvk.nl 注册——请参阅 REGISTRATION/NL.md) - PL GUS:
GUS_API_KEY环境变量(发送邮件至 [email protected]) - SE:Bolagsverket 需要注册(请参阅 REGISTRATION/SE.md)
- HR:Sudski registar 需要 OAuth 注册(请参阅 REGISTRATION/HR.md)
${CLAUDE_PLUGIN_ROOT} 是插件的根目录(.claude-plugin/ 所在位置)。安装插件后,Claude Code 会自动解析此路径;开发期间则将其设为 --plugin-dir 路径。
工作流检查清单
复制以下内容,并在进行过程中勾选:
Task Progress:
- [ ] Step 0: Verify prerequisites — run `python3 --version` (required); for Apify-dependent registries: try `apify --version && apify info`, or check for `call-actor` MCP tool; if neither, tell user to install apify CLI or Apify MCP connector
- [ ] Step 1: Identify country + identifier type (IČO/KRS/CUI/LEI/company name)
- [ ] Step 2: Run the lookup command per country table
- [ ] Step 3: Interpret results (key fields vary by source)
- [ ] Optional: Apify fallback for scraping-based registries
- [ ] Optional: Cross-reference with EU-level sources (GLEIF LEI, ESMA bonds, EBA)
快速参考 — 按国家/地区查询
以下所有路径均相对于 ${CLAUDE_PLUGIN_ROOT}/skills/apify-public-registries/。
| 国家/地区 | 命令 | 标识符 | 访问方式 |
|---|---|---|---|
| CZ | python3 reference/scripts/CZ/fetch_all.py lookup <IČO> | IČO(8 位数字) | 免费(ARES API) |
| SK | python3 reference/scripts/SK/fetch_all.py lookup <IČO> | IČO | 免费(ORSR 抓取) |
| PL | python3 reference/scripts/PL/fetch_all.py lookup <KRS> | KRS(10 位数字,前补零) | 免费(KRS API) |
| PL | python3 reference/scripts/PL/fetch_all.py lookup_nip <NIP> | NIP(10 位数字) | 免费(Biała Lista,每日 100 次) |
| PL GUS | (包含在批量 fetch_all.py 中) | NIP | 必须提供 GUS_API_KEY——否则会静默返回虚假的测试数据(请参阅注意事项) |
| DE | python3 reference/scripts/DE/fetch_all.py keyword <name> | 公司名称 | Apify(mcpc CLI) |
| UK | python3 reference/scripts/UK/fetch_all.py search <name> | 公司名称 | Apify(mcpc CLI) |
| NL | python3 reference/scripts/NL/fetch_all.py | KVK 编号(已配置) | API 密钥(KVK_API_KEY) |
| RO | python3 reference/scripts/RO/fetch_all.py lookup <CUI> | CUI 编号 | 免费(ANAF——自 2026-03 起离线) |
| HR | 手动操作——请参阅 REGISTRATION/HR.md | OIB / MBS | OAuth 注册 |
| SE | 手动操作——请参阅 REGISTRATION/SE.md | Org.nr | Bolagsverket 注册 |
| EU | python3 reference/scripts/EU/fetch_all.py lookup <name> | 公司名称 | 免费(GLEIF + ESMA + TED) |
| EU | python3 reference/scripts/EU/fetch_all.py lookup_lei <LEI> | LEI(20 位字符) | 免费(GLEIF) |
| ESG | python3 reference/scripts/ESG/fetch_all.py lookup <country> | 国家/地区名称或 ISO 代码 | 免费 |
按数据类型
| 需求 | 最佳数据源 | 命令 |
|---|---|---|
| 基本资料(名称、地址、法律形式) | CZ:ARES,SK:ORSR,PL:KRS,DE:Handelsregister,UK:Companies House | 参见上方的国家表格 |
| 所有权/企业架构 | EU GLEIF | EU/fetch_all.py lookup_lei <LEI> |
| 财务申报(CZ) | Justice.cz sbírka listin(Apify 备用方案) | CZ/fetch_all.py justice |
| 财务申报(SK) | FinStat.sk | SK/fetch_all.py finstat |
| 财务申报(PL) | 通过 Apify 获取 eKRS | PL/fetch_all.py financials |
| 债券与金融工具 | ESMA FIRDS | EU/fetch_all.py lookup <name> |
| VAT/尽职调查(CZ) | DPH 登记册 | 已包含在 CZ/fetch_all.py lookup 中 |
| VAT/尽职调查(PL) | Biała Lista | PL/fetch_all.py lookup_nip <NIP> |
| 银行监管数据 | EBA Transparency CSV(100MB 以上) | EU/fetch_all.py eba |
| ESG/排放 | Climate TRACE + EU ETS | ESG/fetch_all.py lookup <country> |
| 受监管实体(CZ) | ČNB 银行名单 + OAM | CZ/fetch_all.py cnb_banks / cnb_oam |
| 公共采购 | TED | EU/fetch_all.py lookup <name> |
步骤 1:识别国家和标识符
- 检查
${CLAUDE_PLUGIN_ROOT}/data/companies.json中的identifiers.registry_ids,查看是否已有 ID。 - 如果标识符未知,先通过名称查询 EU GLEIF——该查询会返回 LEI 和可用于国家级查询的注册编号。
各国标识符类型:
- CZ/SK:IČO(8 位数字)
- PL:KRS(10 位数字,左侧补零)或 NIP(10 位数字)
- DE:公司名称关键词
- UK:公司名称
- NL:KVK 编号(8 位数字)
- RO:CUI(数字)
- HR:OIB(11 位数字)或 MBS
- SE:Organisationsnummer(10 位数字,例如 559124-6847)
- EU:LEI(20 位字母数字)或公司名称
步骤 2:运行查询
执行国家表格中的命令。脚本位于:
${CLAUDE_PLUGIN_ROOT}/skills/apify-public-registries/reference/scripts/<CC>/fetch_all.py
示例 — 在捷克 ARES 中查询公司:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/apify-public-registries/reference/scripts/CZ/fetch_all.py lookup 25099345
示例 — 通过 GLEIF 查找所有权链:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/apify-public-registries/reference/scripts/EU/fetch_all.py lookup_lei 31570048XH84U51GGT05
示例 — 在 KRS 中查询 InPost:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/apify-public-registries/reference/scripts/PL/fetch_all.py lookup 0000536554
批量获取(某个国家的所有公司):
python3 reference/scripts/CZ/fetch_all.py # all CZ sources (ares, dph, cnb_banks, cnb_oam, justice)
python3 reference/scripts/PL/fetch_all.py # all PL sources (krs, biala_lista, gus, financials)
python3 reference/scripts/EU/fetch_all.py # all EU sources except EBA (gleif, ted, esma, eurostat)
步骤 3:解读结果
不同数据源的关键字段各不相同:
| 数据源 | 关键字段 |
|---|---|
| ARES(CZ) | obchodniJmeno、dic、sidlo.textovaAdresa、czNace、datumVzniku、pravniForma |
| DPH(CZ) | nespolehlivyPlatce(不可靠纳税人标记)、银行账户 |
| GLEIF(EU) | lei、legalName、jurisdiction、status、registeredAs、母公司 LEI + 名称 |
| KRS(PL) | nazwa、nip、regon、kapital(股本) |
| Biała Lista(PL) | statusVat、krs、regon、accountNumbers |
| ORSR(SK) | name、address、legal_form、share_capital、registration_date |
| FinStat(SK) | revenue、profit、employees、assets |
| Handelsregister(DE) | name、legal form、share capital、management、HRB number |
| Companies House(UK) | company number、SIC codes、directors、incorporation date |
| ESMA FIRDS(EU) | isin、lei、instrument name、cfi_code、status |
| TED(EU) | buyer-name、winner-name、total-value、procedure-type |
| ANAF(RO) | denumire、adresa、scpTVA(VAT 纳税人标记)、active status |
Apify 备用方案
没有直接 API 时,使用 Apify CLI 配合指定的 actor 或 apify/website-content-crawler:
apify call apify/website-content-crawler \
--input '{"startUrls":[{"url":"https://or.justice.cz/ias/ui/rejstrik-$firma?ico=25099345"}],"maxCrawlPages":1}' \
--user-agent apify-awesome-skills/apify-public-registries
依赖 Apify 的登记册:
| 国家 | 登记册 | Actor | 触发方式 |
|---|---|---|---|
| DE | Handelsregister | radeance/handelsregister-api | DE/fetch_all.py keyword <name> |
| UK | Companies House | dhrumil/company-house-scraper | UK/fetch_all.py search <name> |
| PL | eKRS 财务数据 | minute_contest/poland-krs-financial-scraper | PL/fetch_all.py financials |
| CZ | Justice.cz 申报文件 | apify/website-content-crawler | 通过 apify CLI 直接调用 |
| RO | ListaFirme.ro | apify/website-content-crawler | RO/fetch_all.py listafirme |
| SE | Allabolag.se | apify/website-content-crawler | 手动操作(需要住宅代理) |
注意:DE、UK 和 RO 脚本内部使用 mcpc CLI(而非 apify CLI)。
依赖项
仅使用 Python 标准库(无需 pip)
CZ(ares、dph、cnb_banks、cnb_oam、justice)、SK(orsr、finstat)、PL(krs、biala_lista、gus), EU(gleif、esma、ted、eurostat)、ESG(ets、climate_trace)、RO(anaf)
需要 Apify + APIFY_TOKEN
DE(handelsregister)、UK(companies_house)、PL(通过 eKRS 获取 financials), CZ(通过抓取获取 justice.cz sbírka listin)、RO(listafirme.ro)
需要注册 API 密钥
- NL:
KVK_API_KEY— 在 developers.kvk.nl 注册(REGISTRATION/NL.md) - PL GUS:
GUS_API_KEY— 发送电子邮件至 [email protected](测试密钥abcde12345abcde12345可用,但没有真实数据) - SE:Bolagsverket — 在 portal.api.bolagsverket.se 注册(REGISTRATION/SE.md)
- HR:Sudski registar — 在 sudreg-data.gov.hr 注册,使用 OAuth2 流程(REGISTRATION/HR.md)
重要注意事项
- CZ ARES 是查询捷克公司最好的单一入口,可汇总多个源登记处的数据。
- EU GLEIF 是跨国家查询的最佳入口,可将 LEI 映射为可用于各国查询的注册编号。
- RO ANAF API 自 2026 年 3 月起已离线 — 查询会返回错误。请改用 listafirme.ro(Apify)作为备用方案。
- SK ORSR 使用 HTML 抓取,采用 windows-1250 编码和正则表达式解析 — 脆弱易失,页面布局变更可能导致脚本失效。
- SK FinStat 也使用 HTML 抓取 — 可能会阻止自动化访问。
- PL Biała Lista 有严格的速率限制:每天 100 次查询(search 方法)或 5,000 次查询(check 方法)。
- PL GUS 在未设置
GUS_API_KEY时会静默返回伪造数据 — 测试服务器会针对任意有效 NIP 返回看似可信的记录(ul. Test-Krucza、Kraków-Podgórze)。需要生产密钥:发送电子邮件至 [email protected]。务必检查 GUS 返回的第一条记录,以确认使用的是生产环境还是测试环境。 - DE + UK 脚本使用 mcpc CLI(而非 apify CLI)— 需要通过
@apify会话完成身份验证。 - UK Companies House 提供免费 API,地址为 api.company-information.service.gov.uk,但脚本使用 Apify 抓取。
- CZ Justice.cz 批量数据集包含 13GB 以上的 XML/CSV 文件。CKAN API 返回的是数据集列表,而非公司级数据。
- CZ ČNB OAM 仅适用于发行人(上市公司、银行) — 使用 Oracle BI XML 导出。
- ESG 数据按国家划分,而非公司级数据 — 仅适合作为背景基准。
- ESAP(提供 API 的欧盟集中式 ESG/财务数据库)将于 2028 年 1 月上线 CSRD 数据。
- EBA Transparency CSV 文件每个都超过 100MB — 请单独运行
EU/fetch_all.py eba,不要将其纳入常规批处理。 - TED 价值较低 — 大多数投资组合公司都是私营企业。eForms 公告中仅在 2024 年及以后包含中标方名称。
- 批处理模式(运行不带参数的
fetch_all.py)会从脚本所在目录读取lookup_targets.json— 该文件是各国的 ID→名称映射,并非data/companies.json的副本。查询单家公司时,请直接传入标识符。
参考资料
- data/registries.json — 机器可读数据:11 个国家,27 个登记条目
- REGISTRATION/HR.md、REGISTRATION/NL.md、REGISTRATION/SE.md — 各国 API 访问指南
- reference/european-company-data-institutions.md — 完整的叙述式目录(413 行,涵盖 CZ + PL + EU 机构)
- reference/scripts/{CZ,DE,ESG,EU,NL,PL,RO,SK,UK}/fetch_all.py — 各国查询脚本