Market Manipulation. Search

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

Per-technique and per-regulator update feeds are listed on the feeds page.

Known limitations

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.

FieldTypeMeaningHow it is derived
slugTEXT, primary keyStable 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.
titleTEXTHeadline for the record.Written for this site from the release; not the regulator’s wording.
urlTEXTAddress of the record’s page on this site.Site address plus /cases/ and the slug. Present in the database and cases.json.
agencyTEXTRegulator that issued the primary document: SEC, CFTC, ASIC, OSC or FCA.Taken from the source the record was collected from.
releaseNumberTEXT, nullableThe regulator’s own number for the release, order or notice.Copied from the source where it has one.
releaseUrlTEXTThe primary document, on the regulator’s own site.The address the record was collected from, checked when the record was reviewed.
complaintUrlTEXT, nullableThe complaint or charging document, where we found one.Linked from the release.
dateFiledTEXT, YYYY-MM-DDDate 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).
dateResolvedTEXT, nullableDate 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.
statusTEXTfiled, 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.
courtTEXT, nullableCourt or tribunal, where one is named.Copied from the document.
assetClassTEXT, JSON arrayAsset classes involved, such as equities, futures or crypto.Tagged from the document; empty when not clear. Query with json_each().
instrumentsTEXT, JSON arrayInstruments named.As assetClass.
venueTEXT, JSON arrayTrading venues or exchanges named.As assetClass.
allegedGainUsdREAL, nullableGain or profit the document alleges or finds, in US dollars.Recorded only where the document states a figure.
penaltyUsdREAL, nullableCivil 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.
disgorgementUsdREAL, nullableDisgorgement ordered, in nominal US dollars.As penaltyUsd. Combined disgorgement-plus-interest figures were often left null.
prejudgmentInterestUsdREAL, nullablePrejudgment interest ordered, in nominal US dollars.As penaltyUsd.
penaltyNativeAmountREAL, nullablePenalty 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.
penaltyNativeCurrencyTEXT, nullableThree-letter currency code for penaltyNativeAmount, such as AUD.As penaltyNativeAmount.
criminalParallelINTEGER 0/1Whether 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_stageTEXT, nullableFurthest 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_coversTEXT, nullableWhich defendants the outcome describes.Free text from the reviewer; the stage may not apply to every respondent.
criminalOutcome_courtTEXT, nullableCourt of the criminal case.From the cited document.
criminalOutcome_dateTEXT, nullableDate of the stated stage.From the cited document.
criminalOutcome_sentenceMonthsREAL, nullableCustodial sentence in months, where stated.From the cited document.
criminalOutcome_sourceUrlTEXT, nullableDocument the outcome is taken from.A source the reviewer opened.
criminalOutcome_checkedOnTEXT, nullableDate the outcome was checked.Set by the reviewer. In cases.json these six fields sit inside a criminalOutcome object.
sentenceMonthsREAL, nullableCustodial sentence in months recorded on the case.From the release or a linked document.
barsImposedTEXT, JSON arrayBars or suspensions imposed, such as an officer-and-director bar.From the order.
summaryTEXTShort plain-language account.Written for this site from the primary document, using allegation language for filed matters.
narrativenot in SQLiteLonger account.In cases.json only, to keep the database small.
sourceTypeTEXTus-government-work or other.Whether the source document is a US federal work, which carries no copyright.
ingestedAtTEXT, YYYY-MM-DDDate the record was first added.Set when collected.
reviewedINTEGER 0/1Whether the record was compared with its primary document.Done by AI agents following written instructions, not by lawyers. It is not a legal review.
reviewedOnTEXT, nullableDate of that check.Set by the reviewing run.

Tables in the SQLite file

TableContents
casesOne row per record. Columns as in the table above.
case_techniquesslug, technique. One row per technique tag on a record. Our classification, not the charges.
case_defendantsslug, position, name, type (individual or entity), personSlug. Respondents as the record names them.
case_documentsslug, position, label, url. Linked source documents.
case_timelineslug, position, date, event, url. Dated events from the record.
techniquesslug, title, family. The technique tags, with the family each belongs to.
readmekey, 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.

This page and the downloads are not legal or investment advice.