FINRA BrokerCheck Scraper — Advisors, Brokers & Firms avatar

FINRA BrokerCheck Scraper — Advisors, Brokers & Firms

Pricing

from $2.00 / 1,000 results

Go to Apify Store
FINRA BrokerCheck Scraper — Advisors, Brokers & Firms

FINRA BrokerCheck Scraper — Advisors, Brokers & Firms

Scrape FINRA BrokerCheck: US financial advisors, brokers and firms with name, CRD number, broker/advisor registration scope, disclosure flag, years in industry, current firm and location. Search by name, CRD or firm. For KYC, due diligence and advisor lead gen. Not affiliated with FINRA.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Features

Limited permissions

Share

FINRA BrokerCheck Scraper — Advisors, Brokers, Firms, CRD & Disclosures

The premier FINRA BrokerCheck scraper for financial advisor lead generation, broker-dealer recruiting, and automated KYC compliance verification. Query the official BrokerCheck registry by individual advisor name, registered representative CRD number, or advisory firm name. Extract comprehensive profile records: full legal names, Central Registration Depository (CRD) numbers, broker and investment adviser registration scopes, disclosure flags, industry experience tenure, current employer firms, branch addresses, and canonical profile links.

Export thousands of records seamlessly to JSON, CSV, Excel, or direct API integration.

Apify Actor FINRA Registry

Designed for compliance officers, KYC & AML analysts, RIA and wealth management recruiters, fintech onboarding engineers, investment researchers, and B2B sales teams targeting licensed financial professionals across the United States.


⚡ At a glance

CapabilityFeature Details
Target RegistryFINRA BrokerCheck — official US Central Registration Depository (CRD) public database
Search Modes2-in-1: Individuals (brokers, investment advisers, wealth managers) & Firms (brokerages, RIAs)
Query ParametersSearch by full name, surname, firm name (e.g. "Morgan Stanley"), or specific numeric CRD identifier
Key Risk SignalsFlags disciplinary history, regulatory disclosures, customer disputes, civil liens, and bankruptcies (hasDisclosures)
Tenure & SeniorityAutomatically computes industry tenure in days and years (industryYears) from initial licensing dates
Scale & PaginationUnlocked deep pagination supporting 1,000+ to 25,000+ records per run with zero hard caps
Speed & PerformancePure HTTP streaming engine — collects 500+ advisors in ~15-20 seconds
Authentication100% keyless, public data access; no account login, session tokens, or browser automation needed
Export FormatsClean JSON, NDJSON, CSV, Excel (.xlsx), HTML tables, and Apify REST API

🔎 Why scrape FINRA BrokerCheck?

The Financial Industry Regulatory Authority (FINRA) maintains BrokerCheck as the authoritative public record of securities firms and professionals in the United States. Over 620,000 registered representatives and 3,400 securities firms operate under FINRA jurisdiction. Every licensed broker and registered investment adviser (RIA) is assigned a unique CRD number, which tracks their complete licensing status, career mobility, employment tenure, and formal regulatory disclosures.

For compliance departments, wealth management firms, and B2B providers, accessing BrokerCheck data systematically is indispensable:

  • Mandatory KYC & Counterparty Due Diligence: Institutional allocators and financial institutions must verify registration status and review disclosure records before initiating business or onboarding funds.
  • Advisor Recruiting & Talent Acquisition: Registered Investment Advisers (RIAs) and independent broker-dealers continuously recruit top-producing advisors based on their years in the industry, current firm affiliation, and clean regulatory records.
  • Disciplinary & Regulatory Risk Screening: The hasDisclosures flag surfaces customer complaints, regulatory arbitrations, suspensions, and financial liens, shielding institutions from high-risk partnerships.
  • B2B Sales Targeting: Software, fintech, insurance, and asset management vendors selling directly to independent wealth advisors need accurate, verified directories sorted by firm and geographic region.

However, the manual BrokerCheck interface only supports single-person lookups. Screening a book of 500 advisors or compiling regional rosters by hand takes days of manual search. This FINRA BrokerCheck scraper automates bulk retrieval: input names, corporate entities, or CRD lists, and extract clean, tabular datasets structured for instant CRM or compliance audit usage.


🎯 Key Use Cases & Business Applications

1. Automated Compliance, KYC & AML Screening

Batch-screen counterparties, investment advisors, and corporate partners against official FINRA registries. Immediately flag individuals with active customer complaints or regulatory actions.

2. Financial Advisor & RIA Recruiting

