Prerequisites
- An API key in
SECAPI_API_KEY - Node.js 18+ for the JavaScript example, or curl
1. Start with a bounded query
data, hasMore, nextCursor, and requestId. Each row includes a source type, publication date, title, excerpt, document URL, and any respondent or classification fields that were available from the release.
2. Add a retrieval filter
The API accepts these normalizedviolation_type values:
fraud, insider_trading, reporting_violation, market_manipulation, registration_violation, investment_adviser, broker_dealer, municipal_securities, and other.
ticker or cik, penalty_min, penalty_max, date_from, and date_to. These filters help discover releases; they are not evidence that an issuer or person is a respondent.
3. Keep the source with the result
documentUrl and requestId. Read the release before assigning a risk label, calculating a penalty total, or joining the record to an issuer.
4. Page safely
What still requires judgment
violationTypeis a retrieval label inferred from release language, not the SEC’s final legal classification.penaltyAmountcan be null or can capture only the amount the release made machine-readable.- A name, ticker, or CIK association should be checked against the linked release before it is used in a compliance, legal, or investment workflow.

