FINRA BrokerCheck Scraper
Pricing
Pay per usage
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
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
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.
fetchDetailsenriches 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
| Field | Type | Description |
|---|---|---|
query | string | Name, firm, location, or CRD number to search. |
searchType | string | individual (brokers & advisors) or firm (broker-dealers & RIAs). |
queries | array | Run several searches in one go; merged and de-duplicated by CRD. |
crdNumbers | array | Look up specific people directly by CRD number (verify a known list). |
state | string | Two-letter state code (e.g. NY). Keeps records registered in that state. |
firm | string | Individuals only: keep only people at this firm, e.g. LPL FINANCIAL. |
examNames | array | Individuals only: keep only holders of these exams, e.g. Series 65. |
maxResults | integer | Max number of records to collect (default 100). |
fetchDetails | boolean | Enrich each person with disclosures, exams, states, tenure, branch & geo. |
activeOnly | boolean | Keep only currently active records. |
hasDisclosureOnly | boolean | Keep only records with disclosure events. |
includeRaw | boolean | Include the full raw FINRA source object (default off). |
Run locally
pip install -r requirements.txtapify run