UK FCA Register Firm Status Monitor (FRN Watchlist)
Pricing
from $20.00 / 1,000 fca frn status event delivereds
UK FCA Register Firm Status Monitor (FRN Watchlist)
FCA Register monitoring for principal firms, partnership and third-party-risk teams: watch FRNs and get events when a firm is cancelled or suspended, permissions change, Appointed Representatives are added or removed, or a disciplinary record appears. Official FCA Register API (free key).
Pricing
from $20.00 / 1,000 fca frn status event delivereds
Rating
0.0
(0)
Developer
Daniel Witney
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Monitor the FCA Register for the firms you depend on. Watch a list of FRNs (Firm Reference Numbers) and get a typed event when a firm is cancelled or suspended, its permissions change, an Appointed Representative (AR) is added or removed, or a new disciplinary record appears. Built for principal firms supervising ARs, bank and fintech partnership / third-party-risk teams, and broker or lead-generation networks. Uses the official FCA Financial Services Register API with your free portal key. Not a register directory scrape, not WatchDog / Distos seats, not Companies House status.
Quick start: replace the example FRNs with yours → set Source mode = live → add your FCA Register portal email + free API key → save as a Task and schedule it daily. The first live run records a baseline (no charge); later runs deliver an event only when a watched firm changes. Clicking Start with the defaults runs a free health check only.
Who this is for
- Principal firms that must keep track of their Appointed Representatives and introducer firms.
- Bank, fintech and insurer partnership / third-party-risk teams checking that partners stay authorised with the right permissions.
- Broker, lead-generation and affiliate networks that must stop working with firms that are cancelled or suspended.
Typical workflow
- Export the FRNs of your ARs, partners or panel firms.
- Register (free) on the FCA Register developer portal to get an API key for your email address.
- Run once with
sourceMode: "live",fcaEmailandfcaApiKey— this records a baseline of each firm's status, permissions, ARs and disciplinary history (no charge, no events). - Save as a Task and schedule daily. Each later run compares against the stored baseline and delivers
FCA_FRN_CANCELLED,FCA_FRN_SUSPENDED,FCA_FRN_STATUS_CHANGED,FCA_AR_ADDED/FCA_AR_REMOVED,FCA_DISCIPLINARY_NEWonly for FRNs on your list. Route them to email / Slack / your GRC tool via Apify integrations.
First run vs later runs
Run 1 (live) is a baseline: it stores each watched firm's current Register state and emits no events. Run 2 onwards compares against that baseline, so keep the same Task (its key-value store holds the checkpoint).
Example output (SAMPLE)
SAMPLE — illustrative values in the real output shape; FRN
000000/EXAMPLE ADVISERS LIMITEDare placeholders, not a real firm or a real Register change.
{"frn": "000000","organisation_name": "EXAMPLE ADVISERS LIMITED","event_type": "FCA_FRN_SUSPENDED","event_subtype": "Authorised->Suspended","changed_fields": ["status"],"previous_value": "Authorised","new_value": "Suspended","effective_date": "2026-09-10","as_of": "2026-09-17","evidence": {"previous_status": "Authorised","new_status": "Suspended","status_effective_date": "2026-09-10","sub_status": null},"summary": "FRN 000000 (EXAMPLE ADVISERS LIMITED) FCA Register Status changed: Authorised → Suspended.","source_url": "https://register.fca.org.uk/services/V0.1/Firm/000000","event_uid": "<md5>","billable": true,"business_type": "Regulated"}
What you get per $0.02 event: one deduplicated status, permissions, AR or disciplinary change for one FRN on your watchlist (one dataset row like the sample above). Baselines, quiet runs, duplicates and invalid FRNs are never charged.
Honest coverage (read before buying)
| Included (official Register API) | Not included |
|---|---|
Firm Status / Status Effective Date | HTML scrape of register.fca.org.uk |
Permissions fingerprint (Firm/{FRN}/Permissions) | WatchDog / Distos / ComplyAdvantage keys |
Appointed Representatives (Firm/{FRN}/AR) | Nationwide new-authorisation lead dumps |
DisciplinaryHistory adds (Firm/{FRN}/DisciplinaryHistory) | Individual IRN resources (default OFF) |
| Lookup by FRN on your watchlist only | SLA / uptime guarantees (FCA: free API, no SLA) |
Live path: per-FRN GET https://register.fca.org.uk/services/V0.1/Firm/{FRN} with headers X-Auth-Email + X-Auth-Key (free developer-portal registration). Rate limit ~50 req / 10s (429 → ~1 min block). First observation stores a baseline (no charge). Quiet days ≈ $0 product charges.
Value proposition
- FRN watchlist × Register snapshot diff →
FCA_FRN_CANCELLED,FCA_FRN_SUSPENDED,FCA_FRN_AUTHORISED_RESTORED,FCA_FRN_STATUS_CHANGED, optionalFCA_AR_ADDED/FCA_AR_REMOVED/FCA_DISCIPLINARY_NEW,FCA_FRN_GONE. - Official FCA HTTP only. No WatchDog / Distos key.
- Pay only for unique delivered change events. Durable KVS checkpoint +
event_uiddedupe.
PRODUCTION USE (required for real monitoring)
Store default ≠ product. Schema defaults use
sourceMode=fixtureso Apify Store daily auto-tests leave a non-empty health dataset without calling FCA. That fixture path only writes a non-billableRUN_STATUS/FIXTURE_HEALTHrow. It is not FRN monitoring.
For production monitoring you must:
- Set
sourceMode=live - Provide
fcaEmail+fcaApiKey(free FCA Register developer portal) - Provide your
frnswatchlist - Schedule runs (daily is typical; Register is snapshot/poll-class, not a stream)
Official references:
- Financial Services Register (FCA: free API, no SLA)
- Endpoint:
https://register.fca.org.uk/services/V0.1/Firm/{FRN}
Apify Store daily auto-test / default input
| Field | Default |
|---|---|
frns | ["122702","311492"] |
signalGroups | status, permissions, appointed_representatives, disciplinary |
sourceMode | fixture |
emitFixtureDemoEvents | false |
includeIndividualIrn | false |
maxRunSeconds | 55 |
requestPaceMs | 250 |
On that path the Actor SUCCEEDS quickly, pushes exactly one RUN_STATUS / FIXTURE_HEALTH row (billable: false), and does not charge fca-frn-status-event-delivered.
Input (summary)
| Field | Notes |
|---|---|
frns | Watchlist (required, numeric FRN) |
signalGroups | status, permissions, appointed_representatives, disciplinary |
sourceMode | fixture (default) or live |
fcaEmail / fcaApiKey | Required for live (isSecret on key) |
emitFixtureDemoEvents | Default false |
includeIndividualIrn | Default false (A5) |
maxRunSeconds / maxEvents | Budgets |
resumeFromCheckpoint | Default true |
requestPaceMs | Default 250 (raise on 429) |
Production example
{"frns": ["122702", "311492", "805574"],"signalGroups": ["status", "permissions", "appointed_representatives", "disciplinary"],"sourceMode": "live","fcaEmail": "you@example.com","fcaApiKey": "<portal-key>","asOfHint": "2026-09-17","maxRunSeconds": 300,"requestPaceMs": 250,"resumeFromCheckpoint": true}
Output
Change events (billable under PPE)
Typed rows include: frn, organisation_name, event_type, event_subtype, changed_fields, previous_value, new_value, as_of, evidence, summary, source_url, event_uid, business_type, billable: true.
RUN_STATUS (never billed)
Every successful run pushes one health row (FIXTURE_HEALTH | MONITOR_IDLE | CATCHUP_COMPLETE | HEALTH_OK).
Pricing
Pay-per-event: fca-frn-status-event-delivered at $0.02 per delivered unique change event ($20 / 1,000). Single tier (see docs/monetization.md and ADR 0010). Health / baseline / duplicate / fixture rows are never charged. apify-actor-start ~$0.00005.
Local development
cd actors/uk-fca-frn-portfolio-status-monitornpm installnpm testnpm run buildapify run -p
Attribution
Data originates from the Financial Conduct Authority (FCA) Financial Services Register API. Not an official FCA product. Not WatchDog / Distos. Status taxonomy stays faithful to Register strings.