UK FCA Register Firm Status Monitor (FRN Watchlist) avatar

UK FCA Register Firm Status Monitor (FRN Watchlist)

Pricing

from $20.00 / 1,000 fca frn status event delivereds

Go to Apify Store
UK FCA Register Firm Status Monitor (FRN Watchlist)

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

Daniel Witney

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

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

  1. Export the FRNs of your ARs, partners or panel firms.
  2. Register (free) on the FCA Register developer portal to get an API key for your email address.
  3. Run once with sourceMode: "live", fcaEmail and fcaApiKey — this records a baseline of each firm's status, permissions, ARs and disciplinary history (no charge, no events).
  4. 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_NEW only 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 LIMITED are 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 DateHTML 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 onlySLA / 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, optional FCA_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_uid dedupe.

PRODUCTION USE (required for real monitoring)

Store default ≠ product. Schema defaults use sourceMode=fixture so Apify Store daily auto-tests leave a non-empty health dataset without calling FCA. That fixture path only writes a non-billable RUN_STATUS / FIXTURE_HEALTH row. It is not FRN monitoring.

For production monitoring you must:

  1. Set sourceMode = live
  2. Provide fcaEmail + fcaApiKey (free FCA Register developer portal)
  3. Provide your frns watchlist
  4. Schedule runs (daily is typical; Register is snapshot/poll-class, not a stream)

Official references:

Apify Store daily auto-test / default input

FieldDefault
frns["122702","311492"]
signalGroupsstatus, permissions, appointed_representatives, disciplinary
sourceModefixture
emitFixtureDemoEventsfalse
includeIndividualIrnfalse
maxRunSeconds55
requestPaceMs250

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)

FieldNotes
frnsWatchlist (required, numeric FRN)
signalGroupsstatus, permissions, appointed_representatives, disciplinary
sourceModefixture (default) or live
fcaEmail / fcaApiKeyRequired for live (isSecret on key)
emitFixtureDemoEventsDefault false
includeIndividualIrnDefault false (A5)
maxRunSeconds / maxEventsBudgets
resumeFromCheckpointDefault true
requestPaceMsDefault 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-monitor
npm install
npm test
npm run build
apify 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.