mcpField
A
apify-public-registries

apify-public-registries

github.com/apify生产力283112 次安装5 周前更新
代码仓库

关于 apify-public-registries

apify-public-registries 是一项通过脚本查询欧洲公共公司登记数据的技能,覆盖 11 个国家。它结合直接 REST API 与 Apify Actor 后备方案,并支持公司资料、所有权、财务申报及监管数据查询。

主要功能

  1. 01查询 11 个国家的登记数据
  2. 02按国家和标识符执行查询
  3. 03通过 GLEIF 查询 LEI 与所有权
  4. 04获取部分来源的财务申报
  5. 05查询债券、采购及 ESG 数据
  6. 06无 API 时使用 Apify 后备抓取

适用场景

  1. 01核验公司的注册资料
  2. 02查找跨境所有权关系
  3. 03查询公司财务申报或 VAT 信息
  4. 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.json
reference/
european-company-data-institutions.md
reference/scripts/CZ/
fetch_all.py
lookup_targets.json
reference/scripts/DE/
fetch_all.py
lookup_targets.json
reference/scripts/ESG/
fetch_all.py
lookup_targets.json
reference/scripts/EU/
fetch_all.py
lookup_targets.json
reference/scripts/NL/
fetch_all.py
reference/scripts/PL/
fetch_all.py
lookup_targets.json
reference/scripts/RO/
fetch_all.py
lookup_targets.json
reference/scripts/SK/
fetch_all.py
lookup_targets.json
reference/scripts/UK/
fetch_all.py
lookup_targets.json
REGISTRATION/
HR.md
NL.md
SE.md

详细介绍

公共公司注册信息 — 11 个国家

通过 Python 脚本从欧洲公共注册机构查询官方公司数据(直接调用 REST API), 或在没有 API 时使用 Apify Actor 作为备用方案(网页抓取)。

先决条件

  • Python 3(脚本使用标准库——大多数国家无需 pip 依赖)
  • Apify 访问权限(仅适用于 DE、UK、PL 财务信息、CZ justice.cz、RO 备用方案)——首选:apify CLI(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/。

国家/地区命令标识符访问方式
CZpython3 reference/scripts/CZ/fetch_all.py lookup <IČO>IČO(8 位数字)免费(ARES API)
SKpython3 reference/scripts/SK/fetch_all.py lookup <IČO>IČO免费(ORSR 抓取)
PLpython3 reference/scripts/PL/fetch_all.py lookup <KRS>KRS(10 位数字,前补零)免费(KRS API)
PLpython3 reference/scripts/PL/fetch_all.py lookup_nip <NIP>NIP(10 位数字)免费(Biała Lista,每日 100 次)
PL GUS(包含在批量 fetch_all.py 中)NIP必须提供 GUS_API_KEY——否则会静默返回虚假的测试数据(请参阅注意事项)
DEpython3 reference/scripts/DE/fetch_all.py keyword <name>公司名称Apify(mcpc CLI)
UKpython3 reference/scripts/UK/fetch_all.py search <name>公司名称Apify(mcpc CLI)
NLpython3 reference/scripts/NL/fetch_all.pyKVK 编号(已配置)API 密钥(KVK_API_KEY)
ROpython3 reference/scripts/RO/fetch_all.py lookup <CUI>CUI 编号免费(ANAF——自 2026-03 起离线)
HR手动操作——请参阅 REGISTRATION/HR.mdOIB / MBSOAuth 注册
SE手动操作——请参阅 REGISTRATION/SE.mdOrg.nrBolagsverket 注册
EUpython3 reference/scripts/EU/fetch_all.py lookup <name>公司名称免费(GLEIF + ESMA + TED)
EUpython3 reference/scripts/EU/fetch_all.py lookup_lei <LEI>LEI(20 位字符)免费(GLEIF)
ESGpython3 reference/scripts/ESG/fetch_all.py lookup <country>国家/地区名称或 ISO 代码免费

按数据类型

需求最佳数据源命令
基本资料(名称、地址、法律形式)CZ:ARES,SK:ORSR,PL:KRS,DE:Handelsregister,UK:Companies House参见上方的国家表格
所有权/企业架构EU GLEIFEU/fetch_all.py lookup_lei <LEI>
财务申报(CZ)Justice.cz sbírka listin(Apify 备用方案)CZ/fetch_all.py justice
财务申报(SK)FinStat.skSK/fetch_all.py finstat
财务申报(PL)通过 Apify 获取 eKRSPL/fetch_all.py financials
债券与金融工具ESMA FIRDSEU/fetch_all.py lookup <name>
VAT/尽职调查(CZ)DPH 登记册已包含在 CZ/fetch_all.py lookup 中
VAT/尽职调查(PL)Biała ListaPL/fetch_all.py lookup_nip <NIP>
银行监管数据EBA Transparency CSV(100MB 以上)EU/fetch_all.py eba
ESG/排放Climate TRACE + EU ETSESG/fetch_all.py lookup <country>
受监管实体(CZ)ČNB 银行名单 + OAMCZ/fetch_all.py cnb_banks / cnb_oam
公共采购TEDEU/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触发方式
DEHandelsregisterradeance/handelsregister-apiDE/fetch_all.py keyword <name>
UKCompanies Housedhrumil/company-house-scraperUK/fetch_all.py search <name>
PLeKRS 财务数据minute_contest/poland-krs-financial-scraperPL/fetch_all.py financials
CZJustice.cz 申报文件apify/website-content-crawler通过 apify CLI 直接调用
ROListaFirme.roapify/website-content-crawlerRO/fetch_all.py listafirme
SEAllabolag.seapify/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 的副本。查询单家公司时,请直接传入标识符。

参考资料

评论

支持 Markdown