OrbTop

EU Financial License Scraper (MFSA, CySEC, FINMA)

BUSINESSLEAD GENERATIONOTHER

EU Financial License Scraper (MFSA, CySEC, FINMA)

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.