FCA Financial Services Register Scraper - Firms & Individuals
Pricing
from $12.75 / 1,000 results
FCA Financial Services Register Scraper - Firms & Individuals
Look up UK FCA-regulated firms and approved individuals: status, business type, full address, phone, website, permissions, individuals with reference numbers, trading names and appointed representatives. For KYB, AML and financial leads. 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
9 days ago
Last modified
Categories
Share
FCA Financial Services Register Scraper - Firms & Individuals
This actor reads the UK FCA Financial Services Register, which requires a free developer key from the FCA. Supply your own fcaEmail and fcaApiKey (or the FCA_EMAIL / FCA_API_KEY environment variables). Without a key the actor makes no request and charges nothing; here is the real result it returns for the default input when no key is set:
{"error": "MISSING_CREDENTIALS","message": "FCA Register access needs a FREE developer key. Register at the FCA developer portal, then set fcaEmail and fcaApiKey in the input (or the FCA_EMAIL / FCA_API_KEY environment variables). No key = no request was made and no charge was applied.","source": "FCA Financial Services Register","observedAt": "2026-08-10T14:35:44.386Z"}
Once a valid key is set, each firm or individual is returned as one record. The full field set is documented in the Output reference below; every value is read live from the FCA Register and nothing is fabricated.
The most complete FCA Register scraper available. It returns every field the Register exposes for each firm, from regulatory status, business type, Companies House number and MLR status to full address, phone, website and trading names, plus regulated permissions, approved individuals and appointed representatives, and it searches by firm name, FRN, individual name or IRN.
📥 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 UK FCA Financial Services Register using your free FCA developer key, and writes one normalized record per firm or individual to the run's dataset. Search firms by name, brand or sector keyword, or look them up directly by Firm Reference Number (FRN). Each firm record carries its regulatory status and effective date, business type, Companies House number, MLR / client-money / PSD / e-money statuses, full principal address, phone, website, trading and previous names. Optionally enrich each firm with its regulated permissions, approved individuals (name, IRN, status) and appointed representatives. You can also search individuals by name or Individual Reference Number (IRN) to get status, current firm and controlled functions. Missing values are returned as null, and each record carries an observedAt timestamp.
Quickstart
Get a free developer key at the FCA developer portal (it takes a few minutes), then open the actor, paste this into the input with your key, and press Run. It searches the Register for "Barclays" with permissions, individuals and appointed representatives.
{"firmNames": ["Barclays"],"includePermissions": true,"includeIndividuals": true,"includeAppointedRepresentatives": true,"maxFirms": 10,"maxIndividuals": 30,"fcaEmail": "you@example.com","fcaApiKey": "YOUR_FCA_API_KEY"}
Prefer exact lookups? Pass frns (firm numbers) or irns (individual numbers). You can also set the key once via the FCA_EMAIL and FCA_API_KEY environment variables instead of the input.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
firmNames | string[] | no | ["Barclays"] | Firm names, brand names or sector keywords to search. One run searches every entry. |
frns | string[] | no | (empty) | Specific Firm Reference Numbers to look up directly (faster and exact). Digits only. |
firmStatus | enum | no | (any) | Keep only firms whose status matches: Authorised, EEA Authorised, Registered, Cancelled, No longer authorised. |
businessType | string | no | (any) | Keep only firms whose business type contains this text, for example Investment, Insurance, Bank. |
includePermissions | boolean | no | true | Add each firm's regulated activities and permissions. |
includeIndividuals | boolean | no | true | Add each firm's approved individuals with their reference numbers (IRN) and status. |
includeAppointedRepresentatives | boolean | no | true | Add each firm's appointed representatives (ARs / IARs). |
individualNames | string[] | no | (empty) | Person names to search. Returns each individual with status, current firm and controlled functions. |
irns | string[] | no | (empty) | Specific Individual Reference Numbers to look up directly. |
maxFirms | integer | no | 10 | Maximum firms to return across all searches. Free Apify plans are capped at 10 per run. |
maxIndividuals | integer | no | 30 | Maximum individuals to return across all individual searches. Free Apify plans are capped at 10. |
fcaEmail | string (secret) | yes | (none) | The email of your free FCA Register developer account. Can also be supplied via FCA_EMAIL. |
fcaApiKey | string (secret) | yes | (none) | Your free FCA Register API key paired with the email. Can also be supplied via FCA_API_KEY. |
Provide at least one of firmNames, frns, individualNames or irns, plus valid FCA credentials.
Output reference
One dataset item per firm or individual. Types: string, integer, object[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
recordType | string | firm or individual. |
frn | string | Firm Reference Number (firm records). |
firmName | string | Registered firm name. |
status | string | Regulatory status, for example Authorised. |
subStatus | string | Sub status, if any. |
statusEffectiveDate | string | Date the current status took effect. |
businessType | string | Type of business. |
companiesHouseNumber | string | Companies House number. |
mlrStatus | string | Money Laundering Regulations status. |
clientMoneyPermission | string | Client money permission. |
psdAgentStatus | string | PSD agent status. |
eMoneyAgentStatus | string | E-Money agent status. |
mutualSocietyNumber | string | Mutual society number. |
addressType | string | Address type, for example Principal Place of Business. |
addressLine1 to addressLine4 | string | Address lines. |
town | string | Town. |
county | string | County. |
postcode | string | Postcode. |
country | string | Country. |
phone | string | Contact phone number. |
website | string | Website address. |
tradingNames | string[] | Current trading names. |
previousNames | string[] | Previous names. |
permissionsCount | integer | Number of regulated permissions. |
permissions | object[] | Regulated activities and permissions (when includePermissions is on). |
individualsCount | integer | Number of approved individuals. |
individuals | object[] | Approved individuals (name, IRN, status) when includeIndividuals is on. |
topIndividualName | string | First approved individual name. |
topIndividualIRN | string | First approved individual reference number. |
appointedRepresentativesCount | integer | Number of appointed representatives. |
appointedRepresentatives | object[] | Appointed representatives (when includeAppointedRepresentatives is on). |
fullName | string | Individual full name (individual records). |
irn | string | Individual Reference Number (individual records). |
currentFirmName | string | Individual's current firm (individual records). |
controlledFunctions | object[] | Individual controlled functions (individual records). |
fcaRegisterUrl | string | FCA Register lookup URL. |
sourceQuery | string | Input that produced this record. |
source | string | Data source label. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed run: an item with a populated error field is written instead. |
Firm-only fields are null on individual records and vice versa. Enrichment arrays are populated only when their toggle is on.
Example output record
The FCA Register requires a developer key, so a live data record cannot be shown here without credentials. Below is the actor's real, unmodified response for the default input {"firmNames": ["Barclays"], "includePermissions": true, "includeIndividuals": true, "includeAppointedRepresentatives": true} when no key is set. It writes no data and applies no charge:
{"error": "MISSING_CREDENTIALS","message": "FCA Register access needs a FREE developer key. Register at the FCA developer portal, then set fcaEmail and fcaApiKey in the input (or the FCA_EMAIL / FCA_API_KEY environment variables). No key = no request was made and no charge was applied.","source": "FCA Financial Services Register","observedAt": "2026-08-10T14:35:44.386Z"}
With a valid key set, each match is returned as a full firm or individual record using the fields in the Output reference.
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 and supply your FCA developer key.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~uk-fca-register-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"firmNames":["Revolut"],"firmStatus":"Authorised","maxFirms":25,"fcaEmail":"you@example.com","fcaApiKey":"YOUR_FCA_API_KEY"}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~uk-fca-register-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"frns":["122702"],"includeIndividuals":true,"fcaEmail":"you@example.com","fcaApiKey":"YOUR_FCA_API_KEY"}'
Apify CLI:
apify call scrapers_lat/uk-fca-register-scraper \--input '{"firmNames":["Barclays"],"fcaEmail":"you@example.com","fcaApiKey":"YOUR_FCA_API_KEY"}'
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 record returned (
resultevent). See the pricing tab for the current per-result price. - Bring your own free FCA key. The FCA Register requires a free developer account. Without valid credentials the actor makes no request and applies no charge, writing a single
MISSING_CREDENTIALSitem instead. - No charge on failure. If credentials are rejected or no record matches, the actor writes an item with a populated
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 firms and 10 individuals per run. Upgrade for higher limits.
FAQ and troubleshooting
Why did I get MISSING_CREDENTIALS?
No FCA key was supplied. Register a free developer account at the FCA developer portal, then set fcaEmail and fcaApiKey in the input, or the FCA_EMAIL / FCA_API_KEY environment variables.
Why did I get AUTH_FAILED?
The Register rejected the key. Verify fcaEmail and fcaApiKey are the exact values from your FCA developer account.
Is the FCA key free? Yes. The FCA developer portal issues free API keys in a few minutes.
Can I look up firms and people exactly?
Yes. Pass frns for exact firm numbers or irns for exact individual numbers, which is faster than a name search.
How do I add directors and permissions?
Keep includePermissions, includeIndividuals and includeAppointedRepresentatives on to enrich each firm with its permissions, approved individuals and appointed representatives.
Is this an official FCA tool? No. This actor is independent and has no affiliation with the Financial Conduct Authority. It reads the public FCA Register through the FCA's own developer interface using your key. Use the results in accordance with the FCA's terms.
Related scrapers
- UK Companies House Scraper: UK company records, officers and filings.
- FINRA BrokerCheck Scraper: US broker and firm records.
- Hong Kong SFC Licensees Scraper: SFC-licensed firms and individuals.
- GLEIF LEI Company Records Scraper: legal entity identifiers worldwide.
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 the Financial Conduct Authority (FCA). Reads the public FCA Register through the FCA developer interface using your own key. Use in accordance with the FCA's terms.