Wealth management executive recruiters can search target broker-dealers (e.g., Merrill Lynch, Edward Jones, LPL Financial) to build comprehensive candidate pipelines segmented by state, city, and industry tenure (industryYears).

3. Fintech & WealthTech Account Onboarding

Embed real-time licensing validation into digital onboarding workflows for trading apps, custodial platforms, and financial software via the Apify REST API.

4. Mergers & Acquisitions (M&A) Due Diligence

Corporate development teams evaluating wealth management acquisitions can map a target firm's branch network (branchesCount), licensed personnel headcount, and historical disciplinary record.

5. Academic & Industry Market Intelligence

Analyze geographic advisor migration patterns, industry tenure distributions, and the statistical prevalence of regulatory disclosures across regional markets.


✨ Key Features & Technical Highlights

  • ✅ Two Dedicated Entity Modes:
    • Individual Mode: Extracts registered brokers, investment advisers, and dual-registered wealth managers.
    • Firm Mode: Extracts corporate brokerage and RIA entities, including branch counts and headquarters addresses.
  • ✅ Multi-Term Query Execution: Provide dozens of search terms (individual names, broker-dealer firm names, or numeric CRDs) in a single run.
  • ✅ Deep 1,000+ Results Pagination: Traverses all available 50-item search pages continuously without arbitrary page cutoffs. Setting maxPagesPerQuery: 0 allows complete multi-thousand result extraction bounded only by your requested maxItems.
  • ✅ Strict Deduplication by CRD: Normalizes every record by unique CRD identifier, guaranteeing zero duplicate entries even when searching overlapping query terms.
  • ✅ Accurate Industry Tenure Calculation: Normalizes FINRA calendar entry dates into explicit numerical values (industryDays and industryYears), enabling clean filtering by seniority.
  • ✅ Full Branch Office Geocoding: Extracts office street addresses, city, state, and postal code for firm searches.
  • ✅ Direct BrokerCheck Summary Links: Provides permanent, direct URLs (brokercheckUrl) to each representative's or firm's official FINRA summary page for manual audit verification.

FeatureFINRA BrokerCheck ScraperManual BrokerCheck Web UIGeneric Web Scrapers
Speed500+ records in ~18 seconds1 lookup per minuteOften breaks on JSON parsing
Bulk SearchUnlimited names & firms in one runSingle name per queryDifficult to configure multi-query
Data ExportJSON, CSV, Excel, REST APIPrint-to-PDF onlyMessy unformatted HTML
Tenure NormalizationAuto-calculated industryYearsManual date subtractionRaw unparsed strings
DeduplicationUnique CRD deduplication (0 dups)Manual spreadsheet deduplicationFrequent duplicate entries
Automated MonitoringScheduled hourly / weekly runsImpossible without manual workHigh operational overhead

📥 Input Parameters

All parameters are optional, but you must provide at least one search query in searchTerms.

ParameterTypeDefaultDescription
entityTypeString"individual"Target entity type: "individual" (brokers & advisors) or "firm" (brokerages & RIAs).
searchTermsArray["john smith"]Names, CRD numbers, or firm names to query (e.g. ["john smith", "Morgan Stanley"]).
maxItemsInteger0Total maximum results across all queries (0 = auto/unlimited, governed by available results).
maxPagesPerQueryInteger0Maximum pages per query at 50 results/page (0 = auto/unlimited, governed by maxItems).
proxyConfigurationObject{ "useApifyProxy": true }Proxy configuration. Public FINRA API operates reliably on datacenter proxies.

Example Input Configuration: Individual Advisors

