FINRA BrokerCheck Scraper – IA & Brokers
Pricing
$20.00 / 1,000 broker-records
FINRA BrokerCheck Scraper – IA & Brokers
Extract FINRA BrokerCheck data for investment advisors & brokers by state. Get CRD, employment, disciplinary status, contact details. US regulatory compliance data at scale.
Pricing
$20.00 / 1,000 broker-records
Rating
0.0
(0)
Developer
Giovanni Bianciardi
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
FINRA BrokerCheck Investment Advisors & Brokers Scraper
Extract regulatory data for investment advisors and brokers from FINRA's official BrokerCheck database. Get verified profiles, employment history, disciplinary status, and contact details for B2B compliance, due diligence, and lead generation.
✨ Features
- Official FINRA Data: Direct extraction from FINRA.org's authoritative registry
- Multi-Criteria Filtering: By state, registration type, status, and disciplinary history
- Rich Profiles: CRD, names, employers, firm details, registration counts
- Compliance Ready: Disciplinary disclosure flags and regulatory scope indicators
- Scalable: Configurable delays, result limits, and sorting options
- B2B Grade: Production-ready with error handling and structured JSON output
🚀 Quick Start
1. Input Configuration
{"filter_active": true,"filter_bar": true,"filter_broker": true,"filter_brokeria": true,"filter_ia": true,"filter_prev": true,"include_detail": false,"include_previous": true,"states": ["CA", "NY", "TX"],"query": "","max_results": 500,"delay_seconds": 1,"sort": "score+desc"}
2. Parameters Explained
| Parameter | Type | Default | Description |
|---|---|---|---|
filter_active | Boolean | true | Include only active registrations |
filter_bar | Boolean | true | Include individuals with disciplinary bars/suspensions |
filter_broker | Boolean | true | Include Broker-Dealer registrations |
filter_brokeria | Boolean | true | Include combined Broker + IA registrations |
filter_ia | Boolean | true | Include Investment Advisor-only registrations |
filter_prev | Boolean | true | Include individuals with previous (inactive) registrations |
include_detail | Boolean | false | Fetch detailed employment & disclosure history (slower, more credits) |
include_previous | Boolean | true | Include previous employment history in results |
states | Array | [] | Filter by US state codes (e.g., ["CA", "NY"]). Empty = all states |
query | String | "" | Optional keyword search (name, firm, CRD) |
max_results | Number | 100 | Maximum results to return (1–10,000) |
delay_seconds | Number | 0.5 | Delay between requests in seconds (anti-detection) |
sort | String | "score+desc" | Sort results: score+desc, name+asc, crd+asc |
📊 Output Format
Standard Result
{"crd": "1170765","name": "JAMES MARSHALL SCHWARZ","first_name": "JAMES","middle_name": "MARSHALL","last_name": "SCHWARZ","other_names": [],"profile_url": "https://brokercheck.finra.org/individual/summary/1170765","scope": "IA","bc_scope": "InActive","ia_scope": "Active","has_disclosure": false,"registration_count": 0,"employment_count": 1,"industry_start_date": "","current_employer": "CLEAR RETIREMENT ADVICE LLC","current_employments": [{"firm_id": "292667","firm_name": "CLEAR RETIREMENT ADVICE LLC","city": "SAN MATEO","state": "CA","zip": "94403","ia_only": "Y"}]}
Output Fields Reference
| Field | Type | Description |
|---|---|---|
crd | String | FINRA's Central Registration Depository ID (unique identifier) |
name | String | Full legal name as registered |
first_name | String | First name |
middle_name | String | Middle name (if applicable) |
last_name | String | Last name |
other_names | Array | Any alternate legal names (maiden names, DBA, etc.) |
profile_url | String | Direct link to FINRA BrokerCheck profile |
scope | String | Primary registration type: Broker, IA, or BrokerIA |
bc_scope | String | Broker-Dealer registration status: Active or InActive |
ia_scope | String | Investment Advisor registration status: Active or InActive |
has_disclosure | Boolean | Whether individual has disclosed disciplinary history |
registration_count | Number | Total number of active registrations |
employment_count | Number | Total number of employment records |
industry_start_date | String | When individual entered the industry (YYYY-MM-DD format) |
current_employer | String | Name of current employer/firm |
current_employments | Array | List of current employment records (see below) |
Employment Record Structure
{"firm_id": "292667","firm_name": "CLEAR RETIREMENT ADVICE LLC","city": "SAN MATEO","state": "CA","zip": "94403","ia_only": "Y"}
| Field | Type | Description |
|---|---|---|
firm_id | String | FINRA Firm CRD ID |
firm_name | String | Registered firm name |
city | String | Firm headquarters city |
state | String | US state code |
zip | String | Zip code |
ia_only | String | Y if firm is Investment Advisor-only; N if Broker-Dealer or combined |
💡 Use Cases
Compliance & Risk Management
Filter for individuals with disciplinary history, verify registration status before partnerships, monitor state-specific regulatory requirements.
{"filter_active": true,"filter_bar": true,"states": ["NY", "CA"],"max_results": 5000,"delay_seconds": 1}
Lead Generation
Build qualified prospect lists of active investment advisors in target states.
{"filter_active": true,"filter_bar": false,"filter_ia": true,"states": ["TX", "FL", "CA"],"max_results": 10000,"delay_seconds": 0.5}
Data Enrichment
Append FINRA registration & employment data to existing financial professional databases.
{"include_previous": true,"include_detail": true,"max_results": 500,"delay_seconds": 2}
⚡ Performance & Credits
- Standard Run: ~100–500 results = 5–25 credits (0.5s delay)
- Large Scale: 5,000+ results = 150–500 credits (1–2s delay, best practice)
- Detailed Mode (
include_detail: true): 2–3x credit cost per result - Recommended Delay: 0.5–1 second per request (anti-detection, rate-limit safe)
🔒 Data Quality & Accuracy
- Source: Official FINRA.org registry (real-time, authoritative)
- Update Frequency: FINRA updates daily; actor captures current state
- Validation: CRD IDs cross-referenced with firm registrations
- Coverage: All US states, US territories
- Completeness: Employment history and disciplinary status verified against FINRA records
📋 Common Workflows
1. Get All Active IA in California
{"filter_active": true,"filter_ia": true,"filter_broker": false,"states": ["CA"],"max_results": 10000}
2. Compliance Check: Individuals with Bars
{"filter_bar": true,"states": ["NY", "CA", "TX"],"include_previous": true,"max_results": 5000}
3. Firm-Specific Search (combine with employment filter)
{"query": "Goldman Sachs","max_results": 1000,"delay_seconds": 1}
4. B2B Data Product Export
{"include_previous": true,"include_detail": true,"max_results": 50000,"delay_seconds": 1.5,"sort": "score+desc"}
🛠️ Technical Details
- Language: Python 3.9+
- Libraries: Scrapy, Requests, BeautifulSoup4
- Anti-Detection: Built-in proxy rotation, user-agent randomization, adaptive delays
- Error Handling: Automatic retries, graceful handling of rate limits
- Structured Output: JSON with schema validation
⚠️ Important Notes
-
Legal & Compliance:
- Data is public regulatory information from FINRA.org
- Verify compliance with your jurisdiction's data usage policies
- Do not use for discriminatory purposes
-
Rate Limiting:
- Recommended delay: 0.5–1 second between requests
- Avoid delays < 0.3 seconds (may trigger blocks)
- Very large runs (50k+): use 1.5–2 second delays
-
Data Freshness:
- FINRA updates daily (typically overnight EST)
- Run during off-peak hours for best performance
- Previous employment records may lag 1–2 weeks
-
Accuracy:
- Cross-reference results with FINRA.org directly for critical decisions
- Disciplinary status is current as of last FINRA update
🤝 Support
- Questions? Check FINRA.org for official regulatory details
- Actor Issues? Report via Apify dashboard with sample input/output
- Data Verification: Visit https://brokercheck.finra.org/ directly
📄 Example: Multi-State B2B Dataset
Generate a dataset of 25,000 active investment advisors across top 5 states:
{"filter_active": true,"filter_bar": false,"filter_ia": true,"states": ["CA", "NY", "TX", "FL", "IL"],"max_results": 25000,"delay_seconds": 1,"include_previous": true,"sort": "score+desc"}
Expected Output: ~25,000 records with current employer, firm location, industry tenure Credits: ~500–800 (depending on detailed mode) Time: ~7–10 hours (with 1s delays for safety)
📌 Version History
- v1.0 (Current): Initial release with state filtering, scope filters, employment history
- Tested on 100,000+ profiles across all US states
- Stable rate-limiting & error handling
- B2B-ready output schema
Last Updated: April 2026 Maintained by: Giovanni Biancia (@giovannibiancia)