European Business Registry Data as Agent Skills: How to Give Your AI Agent Access to 14 Regulatory Sources
Your AI agent can draft emails, summarize documents, and write code. But can it tell you whether a Polish company has declared its beneficial owners? Or whether a Spanish counterparty just filed for dissolution in yesterday's corporate gazette?
That's a different category of problem: your agent needs to query real regulatory data sources that have no APIs, no SDKs, and no structured access. Until now, that meant either manual portal lookups or an expensive enterprise subscription.
Here's a different approach: installable agent skills that package programmatic access to European business registries as repeatable workflows.
The gap: regulatory data vs. AI agents
Official public business registries across Europe are rich with company data - financial statements, beneficial ownership records, insolvency filings, corporate acts. But they're designed for manual human lookup, one company at a time. An AI agent can't navigate a government portal. It needs an API.
Some registries have official APIs. Most don't. And the ones that do often come with bureaucratic licensing, rate limits, or censored fields.
The solution: a set of Apify Actors that do the portal navigation and return structured JSON - wrapped as skills your AI agent can invoke.
What a skill looks like
A skill is a markdown file with three things:
- A description - what problem this solves
- The input schema - what parameters your agent passes
- The actor call - which Apify Actor to invoke, and what to do with the result
Here's the simplest example - checking beneficial owners via Poland's public UBO registry:
from apify_client import ApifyClient
client = ApifyClient()
# Your agent runs this when asked "verify UBOs for company X"
run = client.actor("regdata/crbr-beneficial-owners-scraper").call(
run_input={"query": company_name}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"Company: {item['companyName']}")
for owner in item.get("beneficialOwners", []):
print(f" UBO: {owner['fullName']} - {owner['ownershipPercentage']}%")
That's it. Your agent doesn't need to know anything about the registry portal, the search form, or the output format. The skill handles all of that and returns structured JSON.
Three packaged workflows
The getregdata repository on GitHub ships three ready-to-use workflow skills, each combining multiple actors for cross-registry coverage:
1. KYC/AML Onboarding Check
Actors: CRBR (beneficial owners) + KRZ (debtor registry) + KNF (financial institutions)
For every new counterparty, your agent runs all three checks in parallel and returns a structured pass/review-required report. A full check costs about $0.06 per company - no subscription needed.
2. Cross-Border Credit-Risk Watchlist
Actors: KRZ (Poland insolvency) + Ediktsdatei (Austria insolvency) + BORME (Spain dissolutions)
Schedule a weekly monitor over your portfolio. The agent checks all three jurisdictions and only surfaces entities with new insolvency events. Everything else is silently clean.
3. B2B Lead Feed from New Incorporations
Actors: BORME (Spain gazette) + WKO (Austria directory) + Societe.com (France)
A daily pull of newly incorporated companies across three countries. Extracts company name, officers, industry codes, and contact data where available.
All 14 actors, 4 countries
The full portfolio covers Poland (9 actors), Spain (2), Austria (2), and France (1):
| Registry | Country | What you get |
|---|---|---|
| Beneficial owners | Poland | UBO names, ownership %, control nature |
| Debtor registry | Poland | Bankruptcy, restructuring proceedings |
| Land registry | Poland | Property ownership, mortgages |
| Financial supervision | Poland | Licensed payment, e-money, lending entities |
| Court gazette | Poland | 20+ years of corporate announcements |
| Board members | Poland | Uncensored director and shareholder names |
| Banned clauses | Poland | 7,500+ prohibited contract terms |
| Waste registry | Poland | 674K entities for ESG/CSRD verification |
| Financial statements | Poland | Structured balance sheets and P&L |
| Corporate gazette | Spain | Daily incorporations, appointments, dissolutions |
| Company directory | Spain | NIF, officers, CNAE codes, legal form |
| Insolvency filings | Austria | Bankruptcy, reorganization, debt settlement |
| Business directory | Austria | 620K+ companies with contact data |
| Company intelligence | France | SIREN, directors, financials, subsidiaries |
How to use these with your agent
Hermes
Copy a skill file into your Hermes skills directory:
cp skills/regdata-kyc-aml/SKILL.md ~/.hermes/skills/regdata-kyc-aml.md
Then in any Hermes session:
> Screen company "XYZ Sp. z o.o." for KYC onboarding
The agent loads the skill, calls the actors, and returns a structured report.
Any agent with API access
If your agent can make HTTP requests, it can call the Apify API directly. Each skill file in the repo includes the exact actor ID and input schema.
Cron-based agents
For recurring checks (weekly credit-risk monitoring, daily lead feeds), deploy the skill as a scheduled Hermes cron job:
hermes cron create \
--name "weekly-credit-risk" \
--schedule "0 8 * * 1" \
--skill regdata-credit-risk \
--prompt "Run credit-risk watchlist on /data/portfolio.json. Flag new events."
Getting started
git clone https://github.com/Nolpak14/getregdata.git
cd getregdata
pip install apify-client
export APIFY_TOKEN="your_token"
The repo includes a README with a full quick-start, actor pricing table, and contribution guide for adding new countries or workflows.
The actors in this suite are available on the Apify Store. Pay-per-result, no subscription. All data sourced from official public registries.
Top comments (0)