FINRA BrokerCheck Broker & Firm Registry Scraper avatar

FINRA BrokerCheck Broker & Firm Registry Scraper

Pricing

from $12.75 / 1,000 results

Go to Apify Store
FINRA BrokerCheck Broker & Firm Registry Scraper

FINRA BrokerCheck Broker & Firm Registry Scraper

Scrape FINRA BrokerCheck brokers and firms: CRD numbers, employment history, exams, registered states, firm address and phone, and full disclosure details. Filter by name, CRD, firm, state and disclosures. Export to JSON, CSV or Excel.

Pricing

from $12.75 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

FINRA BrokerCheck Broker & Firm Registry Scraper

FINRA BrokerCheck Broker & Firm Registry Scraper

Here is one real result, an individual broker with full detail and the AI add-ons on, with every field the actor returns:

{
"searchType": "individual",
"crd": 4346806,
"fullName": "JOHN T. SMITH",
"firstName": "JOHN",
"middleName": "T.",
"lastName": "SMITH",
"otherNames": ["JOHN T SMITH", "JOHN SMITH", "John Thomas Smith"],
"brokerActive": true,
"investmentAdviserActive": true,
"brokerScope": "Active",
"investmentAdviserScope": "Active",
"industrySinceDate": "4/30/2001",
"currentFirmName": "FIDELITY BROKERAGE SERVICES LLC",
"currentFirmCRD": 7784,
"currentFirmSECNumber": "23292",
"currentFirmCity": "SEATTLE",
"currentFirmState": "WA",
"currentFirmZip": null,
"currentRegistrationBeginDate": "6/13/2023",
"currentEmploymentsCount": 1,
"previousEmploymentsCount": 4,
"previousFirms": [
"MERRILL LYNCH, PIERCE, FENNER & SMITH INCORPORATED (1/25/2013 - 5/23/2023, ATLANTA GA)",
"MORGAN STANLEY (1/15/2010 - 1/24/2013, SCOTTSDALE AZ)",
"WELLS FARGO ADVISORS, LLC (5/9/2008 - 1/19/2010, WESTLAKE VILLAGE CA)",
"UBS FINANCIAL SERVICES INC. (4/11/2001 - 5/21/2008, WESTLAKE VILLAGE CA)"
],
"examsCount": null,
"exams": ["Series 66 (5/11/2001)", "SIE (10/1/2018)", "Series 7 (4/10/2001)", "Series 10 (5/31/2016)", "Series 9 (4/6/2016)"],
"registrationCount": null,
"approvedFinraRegistrationCount": 1,
"approvedSecRegistrationCount": null,
"approvedStateRegistrationCount": null,
"registeredStates": ["Massachusetts", "Texas", "Utah", "Washington"],
"registeredStatesCount": 4,
"registeredSROs": ["FINRA", "New York Stock Exchange"],
"sroCategories": ["Full Registration/General Securities Representative", "General Securities Sales Supervisor"],
"hasDisclosures": false,
"disclosureCount": 0,
"disclosureTypes": [],
"topDisclosureType": null,
"topDisclosureDate": null,
"topDisclosureResolution": null,
"disclosures": [],
"sourceUrl": "https://brokercheck.finra.org/individual/summary/4346806",
"source": "FINRA BrokerCheck",
"inputQuery": "John Smith",
"observedAt": "2026-08-14T06:47:12.146Z",
"aiRiskLevel": "low",
"aiRiskSummary": "There are no disclosures associated with John T. Smith, indicating a clean regulatory history. He has been active in the industry since 2001 with multiple previous employers.",
"aiRiskFlags": [],
"aiSummary": "John T. Smith is a registered broker with CRD number 4346806, currently affiliated with Fidelity Brokerage Services LLC. He has been active in the industry since April 30, 2001, and is registered in four states. Smith has no disclosures on his record.",
"aiLeadScore": 85,
"aiLeadTier": "hot",
"aiLeadRationale": "Active broker with no disclosures and extensive experience makes for a strong outreach lead."
}

The most complete FINRA BrokerCheck scraper available. It returns every field the public BrokerCheck registry exposes for each broker or firm (CRD number, registrations, exams, employment history, registered states, and full disclosure/regulatory events), plus derived counts and flags, and optional AI risk screening, profile summaries, and lead scoring, and gives you a search grid with state, disclosure, and detail filters to target exactly the brokers or firms you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches the public FINRA BrokerCheck registry for the individuals (brokers and investment advisers) or firms (brokerage and advisory) you list, applies the filters you pass, and writes one normalized record per match to the run's dataset. With fetchDetails on, each record carries the full profile: registration status and scope, exams passed, current and previous employment, registered states and SROs, and every disclosure or regulatory event with its type, date, and resolution. Derived fields (disclosureCount, hasDisclosures, registeredStatesCount, employment counts) let you sort and screen without extra parsing.

