SEC and CNIL Public Enforcement Monitor avatar

SEC and CNIL Public Enforcement Monitor

Pricing

from $0.49 / 1,000 official evidence records

Go to Apify Store
SEC and CNIL Public Enforcement Monitor

SEC and CNIL Public Enforcement Monitor

Search public SEC litigation and CNIL sanctions pages, export source-linked records and optionally match entities with OpenRouter. API-only sources are unavailable.

Pricing

from $0.49 / 1,000 official evidence records

Rating

0.0

(0)

Developer

Inus Grobler

Inus Grobler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Security

Limited permissions

Share

Search public enforcement and sanctions pages from the US SEC and France's CNIL. Export source-linked records for research and monitoring, with optional OpenRouter-assisted entity matching.

This is an independent, unofficial tool. It is not affiliated with, sponsored by, or endorsed by the SEC, CNIL, ESMA or FDIC.

Quick start

Choose sec-litigation or cnil-sanctions, set a small result limit, and leave AI matching off for a first run.

{"sources":["sec-litigation"],"maxResultsPerSource":1,"lookbackDays":365,"outputMode":"all","useAiMatching":false}

SEC and CNIL collection reads public HTML. ESMA sanctions and FDIC bank-failure API adapters are unavailable. Their legacy source values remain accepted and report source failures without creating replacement result rows. A source outage does not prove that an entity has no enforcement history.

Results and monitoring

Illustrative output; replace source values with your own authorized evidence.

{
"schemaVersion": "1.0",
"recordId": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"source": "sec-litigation",
"sourceRecordId": "Illustrative official record id",
"signalCategory": "enforcement",
"eventType": "Illustrative event type",
"authority": "Illustrative authority",
"jurisdiction": "Illustrative jurisdiction",
"sourceUrl": "https://example.com/owned-evidence",
"documentUrls": [],
"entityNames": [],
"entityIdentifiers": [],
"subjectType": null,
"subjectDisclosure": "type-only",
"title": "Illustrative title",
"eventDate": "2026-10-01T12:00:00Z",
"effectiveDate": null,
"actionStage": null,
"status": null,
"legalFrameworks": [],
"summary": null,
"summarySource": null,
"sourceTextExcerpt": null,
"penalties": [],
"sourceMetadata": {},
"retrievedAt": "2026-10-01T12:00:00Z",
"matchedQueries": [],
"matchMethod": "unfiltered",
"matchConfidence": null,
"matchReason": null,
"changeType": "unknown",
"contentHash": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"previousHash": null,
"firstSeenAt": null
}

Each primary row contains the available source, publication details, entity references, title and evidence link. Review the original notice before relying on an entity match or enforcement classification. Optional model matching is an interpretation of collected evidence. Select the existing monitoring options only when you want comparison with that Actor's stored baseline; incomplete coverage does not establish removal.

Python API example

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('thescrapelab/regulatory-enforcement-search-monitor').call(run_input={'sources':['sec-litigation'],'maxResultsPerSource':1,'useAiMatching':False})
if run is None:
raise RuntimeError("Actor did not return run metadata")
dataset_id = run["defaultDatasetId"] if isinstance(run, dict) else run.default_dataset_id
for row in client.dataset(dataset_id).iterate_items():
print(row)

Open the run summary for source coverage, limits and failures. Check the Pricing tab and set a spending cap. Start and platform costs can apply to unsuccessful runs. This is an independent research tool, not an official regulator service.

Optional AI processing

With useAiMatching: false (the default), source records are not sent to an AI provider. If you enable matching, collected text and your entity queries are processed through the configured OpenRouter account. Direct OpenAI API access is unavailable. Keep your Apify credentials limited to the limited permissions required for running the Actor and reading its output.

Support

Open the Actor Issues tab with a run ID and a sanitized input example. Review the run output and collection/validation summary when a source is blocked, input is invalid or fewer results are returned.