BaFin Germany Licensed Financial Institutions Scraper
Pricing
from $12.75 / 1,000 results
BaFin Germany Licensed Financial Institutions Scraper
Search the BaFin database of licensed German financial institutions: legal name, type, address, BaFin-ID / BAK / register number and every authorisation with dates. Browse by category (banks, asset managers, crypto custodians). For KYB, KYC and AML. Export to JSON, CSV or Excel.
Pricing
from $12.75 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
BaFin Germany Licensed Financial Institutions Scraper
Here is one real result, with every field the actor returns (the authorisations and authorisationsActive arrays are shown with a few of their entries):
{"recordType": "financialInstitution","institutId": "100003","name": "DEUTSCHE BANK AKTIENGESELLSCHAFT","institutionTypes": ["CRR-Kreditinstitut", "Kreditinstitut", "SSM-Institut"],"institutionType": "CRR-Kreditinstitut, Kreditinstitut, SSM-Institut","bafinId": "10100003","bakNumber": "100003","registerNumber": null,"addressStreet": "Taunusanlage 12","postalCode": "60325","city": "Frankfurt am Main","country": "Deutschland","disputeResolutionEntity": "Ombudsmann der privaten Banken beim Bundesverband deutscher Banken www.bankenombudsmann.de","authorisations": ["Anlageberatung (§ 1 Abs. 1a Satz 2 Nr. 1a KWG) | issued 2007-11-01","Depotgeschäft (§ 1 Abs. 1 Satz 2 Nr. 5 KWG) | issued 1961-07-10","Einlagengeschäft (§ 1 Abs. 1 Satz 2 Nr. 1 KWG) | issued 1961-07-10","E-Geld-Geschäft (§ 1 Abs. 1 Satz 2 Nr. 11 KWG) | issued 2002-07-01 | ended 2011-04-30 | Inkrafttr. d. Gesetzes z. Umsetzung d. 2. E-GeldRL"],"authorisationsActive": ["Anlageberatung (§ 1 Abs. 1a Satz 2 Nr. 1a KWG)","Depotgeschäft (§ 1 Abs. 1 Satz 2 Nr. 5 KWG)","Einlagengeschäft (§ 1 Abs. 1 Satz 2 Nr. 1 KWG)"],"authorisationsCount": 30,"authorisationsActiveCount": 22,"registerUrl": "https://portal.mvp.bafin.de/database/InstInfo/institutDetails.do?cmd=loadInstitutAction&institutId=100003","sourceQuery": "Deutsche Bank","source": "BaFin Company Database (Unternehmensdatenbank)","observedAt": "2026-08-14T07:22:12.007Z","aiCompanySummary": "Deutsche Bank Aktiengesellschaft is a major German financial institution authorized to provide a wide range of banking services, including credit, investment advice, and asset management. It operates under the supervision of BaFin and is classified as a CRR credit institution.","aiRiskFlags": ["ended authorisations", "no active authorisations for certain services"],"aiRiskLevel": "medium","aiIndustry": "retail bank","aiIndustryCode": "522110"}
The most complete BaFin institution scraper available. It returns every field the BaFin company database exposes for each licensed institution, including full address, BaFin-ID, BAK and register numbers, and every regulatory authorisation with grant and end dates, plus derived active-authorisation counts, and gives you category and name/number filters to target exactly the institutions you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches the BaFin company database (Unternehmensdatenbank) of financial institutions licensed in Germany and writes one normalized record per institution. Search by name or keyword, browse an entire regulatory category (banks, asset managers, crypto custodians, MiCAR issuers, and more) to build lead lists, or look up exact BAK or register numbers. With includeDetails on (the default) each institution's detail page is fetched to add the full address, BaFin-ID, BAK and register numbers, the dispute-resolution entity, and every regulatory authorisation with its grant and end dates. Derived fields (authorisationsActive, authorisationsCount, authorisationsActiveCount) separate live from lapsed permissions. Missing source values are returned as null.
Three optional AI add-ons (paid Apify plans only, off by default) enrich each record from its own BaFin data: a plain-English company summary, KYB/AML risk flags with a risk level, and a normalized industry classification. Each add-on is billed only when it returns usable output.
Quickstart
Open the actor, paste this into the input, and press Run. It searches BaFin for Deutsche Bank with full detail.
{"institutNames": ["Deutsche Bank"],"maxInstitutions": 10,"includeDetails": true}
Add more names or keywords (for example ["Allianz", "Trade Republic"]), or set category to enumerate a whole regulatory category for lead lists. Turn includeDetails off for faster, list-only results.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
institutNames | string[] | no | (empty) | Institution names or keywords to search. One run searches every entry. |
category | enum | no | (any) | Browse a whole regulatory category by code: 10 all companies, 20 all institutions, 30 credit institutions, 40 leasing/factoring, 50 financial services, 60 asset management, 70 credit services, 100 securities institutions, 110 EEA credit institutions, 120 EU management companies, 145 MiCAR issuers, 155 financial holding companies, 160 crypto securities registrars, 170 crypto custodians. |
bakNumbers | string[] | no | (empty) | Exact BaFin BAK numbers to look up directly. |
registerNumbers | string[] | no | (empty) | Exact register numbers to look up directly. |
includeDetails | boolean | no | true | Fetch each institution's detail page (full address, IDs, all authorisations with dates). Turn off for faster, list-only results. |
maxInstitutions | integer | no | 30 | Maximum institutions to return across all searches. |
withAiCompanySummary | boolean | no | false | Paid add-on. Plain-English summary of each institution and what it is authorised to do. Requires a paid Apify plan. Billed only when a summary is produced. |
withAiRiskFlags | boolean | no | false | Paid add-on. KYB/AML red flags (lapsed authorisations, higher-risk entity types, missing dispute-resolution entity) with a risk level. Requires a paid Apify plan. Billed only when flags are produced. |
withAiIndustry | boolean | no | false | Paid add-on. Normalized industry/segment label (bank, asset manager, crypto custodian). Requires a paid Apify plan. Billed only when a classification is produced. |
Filters combine with logical AND. Combine category with a name to filter, or leave the name empty to enumerate the whole category.
Output reference
One dataset item per institution. Types: string, integer, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
recordType | string | Record type. Always financialInstitution. |
institutId | string | BaFin internal institution ID. |
name | string | Institution legal name. |
institutionTypes | string[] | Regulatory institution types, for example CRR-Kreditinstitut. |
institutionType | string | The same types joined into one string. |
bafinId | string | BaFin-ID. |
bakNumber | string | BaFin BAK number. |
registerNumber | string | Register number, or null. |
addressStreet | string | Street address (detail only). |
postalCode | string | Postal code (detail only). |
city | string | City (detail only). |
country | string | Country (detail only), for example Deutschland. |
disputeResolutionEntity | string | Consumer dispute-resolution entity (detail only), or null. |
authorisations | string[] | Every regulatory authorisation with grant and (where applicable) end dates and notes (detail only). |
authorisationsActive | string[] | Currently active authorisations only (detail only). |
authorisationsCount | integer | Total number of authorisations found. |
authorisationsActiveCount | integer | Number of currently active authorisations. |
registerUrl | string | BaFin detail page URL. |
sourceQuery | string | The search name/keyword that produced this record. |
source | string | Data source label. Always BaFin Company Database (Unternehmensdatenbank). |
observedAt | string | ISO 8601 timestamp of collection. |
aiCompanySummary | string | Plain-English summary. Populated only when the AI summary add-on is on, else null. |
aiRiskFlags | string[] | KYB/AML red flags. Populated only when the AI risk add-on is on, else null. Empty array means no flags. |
aiRiskLevel | string | Overall risk level low, medium, or high from the AI risk add-on, else null. |
aiIndustry | string | Normalized industry label from the AI industry add-on, else null. |
aiIndustryCode | string | Closest industry code from the AI industry add-on, else null. |
A failed run writes a single item with an error field and is not charged.
Example output record
Real record from a live run (input {"institutNames":["Deutsche Bank"],"maxInstitutions":2,"includeDetails":true,"withAiCompanySummary":true,"withAiRiskFlags":true,"withAiIndustry":true}), with the authorisation arrays trimmed to a few entries:
{"recordType": "financialInstitution","institutId": "100003","name": "DEUTSCHE BANK AKTIENGESELLSCHAFT","institutionTypes": ["CRR-Kreditinstitut", "Kreditinstitut", "SSM-Institut"],"institutionType": "CRR-Kreditinstitut, Kreditinstitut, SSM-Institut","bafinId": "10100003","bakNumber": "100003","registerNumber": null,"addressStreet": "Taunusanlage 12","postalCode": "60325","city": "Frankfurt am Main","country": "Deutschland","disputeResolutionEntity": "Ombudsmann der privaten Banken beim Bundesverband deutscher Banken www.bankenombudsmann.de","authorisations": ["Depotgeschäft (§ 1 Abs. 1 Satz 2 Nr. 5 KWG) | issued 1961-07-10","Einlagengeschäft (§ 1 Abs. 1 Satz 2 Nr. 1 KWG) | issued 1961-07-10"],"authorisationsActive": ["Depotgeschäft (§ 1 Abs. 1 Satz 2 Nr. 5 KWG)","Einlagengeschäft (§ 1 Abs. 1 Satz 2 Nr. 1 KWG)"],"authorisationsCount": 30,"authorisationsActiveCount": 22,"registerUrl": "https://portal.mvp.bafin.de/database/InstInfo/institutDetails.do?cmd=loadInstitutAction&institutId=100003","sourceQuery": "Deutsche Bank","source": "BaFin Company Database (Unternehmensdatenbank)","observedAt": "2026-08-14T07:22:12.007Z","aiCompanySummary": "Deutsche Bank Aktiengesellschaft is a major German financial institution authorized to provide a wide range of banking services, including credit, investment advice, and asset management. It operates under the supervision of BaFin and is classified as a CRR credit institution.","aiRiskFlags": ["ended authorisations", "no active authorisations for certain services"],"aiRiskLevel": "medium","aiIndustry": "retail bank","aiIndustryCode": "522110"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~bafin-germany-financial-institutions-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"institutNames":["Deutsche Bank"],"includeDetails":true,"maxInstitutions":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~bafin-germany-financial-institutions-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"category":"170","maxInstitutions":100}'
Apify CLI:
apify call scrapers_lat/bafin-germany-financial-institutions-scraper \--input '{"bakNumbers":["100003"],"includeDetails":true}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per institution record returned (
resultevent). See the pricing tab for the current per-result price. - Add-ons billed separately. Detail fetching (
details) and each AI add-on (ai_company_summary,ai_risk_flags,ai_industry) are billed only for the work they do; each AI add-on is charged per record only when it returns usable output, on paid plans. - No charge on failure. If a run errors, the actor writes a single item with an
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run and cannot use the AI add-ons. Upgrade for higher
maxInstitutionsand enrichment.
FAQ and troubleshooting
A run returned 0 records. Why? The name or number matched no institution, or the category was empty for your filter. Broaden the keyword, clear the name to enumerate a category, or check the BAK/register number. Zero-result runs are not charged.
Why are the address and authorisation fields null or empty?
Those come from the institution detail page, which is only fetched when includeDetails is on. With it off, only list-level fields are returned.
What is the difference between authorisations and authorisationsActive?
authorisations lists every permission on record with its grant date and, where applicable, its end date and note. authorisationsActive is the subset still in force. authorisationsCount and authorisationsActiveCount report the totals.
How do I build a lead list of a whole sector?
Set category (for example 60 for asset managers or 170 for crypto custodians) and leave institutNames empty to enumerate the whole category up to maxInstitutions.
Why are the AI fields null?
The AI add-ons are off by default and require a paid Apify plan. Turn on withAiCompanySummary, withAiRiskFlags, or withAiIndustry on a paid plan to populate them.
Is this an official BaFin tool? No. This actor is independent and has no affiliation with BaFin. It reads only data that is publicly available in the BaFin company database. Use it in accordance with the source terms of use.
Related scrapers
- Australia ASIC Registers Scraper: ASIC professional and business registers.
- B3 Brazil Stock Tickers & Listed Company Scraper: B3 listed companies, tickers, and dividends.
- SEC EDGAR Company Filings Scraper: US SEC filings by ticker or CIK.
- OFAC Sanctions List Scraper: US Treasury OFAC SDN and Consolidated lists.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with BaFin. Accesses only publicly available BaFin company database data. Use in accordance with the source terms of use.