Three optional paid add-ons run on top: withRisk produces an AI risk/red-flag summary for KYB and onboarding, withProfileSummary writes a concise professional summary, and withLeadScore qualifies each record as a B2B outreach lead (0 to 100 with a hot/warm/cold tier). All add-ons are off by default. Missing source values are returned as null, never invented.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 3 individual brokers named John Smith, with full detail, an AI risk summary, an AI profile summary, and a lead score.

{
"searchType": "individual",
"searchQueries": ["John Smith"],
"maxRecords": 3,
"fetchDetails": true,
"withRisk": true,
"withProfileSummary": true,
"withLeadScore": true
}

To look up one exact record, pass a CRD number (for example "searchQueries": ["1731327"]). Set searchType to firm to search brokerage and advisory firms instead of individuals.

Input reference

FieldTypeRequiredDefaultDescription
searchTypeenumnoindividualindividual (brokers / advisers) or firm (brokerage / advisory firms).
searchQueriesstring[]no["John Smith"]One or more searches. Each item is a person or firm name (for example Goldman) or a CRD number (for example 1731327). Each runs as a separate search.
usStatestringno(any)Restrict results to a US state by two-letter code, for example NY, CA, TX.
includePreviousbooleannotrueInclude individuals no longer actively registered (former brokers) in addition to active ones. Applies to individual searches.
onlyWithDisclosuresbooleannofalseReturn only brokers or firms with at least one disclosure/regulatory event on record. Useful for compliance, AML, and KYC screening.
fetchDetailsbooleannotrueFetch the full profile for each match (employment history, exams, registered states, full disclosure details). Turn off for faster, lighter summary-only results.
maxRecordsintegerno30Maximum broker or firm records returned across all searches. Free Apify plans are capped at 10.
withRiskbooleannofalsePaid add-on. AI summary of regulatory/disclosure red flags (risk level, summary, flags). Charged per record analysed. Paid plans only.
withProfileSummarybooleannofalsePaid add-on. AI concise professional summary of each broker/firm. Charged per record summarised. Paid plans only.
withLeadScorebooleannofalsePaid add-on. AI B2B lead qualification (0 to 100 score, hot/warm/cold tier, rationale). Charged per record scored. Paid plans only.

All fields are optional; with an empty input the actor searches individuals for the default query.

Output reference

One dataset item per broker or firm. searchType determines which field set is returned: individuals and firms share the identity, disclosure, and AI fields but differ in profile fields. Types: string, integer, boolean, string[], object[], or null when absent.

Common fields

FieldTypeDescription
searchTypestringindividual or firm.
crdintegerCRD number, unique per broker or firm.
otherNamesstring[]Alternate or former names on record.
investmentAdviserActivebooleanWhether active as an investment adviser, or null.
hasDisclosuresbooleanWhether any disclosure/regulatory event is on record.
disclosureCountintegerNumber of disclosures.
disclosureTypesstring[]Distinct disclosure categories present.
disclosuresobject[]Full disclosure detail entries (with fetchDetails).
sourceUrlstringBrokerCheck profile URL.
sourcestringAlways FINRA BrokerCheck.
inputQuerystringThe search query that produced this record.
observedAtstringISO 8601 collection timestamp.
aiRiskLevelstring(add-on) low, medium, or high, or null.
aiRiskSummarystring(add-on) AI red-flag summary, or null.
aiRiskFlagsstring[](add-on) AI red flags, or empty.
aiSummarystring(add-on) AI professional summary, or null.
aiLeadScoreinteger(add-on) Lead score 0 to 100, or null.
aiLeadTierstring(add-on) hot, warm, or cold, or null.
aiLeadRationalestring(add-on) One-line lead rationale, or null.

Individual-only fields

FieldTypeDescription
fullName, firstName, middleName, lastNamestringBroker name parts.
brokerActive / brokerScopeboolean / stringBroker registration active flag and scope.
investmentAdviserScopestringAdviser registration scope, for example Active.
industrySinceDatestringDate first active in the industry.
currentFirmName / currentFirmCRD / currentFirmSECNumberstring / integerCurrent firm identity.
currentFirmCity / currentFirmState / currentFirmZipstringCurrent firm location.
currentRegistrationBeginDatestringStart date at current firm.
currentEmploymentsCount / previousEmploymentsCountintegerEmployment counts.
previousFirmsstring[]Previous firms with date ranges and locations.
exams / examsCountstring[] / integerExams passed with dates.
registeredStates / registeredStatesCountstring[] / integerStates of registration.
registeredSROs / sroCategoriesstring[]Self-regulatory orgs and registration categories.
topDisclosureType / topDisclosureDate / topDisclosureResolutionstringSummary of the most significant disclosure.

