Data dictionary and downloads
The case library of 2,428 enforcement records can be downloaded as JSON or as a SQLite database, and this page explains every field: what it holds, how it was derived and where it can mislead. The records were checked by AI agents against primary documents, not by lawyers.
Downloads
- cases.json: Every record, including the narrative, as JSON.
- market-manipulation.sqlite: The same records as a SQLite database (without narratives).
- CSV export: Filter the library in the explorer and export the rows as CSV.
- Chart CSVs: One CSV per chart, each with a methodology.
Known limitations
- This is enforcement data: it records what regulators announced, not how much manipulation occurs.
- status filed means no outcome was found. The conduct is alleged and unproven.
- criminalParallel is a reading of release wording and is not checked against court dockets.
- On multi-respondent matters money is summed across the listed respondents, so a figure may not belong to the one defendant you are looking at.
- Non-US penalties are held in their own currency and are never converted; USD totals leave them out.
- dateResolved may be an announcement date rather than the date of a final order.
- Technique tags are our classification, not the statutory provisions charged.
- All records were checked by AI agents against primary documents. No lawyer reviewed them. Errors are logged on the corrections page.
Case fields and columns
Column names in the cases table match the field names in cases.json, except where noted.
Dates are ISO text (YYYY-MM-DD); lists are JSON text. Money is nominal US dollars unless the column says otherwise.
| Field | Type | Meaning | How it is derived |
|---|---|---|---|
slug | TEXT, primary key | Stable identifier of the record; also the last part of its page address. | Built from the regulator, the release number or respondent, the lead technique tag and the year. Some slugs were renamed when a record’s tag changed; the old addresses redirect. |
title | TEXT | Headline for the record. | Written for this site from the release; not the regulator’s wording. |
url | TEXT | Address of the record’s page on this site. | Site address plus /cases/ and the slug. Present in the database and cases.json. |
agency | TEXT | Regulator that issued the primary document: SEC, CFTC, ASIC, OSC or FCA. | Taken from the source the record was collected from. |
releaseNumber | TEXT, nullable | The regulator’s own number for the release, order or notice. | Copied from the source where it has one. |
releaseUrl | TEXT | The primary document, on the regulator’s own site. | The address the record was collected from, checked when the record was reviewed. |
complaintUrl | TEXT, nullable | The complaint or charging document, where we found one. | Linked from the release. |
dateFiled | TEXT, YYYY-MM-DD | Date the action was filed or announced. | The date on the release, or the filing date where the release gives one. A wrong index date was corrected on a number of records (see the corrections log). |
dateResolved | TEXT, nullable | Date the matter ended in the record’s outcome. | The date of the final order where the source gives it, otherwise the announcement date. It can therefore be an announcement date, so durations are approximate. |
status | TEXT | filed, settled, judgment, dismissed, appealed or unknown. | Our reading of the documents. A settlement or consent judgment is settled; a litigated, default or court-entered final judgment is judgment. filed means no outcome was found, not that none exists; the conduct is alleged. |
court | TEXT, nullable | Court or tribunal, where one is named. | Copied from the document. |
assetClass | TEXT, JSON array | Asset classes involved, such as equities, futures or crypto. | Tagged from the document; empty when not clear. Query with json_each(). |
instruments | TEXT, JSON array | Instruments named. | As assetClass. |
venue | TEXT, JSON array | Trading venues or exchanges named. | As assetClass. |
allegedGainUsd | REAL, nullable | Gain or profit the document alleges or finds, in US dollars. | Recorded only where the document states a figure. |
penaltyUsd | REAL, nullable | Civil monetary penalty, in nominal US dollars. | Recorded only where the order states it. On multi-respondent matters it is the sum across the listed respondents. Not the same as disgorgement. |
disgorgementUsd | REAL, nullable | Disgorgement ordered, in nominal US dollars. | As penaltyUsd. Combined disgorgement-plus-interest figures were often left null. |
prejudgmentInterestUsd | REAL, nullable | Prejudgment interest ordered, in nominal US dollars. | As penaltyUsd. |
penaltyNativeAmount | REAL, nullable | Penalty in the regulator’s own currency (database only; in cases.json this is penaltyNative.amount). | Copied as published. Non-US penalties are not converted, so USD totals exclude them. |
penaltyNativeCurrency | TEXT, nullable | Three-letter currency code for penaltyNativeAmount, such as AUD. | As penaltyNativeAmount. |
criminalParallel | INTEGER 0/1 | Whether the record involves a parallel criminal case on the same conduct. | A reading of the release wording (a keyword rule, corrected by hand on 139 records), not a search of court dockets. A recorded sentence implies a criminal case. 1 does not mean a conviction. |
criminalOutcome_stage | TEXT, nullable | Furthest stage a cited document states: charged, pleaded, convicted, sentenced, acquitted, dismissed or not-stated. | Filled only on records that have a criminal outcome entry. Null elsewhere does not mean there was no case. |
criminalOutcome_covers | TEXT, nullable | Which defendants the outcome describes. | Free text from the reviewer; the stage may not apply to every respondent. |
criminalOutcome_court | TEXT, nullable | Court of the criminal case. | From the cited document. |
criminalOutcome_date | TEXT, nullable | Date of the stated stage. | From the cited document. |
criminalOutcome_sentenceMonths | REAL, nullable | Custodial sentence in months, where stated. | From the cited document. |
criminalOutcome_sourceUrl | TEXT, nullable | Document the outcome is taken from. | A source the reviewer opened. |
criminalOutcome_checkedOn | TEXT, nullable | Date the outcome was checked. | Set by the reviewer. In cases.json these six fields sit inside a criminalOutcome object. |
sentenceMonths | REAL, nullable | Custodial sentence in months recorded on the case. | From the release or a linked document. |
barsImposed | TEXT, JSON array | Bars or suspensions imposed, such as an officer-and-director bar. | From the order. |
summary | TEXT | Short plain-language account. | Written for this site from the primary document, using allegation language for filed matters. |
narrative | not in SQLite | Longer account. | In cases.json only, to keep the database small. |
sourceType | TEXT | us-government-work or other. | Whether the source document is a US federal work, which carries no copyright. |
ingestedAt | TEXT, YYYY-MM-DD | Date the record was first added. | Set when collected. |
reviewed | INTEGER 0/1 | Whether the record was compared with its primary document. | Done by AI agents following written instructions, not by lawyers. It is not a legal review. |
reviewedOn | TEXT, nullable | Date of that check. | Set by the reviewing run. |
Tables in the SQLite file
| Table | Contents |
|---|---|
cases | One row per record. Columns as in the table above. |
case_techniques | slug, technique. One row per technique tag on a record. Our classification, not the charges. |
case_defendants | slug, position, name, type (individual or entity), personSlug. Respondents as the record names them. |
case_documents | slug, position, label, url. Linked source documents. |
case_timeline | slug, position, date, event, url. Dated events from the record. |
techniques | slug, title, family. The technique tags, with the family each belongs to. |
readme | key, value. Generation date, record count, licence note, citation and caveats. |
Example: SELECT technique, COUNT(*) FROM case_techniques GROUP BY technique ORDER BY 2 DESC;
Licence and citation
Our compilation, classification and summaries are published under CC BY 4.0: reuse them with attribution. The underlying US federal releases are works of the United States government and carry no copyright; other regulators’ documents are linked, not reproduced. Details are on the sources page.
Cite as: Market Manipulation, enforcement case library, https://marketmanipulation.org/data/dictionary/, accessed 5 October 2026. Replace the date with the day you downloaded the file.