FINRA BrokerCheck Scraper avatar

FINRA BrokerCheck Scraper

Pricing

Pay per event

Go to Apify Store
FINRA BrokerCheck Scraper

FINRA BrokerCheck Scraper

Search BrokerCheck public broker, adviser, and firm records by name or CRD. Export disclosures, registrations, firms, locations, and URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Search FINRA BrokerCheck public broker, adviser, and firm records from Apify.

Use this actor to collect structured BrokerCheck search results for compliance review, recruiting, due diligence, firm monitoring, and financial-services lead research.

What does FINRA BrokerCheck Scraper do?

FINRA BrokerCheck Scraper searches the public BrokerCheck API and saves normalized records to an Apify dataset.

It can search:

  • Individual brokers and advisers
  • Broker-dealer and adviser firms
  • Names, company keywords, and CRD numbers
  • Current branch and office locations
  • Disclosure and registration signals

Who is it for?

Compliance analysts use it to prepare review lists.

Wealth-management recruiters use it to screen broker candidates.

Legal and due-diligence teams use it to collect public regulatory context.

Financial-services researchers use it to build lists of firms or representatives.

Data teams use it to feed internal CRMs, monitoring dashboards, and enrichment workflows.

Why use this actor?

BrokerCheck is useful, but manual searches do not scale.

This actor turns public search results into exportable JSON, CSV, Excel, RSS, or API records.

You get consistent columns for CRD, name, status, disclosure flags, locations, firm identifiers, and source URLs.

What data can you extract?

FieldDescription
recordTypeindividual or firm
searchQueryQuery that produced the row
sourceUrlPublic BrokerCheck profile URL
crdBrokerCheck source / CRD identifier
namePerson or firm name
statusPublic scope/status label
disclosureFlagWhether BrokerCheck flags disclosures
finraRegistrationCountPublic registration count
currentEmploymentsCurrent firm/branch data for individuals
city, stateLocation fields when available
rawSearchResultRaw public search payload for auditability

How much does it cost to scrape FINRA BrokerCheck?

This actor uses pay-per-event pricing.

There is a small start fee and a per-record fee for each saved BrokerCheck result.

The default input is intentionally small enough for a quick, low-cost first run.

Final tiered prices are calculated from cloud run costs before QA handoff.

Input options

searchMode chooses individuals, firms, or both.

queries accepts names or keywords such as john smith, vanguard, or merrill lynch.

crds accepts CRD numbers and combines them with query searches.

states and cities filter returned records by public branch or office locations.

includePrevious includes previous names and registrations in individual searches.

includeDetails attempts best-effort BrokerCheck summary enrichment when the detail endpoint is accessible.

maxResults limits the total dataset size.

maxResultsPerQuery limits each individual query.

Example input

{
"searchMode": "individual",
"queries": ["john smith"],
"includePrevious": true,
"includeDetails": false,
"maxResults": 100,
"maxResultsPerQuery": 100
}

Example firm input

{
"searchMode": "firm",
"queries": ["vanguard"],
"maxResults": 50,
"maxResultsPerQuery": 50
}

Example output

{
"recordType": "individual",
"source": "FINRA BrokerCheck",
"searchQuery": "john smith",
"sourceUrl": "https://brokercheck.finra.org/individual/summary/6808119",
"crd": "6808119",
"name": "John Morgan Smith",
"status": "Active",
"brokerCheckScope": "Active",
"investmentAdviserScope": "NotInScope",
"disclosureFlag": false,
"finraRegistrationCount": 1,
"state": "NC",
"city": "CHARLOTTE"
}

How to run

  1. Open the actor on Apify.
  2. Enter broker, adviser, or firm names.
  3. Choose individual, firm, or all search mode.
  4. Set a maximum result count.
  5. Run the actor.
  6. Export the dataset or consume it with the API.

Tips for better results

Use full names when possible.

Use firm names for firm mode.

Use CRD numbers when you already know them.

Keep includeDetails off for high-volume runs unless you specifically need best-effort detail payloads.

Use state filters after broad searches to narrow locations.

Integrations

Send records to Google Sheets for analyst review.

Sync CRDs and disclosure flags to a CRM.

Trigger Make or Zapier workflows when new records are found.

Join BrokerCheck output with SEC adviser, ADV, or disciplinary datasets.

Store raw payloads in a data warehouse for audit trails.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/finra-brokercheck-scraper').call({
searchMode: 'individual',
queries: ['john smith'],
maxResults: 100
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/finra-brokercheck-scraper').call(run_input={
'searchMode': 'firm',
'queries': ['vanguard'],
'maxResults': 50,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~finra-brokercheck-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"searchMode":"individual","queries":["john smith"],"maxResults":100}'

MCP usage

Use the Apify MCP server with Claude Code or Claude Desktop.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/finra-brokercheck-scraper

Claude Code setup:

$claude mcp add apify-brokercheck "https://mcp.apify.com/?tools=automation-lab/finra-brokercheck-scraper"

Claude Desktop JSON config:

{
"mcpServers": {
"apify-brokercheck": {
"url": "https://mcp.apify.com/?tools=automation-lab/finra-brokercheck-scraper"
}
}
}

Example prompts:

  • "Search BrokerCheck for John Smith and summarize active registrations."
  • "Find public BrokerCheck firm records for Vanguard and list disclosure flags."
  • "Export the first 100 BrokerCheck individual records for this name list."

Data quality notes

The actor preserves raw public search payloads.

Fields may be absent when FINRA does not return them for a record.

Location filters are post-filters over returned branch or office data.

Profile detail enrichment is best-effort and disabled by default.

Legality

BrokerCheck data is public regulatory information, but your use still needs to comply with FINRA terms, Apify terms, privacy rules, and the laws that apply to your workflow.

This actor accesses public BrokerCheck search data.

Use it only for lawful, authorized, and compliant workflows.

Respect FINRA terms, privacy expectations, and applicable financial-services rules.

Do not use the output to make automated adverse decisions without proper review.

Troubleshooting

If no records are returned, broaden the query or remove city/state filters.

If detail enrichment is empty, keep using the search result fields; detail endpoints may be unavailable from some environments.

If a run is slow, lower maxResults or split a large name list into smaller runs.

FAQ

Can I search by CRD?

Yes. Add CRD values to the crds field.

Can I scrape firms and brokers together?

Yes. Set searchMode to all.

Does this require login?

No. It uses public BrokerCheck search endpoints.

Does it fetch every profile detail page?

No. The reliable MVP is the public search API. Summary detail enrichment is optional and best-effort.

Changelog

Initial private build supports BrokerCheck individual and firm search, location filters, CRD inputs, and typed dataset output.