CFTC Enforcement Actions Scraper avatar

CFTC Enforcement Actions Scraper

Pricing

from $0.02 / 1,000 enforcement action saveds

Go to Apify Store
CFTC Enforcement Actions Scraper

CFTC Enforcement Actions Scraper

Monitor CFTC enforcement actions, penalties, respondents, press releases, and linked orders for compliance research and due diligence.

Pricing

from $0.02 / 1,000 enforcement action saveds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Extract CFTC enforcement actions, press releases, respondents, penalties, and linked legal orders from the public Commodity Futures Trading Commission website.

Use it to monitor regulatory action in futures, derivatives, commodities, retail commodity transactions, whistleblower awards, and related CFTC enforcement programs.

What does CFTC Enforcement Actions Scraper do?

CFTC Enforcement Actions Scraper collects structured records from the public CFTC enforcement actions index.

It saves each enforcement action as a dataset item with the action date, title, CFTC release URL, release number, linked order documents, monetary amounts, respondent names when parseable, and press release summary text.

The actor follows the CFTC year filter pages and can optionally open each press release detail page for richer text and amount extraction.

Who is it for?

  • ⚖️ Compliance teams tracking CFTC enforcement trends.
  • 🏦 Commodity, futures, swaps, and derivatives risk teams.
  • 🔎 Due diligence analysts checking companies and individuals for regulatory history.
  • 🧑‍⚖️ Law firms monitoring new enforcement orders and settlements.
  • 📊 Researchers building enforcement action timelines or penalty datasets.
  • 📰 Journalists watching new CFTC press releases.

Why use this scraper?

The CFTC website is public, but manual monitoring is repetitive.

This actor turns the enforcement index into exportable JSON, CSV, Excel, XML, or API data.

You can run it on a schedule, filter by years or dates, and connect the dataset to alerts, dashboards, spreadsheets, or compliance review workflows.

What data can you extract?

FieldDescription
releaseNumberCFTC release identifier when available.
titleEnforcement action title.
dateIsoNormalized action date.
yearPublication year.
actionTypeBest-effort action category.
respondentsParsed respondents, defendants, or parties.
monetaryAmountsDollar amounts mentioned in the source text.
penaltyTotalUsdBest-effort numeric sum of detected dollar amounts.
releaseUrlCFTC press release URL.
orderLinksLinked orders, PDFs, federal register notices, or downloads.
summaryTextFirst substantive summary paragraph.
detailTextTruncated press release body text.
scrapedAtTimestamp when the row was saved.

How much does it cost to scrape CFTC enforcement actions?

This actor uses pay-per-event pricing.

You pay a small start fee per run and a per-record fee for each enforcement action saved.

A typical monitoring run for recent years is inexpensive because the CFTC index is static HTML and does not require a browser.

See the Apify run pricing panel for the current tiered per-item price.

Input options

  • maxItems limits how many enforcement actions are saved.
  • years selects specific CFTC year-filtered index pages.
  • startUrls lets you provide custom CFTC enforcement index URLs.
  • fromDate and toDate filter records by action date.
  • includeDetails follows press release pages for body text and richer amount extraction.
  • includeOrderLinks captures linked order and PDF URLs as metadata.

Example input

{
"maxItems": 100,
"years": [2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017],
"fromDate": "2024-01-01",
"includeDetails": true,
"includeOrderLinks": true
}

Example output

{
"releaseNumber": "9263-26",
"title": "CFTC Orders Two Foreign Firms to Pay $2.5 Million for Illegal Off-Exchange Transactions with U.S. Customers",
"dateIso": "2026-06-29",
"year": 2026,
"actionType": "Administrative Order",
"respondents": ["Netrios LP Ltd.", "Red Acre Ltd."],
"monetaryAmounts": ["$2.5 Million", "$1.75 million", "$750,000"],
"penaltyTotalUsd": 5000000,
"releaseUrl": "https://www.cftc.gov/PressRoom/PressReleases/9263-26",
"orderLinks": [
{
"title": "Administrative Order: Netrios LP Ltd., Red Acre Ltd.",
"url": "https://www.cftc.gov/media/14291/ENF_Netrios_RedAcreOrder062626/download",
"type": "Administrative Order"
}
]
}