{
"entityType": "individual",
"searchTerms": ["David Miller", "LPL Financial", "Charles Schwab"],
"maxItems": 1000,
"maxPagesPerQuery": 0,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Example Input Configuration: Securities Firms

{
"entityType": "firm",
"searchTerms": ["Wealth Management", "Capital Advisors", "Securities"],
"maxItems": 500,
"maxPagesPerQuery": 0
}

📤 Output Data Structure

The scraper produces clean, normalized JSON records tailored to the chosen entity mode.

Sample Individual Record (entityType: "individual")

{
"type": "individual",
"crd": "2840192",
"firstName": "DAVID",
"middleName": "MICHAEL",
"lastName": "MILLER",
"nameSuffix": "JR.",
"fullName": "DAVID MICHAEL MILLER JR.",
"otherNames": [
"DAVE MILLER",
"D. M. MILLER"
],
"isBroker": true,
"isAdvisor": true,
"brokerScope": "Active",
"advisorScope": "Active",
"hasDisclosures": false,
"registrationCount": 4,
"employmentsCount": 1,
"industryDays": 7420,
"industryYears": 20.3,
"currentFirm": "MORGAN STANLEY",
"currentFirmCity": "NEW YORK",
"currentFirmState": "NY",
"currentFirms": [
"MORGAN STANLEY"
],
"brokercheckUrl": "https://brokercheck.finra.org/individual/summary/2840192",
"scrapedAt": "2026-11-10T14:50:00.000Z"
}

Sample Firm Record (entityType: "firm")

{
"type": "firm",
"crd": "149777",
"name": "BEACON WEALTH ADVISORS, LLC",
"otherNames": [
"BEACON CAPITAL MANAGEMENT"
],
"isAdvisor": true,
"advisorScope": "Active",
"hasDisclosures": false,
"branchesCount": 6,
"street": "100 FEDERAL STREET, 18TH FLOOR",
"city": "BOSTON",
"state": "MA",
"postalCode": "02110",
"country": "United States",
"brokercheckUrl": "https://brokercheck.finra.org/firm/summary/149777",
"scrapedAt": "2026-11-10T14:50:00.000Z"
}

📊 Complete Field Reference & Data Coverage

👤 Individual Advisor Fields

FieldTypeDescriptionCoverage
typeStringFixed identifier ("individual")🟢 High (100%)
crdStringCentral Registration Depository (CRD) identifier🟢 High (100%)
fullNameStringClean full name with middle names and suffixes🟢 High (100%)
firstName / lastNameStringNormalized given and family name🟢 High (100%)
otherNamesArrayKnown business aliases or previous legal names🟡 Conditional (~40%)
isBrokerBooleanTrue if actively registered as a broker-dealer rep🟢 High (100%)
isAdvisorBooleanTrue if actively registered as an investment adviser🟢 High (100%)
brokerScope / advisorScopeStringDetailed scope status string ("Active", etc.)🟢 High (100%)
hasDisclosuresBooleanTrue if profile contains public regulatory disclosures🟢 High (100%)
industryYearsNumberCalculated industry experience in years🟢 High (~90%)
industryDaysNumberCumulative days elapsed since industry licensing🟢 High (~90%)
currentFirmStringPrimary currently employing brokerage or RIA🟡 Conditional (~60-70% active)
currentFirmCity / StateStringPrimary branch office location🟡 Conditional (~60-70% active)
currentFirmsArrayAll simultaneous active employer firms🟢 High (100%)
brokercheckUrlStringPermanent canonical link to FINRA summary dossier🟢 High (100%)
scrapedAtStringISO 8601 UTC timestamp of extraction🟢 High (100%)

🏢 Brokerage & RIA Firm Fields

FieldTypeDescriptionCoverage
typeStringFixed identifier ("firm")🟢 High (100%)
crdStringCentral Registration Depository (CRD) identifier🟢 High (100%)
nameStringRegistered legal or trade name of the firm🟢 High (100%)
otherNamesArrayDBA (Doing Business As) names and previous names🟡 Conditional (~40%)
isAdvisorBooleanTrue if registered as an investment advisory firm🟢 High (100%)
hasDisclosuresBooleanTrue if firm has reported formal disclosures🟢 High (100%)
branchesCountNumberTotal registered branch offices across the US🟢 High (~85%)
streetStringPrimary corporate office street address🟢 High (~95%)
city / stateStringPrimary corporate city and two-letter state🟢 High (~95%)
postalCode / countryStringZip code and country identifier🟢 High (~95%)
brokercheckUrlStringDirect canonical profile link on BrokerCheck🟢 High (100%)
scrapedAtStringISO 8601 UTC timestamp of extraction🟢 High (100%)

🚀 Step-by-Step Usage Guide

1. Web Console Interface

  1. Navigate to FINRA BrokerCheck Scraper on the Apify Console.
  2. Select your entityType (individual or firm).
  3. Enter one or more searchTerms (e.g., "Merrill Lynch", "Michael Scott").
  4. Specify maxItems (e.g., 500 or 0 for all available results).
  5. Click Start to initiate the search and monitor live results.

2. Python API Client

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
# Search for wealth advisors at Morgan Stanley
run_input = {
"entityType": "individual",
"searchTerms": ["Morgan Stanley Wealth"],
"maxItems": 500,
"maxPagesPerQuery": 0
}
run = client.actor("haketa/finra-brokercheck-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
status = "⚠️ Disclosures" if item["hasDisclosures"] else "✅ Clean"
print(f"{item['fullName']} (CRD: {item['crd']}) | {item.get('currentFirm')} | {item.get('industryYears')} yrs | {status}")

3. Node.js API Client

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: 'YOUR_APIFY_TOKEN',
});
const run = await client.actor('haketa/finra-brokercheck-scraper').call({
entityType: 'individual',
searchTerms: ['John Smith'],
maxItems: 200,
maxPagesPerQuery: 0,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Retrieved ${items.length} FINRA advisor profiles.`);

4. Direct cURL / REST API

curl -X POST "https://api.apify.com/v2/acts/haketa~finra-brokercheck-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"entityType": "individual",
"searchTerms": ["Edward Jones"],
"maxItems": 250,
"maxPagesPerQuery": 0
}'

⚖️ FINRA Disclosure Categories & Compliance Risk Tiers

BrokerCheck aggregates disclosures across several formal regulatory categories:

Disclosure CategoryDescriptionPrimary Impact
Customer DisputeFormal arbitration, civil litigation, or written customer complaintsProduct suitability & fiduciary conduct
Regulatory ActionDisciplinary proceedings initiated by FINRA, SEC, or state regulatorsSuspension, fines, or statutory bars
Criminal MatterFelony charges, misdemeanor convictions, or plea agreementsMandatory statutory disqualification
Civil Judicial EventState or federal civil court injunctions involving investment activitiesLegal and fiduciary liability
TerminationDischarged or permitted to resign following internal firm allegationsInternal policy or regulatory violations
Financial / LienPersonal bankruptcy filings, compromise with creditors, tax liensFinancial solvency and creditworthiness

🔗 KYC & Due Diligence Integration Workflows

  • Automated Watchlist Auditing: Ingest lists of thousands of financial advisors periodically to detect any newly added disclosure events (hasDisclosures: true).
  • Recruiting CRM Scoring: Weight prospective broker candidates by calculating industryYears and filtering for zero-disclosure histories.
  • Fintech Onboarding API: Execute synchronous background checks during platform account creation to verify licensed broker credentials before enabling trading access.
  • Institutional Allocation Diligence: Ensure all portfolio managers and managing directors at counterparty investment firms maintain clean licensing and active scopes.
  • Historical Seniority Benchmarking: Measure advisor turnover and career trajectory across top wirehouses to identify team lift-out opportunities.
  • Continuous Compliance Monitoring: Automate weekly delta checks against employee watchlists to flag newly opened customer arbitrations before external audits.

❓ Frequently Asked Questions (FAQ)

Do I need an account or API key to access BrokerCheck data?

No. The scraper queries public FINRA BrokerCheck endpoints directly without requiring developer registrations or API tokens.

What does the hasDisclosures flag indicate?

The hasDisclosures flag indicates whether an advisor or firm has reported customer arbitrations, regulatory disciplinary actions, criminal matters, or civil financial liens. A true value suggests that compliance teams should review the full BrokerCheck record.

Why are currentFirm and location fields empty for some individuals?

If an individual is no longer actively employed with a registered firm (e.g. retired, between firms, or inactive license status), FINRA does not list a current firm. These fields are populated on approximately 60-70% of records representing currently active practitioners.

How does deep pagination work?

Setting maxPagesPerQuery: 0 enables the scraper to paginate through all available 50-hit batches for each query term until all results are collected or your overall maxItems limit is reached.

Can I export directly to CSV for CRM import?

Yes. You can export datasets in CSV or Excel formats, or use Apify integrations to stream leads directly into Salesforce, HubSpot, or custom KYC databases.


📋 Changelog

Version 1.2.0 (2026-11)

  • Deep 1,000+ Pagination: Enabled auto-unlimited deep pagination with maxPagesPerQuery: 0 governed by maxItems.
  • Fast Prefill Execution: Streamlined default inputs to deliver verified discovery runs in under 15 seconds.
  • Enhanced Tenure Calculations: Normalized calendar dates to ensure consistent industryYears and industryDays across all advisor profiles.
  • Strict Deduplication by CRD: Hardened CRD deduplication across multiple concurrent queries.

Version 1.1.0 (2026-10)

  • Added firm branch address parsing (firm_ia_address_details).
  • Standardized output_schema.json with version 1 specifications.

Version 1.0.0 (2026-10)

  • Initial release with individual broker search and disclosure flag extraction.
⌂ 换网址