Home / APIs / SEC enforcement
Press releases

SEC Enforcement Actions API: charges, penalties and settlements as JSON

SEC enforcement press releases as structured data: parties charged, allegations, settlements, penalty amounts, relief sought, statutes and agencies.

Newfilling from 2020 onward
curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/sec-enforcement-actions?size=5"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/sec-enforcement-actions",
    params={'size': '5'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
)
print(r.json())

Overview

The SEC announces its significant enforcement actions in press releases: who was charged, what they allegedly did, whether they settled, the penalties, the statutes cited, and which offices and other agencies worked the case. The facts are in prose.

The SEC Enforcement Actions API returns one record per enforcement press release with each party and its role, ticker and CIK where given, every penalty amount and who it was imposed on, the relief requested, violated sections and parallel actions. Filter by release date or on any field with data.<path>.

What you get

Built for developers who would rather not parse EDGAR.

Parties and roles

Each person or company named, with type, role and ticker or CIK when stated.

Penalties

Each amount as a number and as written, with who it was imposed on.

Settlement flags

Whether parties agreed to settle and to pay a penalty.

Legal detail

Violated sections, relief requested, staff who investigated and litigated, other agencies.

Endpoints

Authenticate with Authorization: Bearer YOUR_KEY. Responses are JSON.

GET|POST/v1/sec-enforcement-actionsReference →

One SEC enforcement press release: parties charged, allegations, settlement and penalties, relief sought, statutes, staff and cooperating agencies.

Parameters: startDate, endDate, data.<path>=value, from, size (max 50)

Response fields

The main fields in every result. The raw filing data is always one level down.

FieldMeaning
id, releaseNo, releasedAt, url, titleThe press release.
summary, tagsWhat the action is about.
entities[].name, type, role, ticker, cikWho was charged or named.
hasAgreedToSettlement, hasAgreedToPayPenaltySettlement status.
penaltyAmounts[].penaltyAmount, penaltyAmountText, imposedOnPenalties.
requestedRelief, violatedSectionsRelief sought and the laws cited.
parallelActionsTakenBy, otherAgenciesInvolved[].nameRelated actions and agencies.
resources[].label, urlLinked complaints, orders and other documents.

Use cases

FAQ

How far back does it go?

This dataset launched in October 2026 and is being filled newest first, starting with releases from 2020 onward. The live counter on this page shows what is loaded today. Older years are added after that.

How is the data produced?

Each record is extracted from the filing text by an AI model and validated against a fixed schema before it is published; see our AI Disclosure. A value the filing does not state is returned as null, never guessed.

Does it cover every SEC action?

It covers enforcement actions announced in SEC press releases. Litigation releases and administrative proceedings are in the Litigation Release Feed and the Administrative Proceedings Feed.

Try the SEC Enforcement Actions API free

125 free API calls to start. No sales call.

Get free API key →