EU Financial License Scraper (MFSA, CySEC, FINMA)
Pricing
Pay per event
EU Financial License Scraper (MFSA, CySEC, FINMA)
Aggregate Malta MFSA, Cyprus CySEC, and Swiss FINMA financial license registers. Returns firm name, registry number, license type (CIF, MiFID, Bank, FinTech), status, authorised services, financial instruments, and regulatory history. Built for KYC, AML compliance, and MiFID-passport research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 days ago
Last modified
Categories
Share
Aggregate three primary EU and Switzerland offshore financial license registers into a single, normalized dataset. Built for KYC compliance, AML research, MiFID-passport verification, and brokerage intelligence.
Sources covered:
- Cyprus CySEC — Cyprus Securities and Exchange Commission. Investment firms (Cypriot-licensed), plus former/revoked firms. Server-rendered HTML, no anti-bot.
- Switzerland FINMA — Swiss Financial Market Supervisory Authority. Banks, securities firms, portfolio managers, trustees, and FinTech-licensed companies. Data served as official XLSX files.
- Malta MFSA — Malta Financial Services Authority. (Phase 2 — Cloudflare-protected; scheduled for a future release)
What you get
Each record contains:
| Field | Description |
|---|---|
source_regulator | CySEC or FINMA (or MFSA when live) |
registry_number | License / registry number |
firm_name | Full legal entity name |
license_type | CIF (Investment Firm), Bank, Portfolio Manager / Trustee, FinTech Licence, etc. |
license_status | active, revoked, former, or unknown |
license_issue_date | Date license was granted (ISO format where available) |
license_revocation_date | Date license was terminated (if applicable) |
registered_office | Registered office address |
country | Country of registration (Cyprus or Switzerland) |
source_url | Direct link to the regulator page |
regulatory_actions | Revocation reason or enforcement notice (when disclosed) |
Array fields (services_authorised, financial_instruments, directors, regulatory_actions) are returned as arrays.
Usage
Basic run — all available regulators, 200 records
{"regulators": ["CySEC", "FINMA"],"maxItems": 200}
Filter by license type
{"regulators": ["FINMA"],"licenseType": "FinTech","maxItems": 50}
CySEC active firms only
{"regulators": ["CySEC"],"includeRevoked": false,"maxItems": 500}
Full scrape (unlimited)
{"regulators": ["CySEC", "FINMA"],"maxItems": 0}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
regulators | array | ["CySEC", "FINMA"] | Which regulators to crawl |
licenseType | string | "" | Filter by license type substring (case-insensitive) |
firmName | string | "" | Filter by firm name substring (case-insensitive) |
includeRevoked | boolean | true | Include revoked / voluntarily surrendered licenses |
maxItems | integer | 200 | Maximum records to return; 0 = unlimited |
Estimated record counts
| Source | Coverage | Format |
|---|---|---|
| CySEC (active investment firms) | ~250 | HTML cards |
| CySEC (former / revoked) | ~140 | HTML cards |
| FINMA (banks and securities firms) | ~270 | XLSX |
| FINMA (portfolio managers and trustees) | ~1,490 | XLSX |
| FINMA (FinTech licensees) | ~100 | XLSX |
| FINMA (insurance companies) | ~120 | XLSX |
Total: ~2,370 records across all sources.
Use cases
- KYC / AML compliance — verify counterparty license status before onboarding
- MiFID-passport research — cross-reference firm authorizations across EU jurisdictions
- Brokerage intelligence — monitor new entrants and license revocations
- Regulatory database enrichment — supplement existing compliance databases with EU peripheral registries
- Market analysis — track FinTech licensing trends in Switzerland
Notes
- CySEC pages are scraped live each run. FINMA data comes from official XLSX files updated regularly by FINMA.
- MFSA (Malta) is Cloudflare-protected and will be added in a future release.
- The actor respects a 1-second politeness delay between requests to CySEC.
- For full production datasets (
maxItems: 0), allow 5-10 minutes of run time.