FINRA Disciplinary Actions Scraper avatar

FINRA Disciplinary Actions Scraper

Pricing

Pay per event

Go to Apify Store
FINRA Disciplinary Actions Scraper

FINRA Disciplinary Actions Scraper

Extract FINRA disciplinary actions, sanctions, bars, fines, respondents, dates, summaries, and source document URLs for compliance monitoring.

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

13 hours ago

Last modified

Categories

Share

Extract public FINRA disciplinary actions, sanctions, bars, fines, suspensions, respondent names, official dates, summaries, and source document URLs from FINRA's disciplinary actions database.

Use this actor when you need structured compliance monitoring data from FINRA without manually searching the website page by page.

What does FINRA Disciplinary Actions Scraper do?

FINRA Disciplinary Actions Scraper turns FINRA's public disciplinary action listings into clean dataset records.

It can collect:

  • Case IDs
  • Respondent names
  • Firm names
  • Individual names
  • Document/action types
  • Official dates
  • Action summaries
  • Sanction indicators
  • Fine amounts mentioned in summaries
  • Restitution amounts mentioned in summaries
  • Bars, suspensions, and censures
  • PDF/source document URLs
  • Related-document search URLs

Who is it for?

FINRA Disciplinary Actions Scraper is designed for compliance and regulatory-data workflows.

Common users include:

  • Broker-dealer compliance teams monitoring disciplinary trends
  • Legal research teams reviewing enforcement history
  • Due-diligence vendors screening firms and individuals
  • Recruiting/background-check workflows checking FINRA sanctions
  • AML/KYC data teams enriching watchlist and adverse-action databases
  • Regulatory intelligence platforms that need repeatable FINRA monitoring

Why use this actor?

FINRA's website is searchable, but manual monitoring is slow.

This actor helps you:

  • Export FINRA disciplinary action records to JSON, CSV, Excel, XML, or HTML
  • Monitor new actions on a schedule
  • Filter by keyword, firm, individual, case ID, document type, and date range
  • Capture source evidence links for audit trails
  • Normalize sanctions into fields that are easier to filter downstream
  • Feed compliance systems without copy-paste work

Data source

The actor extracts data from the public FINRA disciplinary actions listing:

https://www.finra.org/rules-guidance/oversight-enforcement/finra-disciplinary-actions

The source is public and does not require a FINRA account.

Output data

Each dataset item represents one FINRA disciplinary action row.

FieldDescription
caseIdFINRA case/document identifier
titleCombined case/respondent/document title
summaryFINRA summary text
documentTypeFINRA document type
officialDateOfficial date shown by FINRA
respondentsRespondent names
firmsFirm respondents when identified
individualsIndividual respondents when identified
sanctionsInferred sanction categories
fineAmountsFine amounts mentioned in the summary
restitutionAmountsRestitution amounts mentioned in the summary
hasBarWhether the summary mentions a bar
hasSuspensionWhether the summary mentions a suspension
hasCensureWhether the summary mentions censure
documentUrlFINRA PDF/document URL
relatedDocumentsUrlFINRA related-documents URL when present
sourceUrlFINRA results page used for extraction
scrapedAtExtraction timestamp

Example output

{
"caseId": "2026090120801",
"title": "2026090120801 — Sung Moo Cho — AWCs (Letters of Acceptance, Waiver, and Consent)",
"documentType": "AWCs (Letters of Acceptance, Waiver, and Consent)",
"officialDate": "06/25/2026",
"respondents": ["Sung Moo Cho"],
"individuals": ["Sung Moo Cho"],
"sanctions": ["bar"],
"hasBar": true,
"documentUrl": "https://www.finra.org/sites/default/files/fda_documents/...pdf"
}

How much does it cost to scrape FINRA disciplinary actions?

This actor uses pay-per-event pricing.

You pay a small start fee for the run and a per-record charge for each disciplinary action saved to the dataset.

Use a low maxItems value for quick tests and increase it for scheduled monitoring or historical backfills.

