FINRA BrokerCheck Scraper avatar

FINRA BrokerCheck Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
FINRA BrokerCheck Scraper

FINRA BrokerCheck Scraper

[πŸ’° $2 / 1K] Search FINRA BrokerCheck for US securities brokers and firms. Get CRD numbers, registrations, license exams, employment history, and regulatory disclosures by name, CRD, or state.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Pull public regulatory records for US securities brokers and brokerage firms straight from FINRA BrokerCheck β€” CRD numbers, license exams, full employment timelines with dates, state-by-state registrations, and every disclosure event (customer disputes, regulatory actions, criminal, financial, and judgment records). Search by name, look up a known CRD number, or filter by state, and pull both individual brokers and firms in one run. Built for compliance teams, financial recruiters, and due-diligence analysts who need verified broker histories without manually opening one BrokerCheck profile at a time.

Why This Scraper?

  • CRD-anchored records β€” every broker and firm is keyed to its Central Registration Depository number, the same unique ID regulators use, so results join cleanly to your own systems and never collide on similar names.
  • Full license-exam history β€” Series 7, Series 63, Series 66, the SIE, and every principal and product exam a broker has passed, each with the date taken and its scope.
  • Complete employment timeline with dates β€” current and previous registering firms, each with firm CRD, city, state, and registration start/end dates β€” not just the latest employer.
  • State-by-state registration coverage β€” registration status across all 50 states plus DC and Puerto Rico, alongside self-regulatory-organization (SRO) registrations like FINRA and the exchanges.
  • Every regulatory disclosure event β€” customer disputes, regulatory actions, criminal, financial, and judgment/lien records, each with event date, type, and resolution β€” the data that matters most for vetting.
  • Brokers and firms in one actor β€” flip a single setting to pull individual financial professionals or brokerage and investment-advisory companies, with a recordType field on every row to split them downstream.
  • Active and formerly-registered records β€” include barred, suspended, and no-longer-registered individuals by toggling one switch, so you catch the people who left the industry under a cloud.
  • Broker-dealer and investment-adviser scopes β€” separate registration-scope fields for the BD and IA sides of every record, so you can tell a dual-registrant from a pure broker or pure adviser.

Use Cases

Compliance & Due Diligence

  • Vet a candidate or counterparty's full regulatory history before onboarding
  • Confirm a broker holds the exams and state registrations required for a role
  • Flag undisclosed customer disputes or regulatory actions during KYC reviews
  • Build an audit trail of CRD-verified employment history for a hire

Recruiting & Talent

  • Source licensed brokers by name, firm, or state for a specific desk
  • Verify a recruit's claimed Series 7 / Series 66 licenses against the official record
  • Track which firms a target candidate has registered with and for how long
  • Filter to brokers currently at a named competitor to build a poaching list

Investor Protection & Research

  • Screen an advisor before handing over assets β€” disclosures, sanctions, and bars
  • Identify clusters of disclosure events tied to a single firm or branch
  • Monitor formerly-registered brokers who left after regulatory trouble
  • Compare registration scopes to spot advisers operating outside their license

Journalism & Regulatory Research

  • Investigate a firm's roster of brokers and their collective disclosure record
  • Build datasets of barred or suspended individuals for accountability reporting
  • Map employment movement of high-disclosure brokers across firms over time
  • Quantify disclosure rates by state, firm, or registration scope

Data Enrichment & Lead Generation

  • Enrich a CRM of financial professionals with current employer and CRD numbers
  • Append verified license and registration data to an existing contact list
  • Power advisor-comparison and broker-lookup tools with structured records
  • Feed BrokerCheck data into risk-scoring and onboarding dashboards

Getting Started

Search Brokers by Name

The simplest run β€” one name, up to 100 brokers, full profiles:

{
"searchType": "individual",
"searchQueries": ["Smith"],
"maxResults": 100
}

Filter Brokers by State and Employer

Keep only brokers registered in California whose current firm is Edward Jones:

{
"searchType": "individual",
"searchQueries": ["Smith"],
"state": "CA",
"employerName": "Edward Jones",
"maxResults": 200
}

Look Up Records by CRD Number

Pull exact records when you already know the CRD β€” works for brokers and firms (set searchType to match):

{
"searchType": "firm",
"crdNumbers": ["7556", "8174"],
"includeDetails": true
}

Advanced β€” Include Inactive Brokers, Full Profiles

Search a firm name, include formerly-registered individuals, and fetch every profile in full:

