FINRA BrokerCheck Scraper avatar

FINRA BrokerCheck Scraper

Pricing

Pay per usage

Go to Apify Store
FINRA BrokerCheck Scraper

FINRA BrokerCheck Scraper

Extract broker and financial-advisor records from FINRA BrokerCheck by name, firm, or location. Get CRD numbers, registration status, disclosure flags, and firm details as clean structured data — for lead generation, compliance, recruiting, and market research. No API key needed.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

RDX 1S

RDX 1S

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

FINRA BrokerCheck Scraper — Brokers, Advisors & Firms

Turn the public FINRA BrokerCheck database into clean, structured data — every US broker, financial advisor, broker-dealer and RIA. Search by name, firm, state, exam/license, or CRD number and export 30+ fields per record to CSV, JSON, or Excel.

No API key. No rate limits. No login. BrokerCheck is public record published by FINRA — this Actor just makes it usable, with built-in retry/backoff so large pulls finish cleanly.

What you can do with it

  • Build a targeted list — e.g. every advisor at LPL Financial in Texas, with firm, office address, tenure, and disclosures.
  • Verify a roster of CRDs — paste a list of CRD numbers and get back current status, firm, registered states and disclosure history (compliance & KYC).
  • Recruit by license — find everyone holding a Series 65 / Series 7 (or any exam) at a given firm or state.
  • Pull firm / RIA data — search broker-dealers and RIAs (Form ADV): status, SEC #, branch count, office address, disclosures.
  • Feed an AI agent — call it as a tool over MCP, or wire it into n8n, Make and Zapier to monitor advisors automatically.

Example input

{
"searchType": "individual",
"firm": "LPL FINANCIAL",
"state": "TX",
"examNames": ["Series 65"],
"fetchDetails": true,
"maxResults": 200
}

Sample output (one record, trimmed)

{
"crd": "1113790",
"firstName": "JOHN",
"lastName": "SMITH",
"statusText": "Active",
"currentFirm": "LPL FINANCIAL LLC",
"currentFirmSince": "5/7/2020",
"branchStreet": "14 MAIN STREET, SUITE 305B",
"branchCity": "MADISON",
"branchState": "NJ",
"latitude": "40.758346",
"longitude": "-74.420134",
"registeredStateCodes": ["CA", "CO", "DE", "FL", "NJ", "NY"],
"disclosureCount": 0,
"brokerCheckUrl": "https://brokercheck.finra.org/individual/summary/1113790"
}

What you get (30+ fields)

  • Identity: CRD, name, broker & advisor status (human-readable), industry start date, registration count.
  • Firm & office: current firm + CRD, tenure, and the exact branch street address with latitude/longitude (with fetchDetails).
  • Licensing: exams held (Series 7/65/…), and registered states with scope, status and date.
  • Risk: disclosure count and full disclosure history; previous employment history.
  • Trust: a one-click link to the official BrokerCheck profile.
  • Firms: name, BD/RIA status, SEC #, branch count, office address, disclosures.

Works with AI agents & automation

Every Apify Actor is exposed as a tool over the Model Context Protocol (MCP), so AI agents can call this scraper directly. It also runs from n8n, Make, Zapier, the Apify API, or on a schedule.

Good to know

  • Source: public FINRA BrokerCheck — no PII beyond what FINRA publishes.
  • fetchDetails enriches each person with disclosures, exams, registered states, tenure, branch address and geo (one extra request per record).
  • CRD look-ups always resolve a known person regardless of other filters.

Input reference

FieldTypeDescription
querystringName, firm, location, or CRD number to search.
searchTypestringindividual (brokers & advisors) or firm (broker-dealers & RIAs).
queriesarrayRun several searches in one go; merged and de-duplicated by CRD.
crdNumbersarrayLook up specific people directly by CRD number (verify a known list).
statestringTwo-letter state code (e.g. NY). Keeps records registered in that state.
firmstringIndividuals only: keep only people at this firm, e.g. LPL FINANCIAL.
examNamesarrayIndividuals only: keep only holders of these exams, e.g. Series 65.
maxResultsintegerMax number of records to collect (default 100).
fetchDetailsbooleanEnrich each person with disclosures, exams, states, tenure, branch & geo.
activeOnlybooleanKeep only currently active records.
hasDisclosureOnlybooleanKeep only records with disclosure events.
includeRawbooleanInclude the full raw FINRA source object (default off).

Run locally

pip install -r requirements.txt
apify run