Input options

You can search FINRA records with the following inputs:

  • search — case ID, document text, name, or CRD number
  • firmName — firm name or firm CRD
  • individualName — individual name or CRD
  • caseId — FINRA case number
  • documentType — AWC, Complaint, OHO Decision, NAC Decision, SEC Decision, and more
  • dateFrom — earliest official date
  • dateTo — latest official date
  • maxItems — maximum records to save
  • startPage — advanced pagination offset
  • proxyConfiguration — Apify Proxy settings

How to scrape FINRA disciplinary actions

  1. Open the actor on Apify.
  2. Enter a keyword, firm name, individual name, case ID, or date range.
  3. Choose a document type if needed.
  4. Set maxItems.
  5. Run the actor.
  6. Export the dataset in your preferred format.

Search examples

Try these workflows:

  • Search barred to monitor barred individuals and firms.
  • Filter by firm name to review actions involving one broker-dealer.
  • Filter by individual name or CRD for background checks.
  • Filter AWCs from a recent date range for compliance monitoring.
  • Search a FINRA case number to collect related documents.

Integrations

You can connect the output to:

  • Google Sheets compliance dashboards
  • Airtable legal research trackers
  • BigQuery or Snowflake regulatory datasets
  • CRM/vendor due-diligence workflows
  • Background-check pipelines
  • Slack or email alerts through Apify integrations
  • BI dashboards that track sanctions and fines over time

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/finra-disciplinary-actions-scraper').call({
search: 'barred',
maxItems: 100,
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/finra-disciplinary-actions-scraper').call({
'search': 'barred',
'maxItems': 100,
})
print(run['defaultDatasetId'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~finra-disciplinary-actions-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"search":"barred","maxItems":100}'

MCP integration

Use this actor through Apify MCP in Claude Desktop or Claude Code.

MCP URL:

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

Claude Code CLI setup:

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

Claude Desktop JSON config:

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

Example prompts:

  • "Scrape FINRA disciplinary actions mentioning barred representatives and summarize the top sanctions."
  • "Find recent FINRA AWCs involving restitution and export the document URLs."
  • "Monitor FINRA disciplinary actions for this firm name and return new records."

Tips for better results

  • Use maxItems to control cost and run duration.
  • Combine dateFrom and dateTo for recurring monitoring windows.
  • Use firm or individual filters when you know the respondent.
  • Use keyword search for sanctions such as barred, fined, restitution, or suspended.
  • Keep source document URLs with your downstream records for auditability.

Limitations

Sanction fields are inferred from FINRA summary text.

They are useful for filtering and triage but should not replace legal review of the source document.

FINRA may update page structure or documents; source URLs are included so you can verify records.

Legality

The actor extracts publicly available regulatory records from FINRA.

You are responsible for using the data lawfully, respecting applicable terms, privacy rules, and compliance obligations.

Do not use the output as the sole basis for employment, credit, or legal decisions without appropriate review.

Troubleshooting

If you get fewer results than expected:

  • Broaden filters.
  • Increase maxItems.
  • Remove exact case or respondent filters.
  • Check whether FINRA has records for that period.

If FINRA returns temporary blocking or cooldown responses:

  • Use the prefilled Apify Proxy configuration.
  • Retry later for very large backfills.
  • Split historical pulls into smaller date windows.

Explore more Automation Lab actors for compliance and due-diligence workflows:

FAQ

Can I scrape only one FINRA case?

Yes. Use the caseId input or put the case number into search.

Can I monitor new disciplinary actions?

Yes. Schedule the actor and use a recent dateFrom/dateTo window.

Does the actor download PDFs?

The actor saves FINRA document URLs. It does not currently download or parse PDF contents.

Does it require login?

No. The actor uses FINRA's public disciplinary actions listing.

Can I filter bars and fines?

Use keyword search such as barred, fine, fined, restitution, or suspended. The output also includes inferred sanction fields.