{
"searchType": "individual",
"searchQueries": ["Morgan Stanley"],
"includeInactive": true,
"includeDetails": true,
"maxResults": 500
}

Input Reference

ParameterTypeDefaultDescription
searchTypeselectBrokers (individuals)Whether to look up brokers (individual financial professionals) or firms (brokerage and advisory companies). Applies to both name searches and CRD lookups.
searchQueriesstring[]["Smith"]One or more names or keywords (a broker name like "John Smith" or a firm name like "Morgan Stanley"). Each query is searched separately; results are merged and de-duplicated by CRD number.
crdNumbersstring[][]Look up specific records directly by their CRD number. Uses the same searchType to decide whether these are broker or firm CRDs.

Filters

ParameterTypeDefaultDescription
stateselectAll statesLimit broker searches to professionals registered in one US state (all 50 states plus DC and Puerto Rico). Applies to broker name searches only.
employerNamestring""Keep only brokers whose current employer name contains this text (case-insensitive). Leave blank to keep everyone.
includeInactivebooleanfalseInclude records no longer active in the industry (barred, suspended, or out of scope). Off by default β€” only currently or recently active records are returned.

Output Detail & Limits

ParameterTypeDefaultDescription
includeDetailsbooleantrueFetch each record's full profile: license exams, registrations, complete employment history, and disclosure events. Turn off for faster, lighter runs that return listing-level summary data only.
maxResultsinteger100How many records to return across all queries and CRD lookups. Set to 0 to collect as many as possible. Results are capped to exactly this number. This actor returns up to 250,000 results per run; larger requests are collected up to that ceiling.

Output

Every row carries a recordType field β€” individual or firm β€” so you can split the two cleanly downstream. Detail arrays (exams, employment history, registrations, disclosures) appear only when includeDetails is on.

Broker (recordType: "individual")

{
"recordType": "individual",
"crdNumber": "1056376",
"name": "JAMES MICHAEL SMITH",
"firstName": "JAMES",
"middleName": "MICHAEL",
"lastName": "SMITH",
"otherNames": [],
"bcScope": "Active",
"iaScope": "NotInScope",
"hasDisclosures": true,
"disclosureCount": 2,
"registrationCount": 3,
"stateRegistrationCount": 5,
"industryStartDate": "1985-03-12",
"currentEmployerName": "EDWARD JONES",
"currentEmployerCrd": "250",
"city": "ST LOUIS",
"state": "MO",
"employmentHistory": [
{
"firmName": "EDWARD JONES",
"firmCrd": "250",
"city": "ST LOUIS",
"state": "MO",
"startDate": "2009-06-01",
"endDate": null,
"current": true
}
],
"licenseExams": [
{ "examCategory": "Series 7", "examName": "General Securities Representative Examination", "examTakenDate": "1985-04-20", "scope": "product" },
{ "examCategory": "SIE", "examName": "Securities Industry Essentials Examination", "examTakenDate": "2018-10-01", "scope": "state" }
],
"stateRegistrations": [
{ "state": "MO", "regScope": "BD", "status": "APPROVED", "regDate": "2009-06-15" }
],
"registeredSros": [
{ "sro": "FINRA", "status": "APPROVED" }
],
"disclosures": [
{ "eventDate": "2014-08-11", "disclosureType": "Customer Dispute", "disclosureResolution": "Settled", "brokerCategory": "Customer Dispute - Settled", "adviserCategory": null, "detail": {} }
],
"brokercheckUrl": "https://brokercheck.finra.org/individual/summary/1056376"
}

Core Identity

FieldTypeDescription
recordTypestringAlways "individual"
crdNumberstringCRD number β€” FINRA's unique broker ID
namestringFull legal name
firstName / middleName / lastNamestringName components
otherNamesstring[]Alternate or former names
bcScopestringBroker-dealer registration scope (Active, InActive, NotInScope)
iaScopestringInvestment-adviser registration scope
currentEmployerNamestringCurrent registering firm's legal name
currentEmployerCrdstringCurrent firm's CRD number
city / statestringCurrent branch office location
brokercheckUrlstringDirect BrokerCheck profile link

Employment & Tenure

FieldTypeDescription
industryStartDatestringDate the broker entered the industry
registrationCountnumberCount of approved FINRA registrations
employmentHistoryobject[]Current and previous firms, each with firmName, firmCrd, city, state, startDate, endDate, and a current flag

Exams & Registrations