How to run it

  1. Open the actor on Apify.
  2. Choose the years or custom CFTC index URLs you want to monitor.
  3. Set maxItems to the number of enforcement actions you need.
  4. Keep detail enrichment enabled if you need summary text and penalty extraction.
  5. Click Start.
  6. Export the dataset or connect it through the Apify API.

Tips for better results

  • Use years for broad historical collection.
  • Use fromDate for scheduled monitoring.
  • Set includeDetails to false for a faster title/date/link inventory.
  • Leave includeOrderLinks enabled if your workflow needs legal order PDFs.
  • Use a low maxItems for test runs, then increase it for production exports.

Integrations

You can connect this actor to:

  • 📬 Email or Slack alerts for newly saved enforcement actions.
  • 📈 BI dashboards tracking penalties by year.
  • 🧾 Case-management systems used by legal and compliance teams.
  • 🔍 Due-diligence workflows that screen entities for regulatory exposure.
  • 🗂️ Document review pipelines that download linked orders after the actor saves metadata URLs.

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/cftc-enforcement-actions-scraper').call({
maxItems: 100,
years: [2026, 2025, 2024],
includeDetails: true
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/cftc-enforcement-actions-scraper').call(run_input={
'maxItems': 100,
'years': [2026, 2025, 2024],
'includeDetails': True,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~cftc-enforcement-actions-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"maxItems":100,"years":[2026,2025,2024],"includeDetails":true}'

MCP usage

Use this actor from Claude Desktop, Claude Code, or another MCP-compatible client through Apify MCP.

MCP tool URL:

https://mcp.apify.com/?tools=automation-lab/cftc-enforcement-actions-scraper

Claude Code setup:

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

Claude Desktop JSON config:

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

Example prompts:

  • "Run the CFTC enforcement actions scraper for 2026 and summarize penalty amounts."
  • "Monitor CFTC enforcement actions since 2024-01-01 and list respondents."
  • "Extract linked consent orders from recent CFTC enforcement actions."

Scheduling and monitoring

For repeat workflows, create an Apify schedule with a recent fromDate and a modest maxItems.

The dataset can be compared with previous runs by releaseUrl or releaseNumber to identify new CFTC actions.

Data quality notes

The CFTC source is a public Drupal website.

Respondent names and penalty totals are best-effort parsed from titles, order labels, and press release text.

Always review the source press release and linked order before making legal or compliance decisions.

Limitations

  • The actor does not download or parse PDF contents.
  • Some older CFTC records may have different formatting.
  • penaltyTotalUsd can double-count if the press release repeats the same amount in multiple contexts.
  • actionType is inferred from text and linked document labels.

Legality

The actor collects public government web pages and public links.

You are responsible for using the data lawfully, respecting Apify terms, and ensuring your downstream use complies with your internal policies and applicable regulations.

FAQ

The source pages are public CFTC government pages. Review your downstream use with your legal or compliance team if you combine the data with other screening systems.

Troubleshooting

Why did I get fewer records than expected?

Check maxItems, years, fromDate, and toDate. The CFTC year filter returns a finite list for each selected year.

Why is a respondent missing?

Some CFTC titles do not name all parties in a consistent way. Enable includeDetails and inspect detailText or the linked order for complete legal names.

Why is the penalty total different from the order?

penaltyTotalUsd is a convenience field parsed from visible dollar amounts. Treat it as a screening aid, not a legal calculation.

Explore other Automation Lab compliance and finance actors on Apify:

Support

If the CFTC website changes or you need another enforcement source, open an issue on the actor page with a sample URL and the fields you expect.

Changelog

Initial version extracts CFTC enforcement index records, press release detail text, order links, monetary amounts, and respondents.