Firm-only fields

FieldTypeDescription
firmNamestringFirm name.
brokerDealerActive / brokerDealerScopeboolean / stringBroker-dealer registration flag and scope.
firmType / firmStatus / firmStatusDate / firmSizestringFirm classification and status.
formedState / formedDatestringFormation state and date.
bdSecNumber / iaSecNumberstringSEC numbers for broker-dealer and adviser.
addressStreet1 / addressStreet2 / addressCity / addressState / addressZip / addressCountrystringMain business address.
businessPhonestringBusiness phone, or null.
branchesCountintegerNumber of branch offices.
directOwners / directOwnersCountobject[] / integerDirect owners on record.

On a failed run, a single item with a populated error field is written instead.

Example output record

Real firm record from a live run (input {"searchQueries":["Fidelity"],"searchType":"firm","maxRecords":2,"fetchDetails":true,"withRisk":true}):

{
"searchType": "firm",
"crd": 166782,
"firmName": "FIDELITY SELECTCO, LLC",
"otherNames": ["FIDELITY SELECTCO, LLC"],
"brokerDealerActive": null,
"investmentAdviserActive": true,
"brokerDealerScope": null,
"investmentAdviserScope": "INACTIVE",
"firmType": null,
"firmStatus": null,
"iaSecNumber": "801-77635",
"addressStreet1": "6501 S FIDDLER'S GREEN CIRCLE, STE 300 - 600",
"addressStreet2": "SUITE 600",
"addressCity": "GREENWOOD VILLAGE",
"addressState": "CO",
"addressZip": "80111",
"addressCountry": "United States",
"businessPhone": null,
"branchesCount": 0,
"registeredStates": [],
"registeredStatesCount": 0,
"hasDisclosures": true,
"disclosureCount": 0,
"disclosureTypes": [],
"directOwnersCount": 0,
"directOwners": [],
"sourceUrl": "https://brokercheck.finra.org/firm/summary/166782",
"source": "FINRA BrokerCheck",
"inputQuery": "Fidelity",
"observedAt": "2026-08-14T06:47:51.086Z",
"aiRiskLevel": "low",
"aiRiskSummary": "FIDELITY SELECTCO, LLC has no disclosures, indicating a clean regulatory history. The firm is currently active as an investment adviser.",
"aiRiskFlags": [],
"aiSummary": null,
"aiLeadScore": null,
"aiLeadTier": null,
"aiLeadRationale": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~finra-brokercheck-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchType":"individual","searchQueries":["John Smith"],"usState":"NY","maxRecords":25,"fetchDetails":true}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~finra-brokercheck-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchType":"firm","searchQueries":["Goldman"],"onlyWithDisclosures":true,"maxRecords":100}'

Apify CLI:

apify call scrapers_lat/finra-brokercheck-scraper \
--input '{"searchQueries":["1731327"],"fetchDetails":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per broker or firm record returned (result event). See the pricing tab for the current per-result price.
  • Details and add-ons billed separately. fetchDetails charges an extra details event per record; the AI risk, profile summary, and lead score add-ons each charge per record processed, and only on usable AI output.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. The AI add-ons require a paid Apify plan. Upgrade for higher maxRecords.

FAQ and troubleshooting

How do I look up one exact broker or firm? Pass its CRD number in searchQueries, for example ["1731327"]. CRD numbers resolve directly to a single record.

How do I screen only for brokers with regulatory issues? Set onlyWithDisclosures to true. Combine with withRisk to get an AI red-flag summary per record.

What is the difference between an individual and a firm search? searchType: individual returns brokers and investment advisers (people); searchType: firm returns brokerage and advisory firms. The two return different profile fields, as shown above.

Do I need fetchDetails? Leave it on for the full profile (employment, exams, states, disclosures). Turn it off for a faster, lighter run with summary fields only.

A run returned 0 records. Why? The name or CRD matched nothing under the chosen searchType, or the usState / onlyWithDisclosures filters excluded every match. Loosen filters and confirm the query. Zero-result runs are not charged.

Is this an official FINRA tool? No. This actor is independent and has no affiliation with FINRA. It reads only data that is publicly available through FINRA BrokerCheck. Use it in accordance with FINRA's terms.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with FINRA. Accesses only publicly available BrokerCheck data. Use in accordance with FINRA's terms of service.