FieldTypeDescription
licenseExamsobject[]Exams passed: examCategory (e.g. Series 7), examName, examTakenDate, scope
stateRegistrationsobject[]Per-state registration: state, regScope, status, regDate
stateRegistrationCountnumberNumber of state registrations
registeredSrosobject[]Self-regulatory-organization registrations: sro, status

Disclosures

FieldTypeDescription
hasDisclosuresbooleanWhether any disclosure events exist
disclosureCountnumberNumber of disclosure events
disclosuresobject[]Each event: eventDate, disclosureType (Customer Dispute, Regulatory, Criminal, Financial, Judgment/Lien), disclosureResolution, brokerCategory, adviserCategory, detail

Firm (recordType: "firm")

{
"recordType": "firm",
"crdNumber": "7556",
"name": "MORGAN STANLEY",
"otherNames": ["MORGAN STANLEY DW INC."],
"bcScope": "Active",
"iaScope": "Active",
"hasDisclosures": true,
"disclosureCount": 2,
"firmSecNumber": "8-15869",
"branchCount": 1421,
"mainOfficeStreet": "1585 BROADWAY",
"city": "NEW YORK",
"state": "NY",
"zip": "10036",
"country": "United States",
"disclosures": [
{ "eventDate": "2016-12-09", "disclosureType": "Regulatory", "disclosureResolution": "Final", "brokerCategory": "Regulatory - Final", "adviserCategory": null, "detail": {} }
],
"brokercheckUrl": "https://brokercheck.finra.org/firm/summary/7556"
}
FieldTypeDescription
recordTypestringAlways "firm"
crdNumberstringFirm CRD number
namestringFirm legal name
otherNamesstring[]Alternate or former firm names
bcScopestringBroker-dealer registration scope
iaScopestringInvestment-adviser registration scope
firmSecNumberstringSEC file number (BD or IA). Appears only when Include full profiles is on.
branchCountnumberNumber of branch offices
mainOfficeStreetstringHeadquarters street address
city / state / zip / countrystringHeadquarters location
hasDisclosuresbooleanWhether any firm disclosure events exist
disclosureCountnumberNumber of firm disclosure events
disclosuresobject[]Each event: eventDate, disclosureType, disclosureResolution, brokerCategory, adviserCategory, detail
brokercheckUrlstringDirect BrokerCheck profile link

Tips for Best Results

  • Use exact names to narrow large result sets. A surname like "Smith" returns thousands of brokers; searching "John Q Smith" or pairing the name with a state filter gets you a focused, usable set faster.
  • Turn off includeDetails for bulk lists. When you only need names, CRD numbers, and current employers, switching details off returns lighter, cheaper rows. Turn it back on for exams, full employment history, registrations, and disclosures.
  • The state filter matches the current registered branch only. It keeps brokers whose current employment is in that state β€” not their full historical state-registration list. To see every state a broker is registered in, leave the filter off and read the stateRegistrations array instead.
  • Toggle includeInactive to catch brokers who left under a cloud. By default only active records return; flip it on to surface barred, suspended, and formerly-registered individuals β€” exactly the people a due-diligence review needs to find.
  • Look up by CRD when you know it. A CRD lookup returns the exact record with no name-matching ambiguity, and works even for inactive individuals and firms that a name search would skip.
  • Set searchType to match your CRD list. Broker and firm CRDs live in separate namespaces β€” a firm CRD searched as an individual will not resolve, so set searchType to firm for firm CRDs.
  • Batch many names in one run. Pass several names or keywords at once; results are merged and de-duplicated by CRD, so overlapping searches never produce the same broker twice.

Pricing

From $2.00 per 1,000 results β€” flat pay-per-result pricing that undercuts manual profile-by-profile lookups and bundles full exam, employment, registration, and disclosure data at no extra charge. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.24$0.225$0.215$0.20
1,000$2.40$2.25$2.15$2.00
10,000$24.00$22.50$21.50$20.00
100,000$240.00$225.00$215.00$200.00

A "result" is any broker or firm row in the output dataset. No compute or time-based charges β€” you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n β€” Workflow automation
  • Google Sheets β€” Direct spreadsheet export
  • Slack / Email β€” Notifications on new results
  • Webhooks β€” Trigger custom APIs on run completion
  • Apify API β€” Full programmatic access

FINRA BrokerCheck data is public regulatory information that FINRA publishes for investor protection. This actor is designed for legitimate compliance, due diligence, recruiting, research, and investor-protection use. Users are responsible for complying with applicable laws and FINRA's terms of use, including fair-use and anti-spam rules. Do not use extracted data for harassment, discrimination, or any unlawful purpose, and handle records about individuals responsibly.