Criminal Records API · v1.0.0

Normalized fields reference

Every outcome, severity, category, NCIC code, custody event and case class, with the source's own text served beside it.

Livehttps://api.offendersearch.appSandboxhttps://sandbox.offendersearch.app

Normalized criminal record fields beside the source’s words

Courts, jails and prisons describe the same facts in different words: “GUILTY”, “CONVICTED”, “Judgment and sentence”. Every record therefore carries a normalized object with one closed set of classes for category, severity, outcome, custody, person codes, places and dates. They are what search filters test.

The source’s own text is always served beside it. A normalized value is our classification; the published fact stays in the record’s own fields, unchanged. A value that cannot be decided from what was published is unknown or null, never a guess.
  • normalized is on every record, in search, batch and the record lookup. It is null when a record could not be classified.
  • rulesVersion names the version of the rules that produced the values, and quality is quarantined when a source’s normalized values are withheld (its own fields are unaffected).
  • include: ["normalizedDetail"] on a search adds rule to every charge: which rule decided its outcome.
  • normalized.cases[] and each case’s charges[] follow the order of the record’s own cases[] and charges[].
A record with its normalized object (abridged)
{
  "recordType": "court_case",
  "sex": "Male", "race": "White",
  "cases": [ { "caseNumber": "201944871", "status": "Disposed", "caseType": "Felony",
               "charges": [ { "statute": "PC 22.02", "description": "AGG ASSAULT W/DEADLY WEAPON",
                              "severity": "felony", "disposition": "GUILTY", "plea": "GUILTY" } ] } ],
  "normalized": {
    "rulesVersion": 1, "quality": "ok",
    "recordCategory": "court", "custodyStatus": "disposed",
    "sex": "M", "race": "W", "hair": null, "eyes": null,
    "residence": null,
    "jurisdiction": { "line1": null, "city": null, "county": "Harris", "countyFips": "48201",
                      "state": "TX", "zip5": null, "lat": null, "lng": null, "geoPrecision": "none" },
    "topSeverity": "felony", "hasConviction": true, "convictionCount": 1,
    "chargeCategories": ["assault"], "outcomes": ["convicted"],
    "latestOffenseDate": "2019-05-01", "latestDispositionDate": "2019-11-15",
    "latestFiledDate": "2019-05-03",
    "hasPhoto": false, "vacatedOrSealed": false,
    "cases": [ { "stage": "closed", "caseClass": "felony",
                 "charges": [ { "category": "assault", "notACharge": false,
                                "severity": "felony", "severityBasis": "published", "degree": null,
                                "outcome": "convicted", "convicted": true, "custodyEvent": null } ] } ]
  }
}
Normalized valueThe source’s words, on the same record
normalized.sex / racesex and race on the record, as published.
normalized.hair / eyesphysical on the record, as published.
normalized.custodyStatuscustodyStatus (the source's wording) and currentStatus on the record.
normalized.residenceaddress on the record.
charges[].severity / degreecases[].charges[].severity and statute on the record.
charges[].outcome / convictedcases[].charges[].disposition and plea on the record.
cases[].stage / caseClasscases[].status and caseType on the record.

Criminal charge outcome classes

outcome on each charge, and outcomes on the record (every class present). convicted is true only for convicted.

outcomeMeaningconvicted
convictedThe charge ended in a conviction: a guilty plea, a guilty finding or a sentence, as the source records it.true
pendingThe charge is open and not yet decided. A hearing or motion about vacating a conviction is also pending.null
dismissedThe court dismissed the charge.false
nolle_prosequiThe prosecutor dropped the charge.false
acquittedThe person was found not guilty.false
deferred_or_divertedDeferred adjudication, diversion or a similar program in which no conviction is entered.false
vacatedThe conviction was vacated, expunged, sealed, set aside or pardoned.false
warrantThe charge is tied to an outstanding warrant.null
transferredThe charge moved to another court or jurisdiction.null
closed_unspecifiedThe charge is closed, and the source does not say how.null
administrativeAn administrative entry, not a decision on the charge.null
unknownThe outcome cannot be decided from what the source published.null

Criminal charge severity and severityBasis

severity on each charge, and topSeverity (the highest) on the record. degree carries the source’s class or degree text, such as F3 or Class A, when stated.

severityMeaning
felonyA felony.
misdemeanorA misdemeanor.
infractionAn infraction or violation below a misdemeanor.
unknownThe severity cannot be decided from what was published. Never read it as minor.

severityBasis says what decided it, and is null when the severity is unknown. Filter with "severityBasis": ["published"] (together with severity) to trust only the source’s own label.

severityBasisDecided by
publishedThe source states the severity itself.
statute_codeA class code in the statute or charge (for example F3 or M1).
statute_tableAn official table of the state's statutes.
case_typeThe type of case the charge was filed under.
charge_textWords in the published charge description.

Criminal record and charge categories

recordCategory is the kind of record.

recordCategoryMeaning
courtA court case.
jailA jail booking.
prisonA state or federal prison record.
warrantA warrant or a wanted-person notice.
registryAn offender registry entry.
exclusionA government health-program or federal award exclusion.
otherAny other kind of record.

category on each charge says what it is about, and chargeCategories on the record lists every one present. notACharge: true marks text in a charge slot that is not an offense, such as a custody, supervision or caption entry.

categoryMeaning
homicideHomicide and manslaughter.
sex_offenseSex offenses.
robberyRobbery.
domestic_violenceDomestic violence, including protective-order violations.
assaultAssault, battery and threats.
weaponsWeapons offenses.
burglaryBurglary and breaking and entering.
theftTheft, larceny and stolen property.
fraudFraud, forgery and identity theft.
drug_distributionDrug manufacture, delivery and trafficking.
drug_possessionDrug possession.
duiDUI and DWI.
trafficTraffic offenses other than DUI.
public_orderPublic order, trespass and property damage.
supervisionProbation and parole violations and failure to appear.
otherOther or unclear.

Criminal custody status and custody events

custodyStatus is the person’s status on the record.

custodyStatusMeaning
in_custodyIn jail or prison now.
releasedReleased.
on_paroleOn parole.
on_probationOn probation.
active_warrantAn active warrant is out.
wantedWanted.
registeredOn an offender registry.
disposedThe matter is disposed.
absconderAbsconded from supervision.
deceasedDeceased.
excludedOn a health-program or federal award exclusion list.
unknownNot known.

custodyEvent is a jail event listed against one charge. It is not a court outcome; the court outcome is outcome.

custodyEventMeaning
bookedThe person was booked on the charge.
releasedThe person was released on the charge.
bondedBond was posted on the charge.
heldThe person is held on the charge.
transferredThe person was transferred on the charge.
nullNo jail event is listed against the charge.

Criminal case stages and case classes

stageMeaning
openThe case is open.
closedThe case is closed.
warrantThe case has an outstanding warrant.
unknownThe stage cannot be decided.
caseClassMeaning
felonyA felony case.
misdemeanorA misdemeanor case.
trafficA traffic case.
infractionAn infraction case.
civilA civil case.
unknownThe class cannot be decided.

NCIC person codes on criminal records

sex, race, hair and eyes use the codes police systems use (NCIC). Each is null when the source publishes nothing, and the published words stay in the record’s own sex, race and physical.

sexMeaning
MMale
FFemale
XAnother marker the source publishes
UUnknown
raceMeaning
WWhite
BBlack
IAmerican Indian or Alaska Native
AAsian or Pacific Islander
HHispanic, only where the source publishes it as a race
UUnknown
hairMeaning
BLKBlack
BROBrown
BLNBlond
REDRed
GRYGray
WHIWhite
SDYSandy
BLDBald
XXXUnknown
eyesMeaning
BLKBlack
BLUBlue
BROBrown
GRNGreen
GRYGray
HAZHazel
MARMaroon
PNKPink
MULMulticolored
XXXUnknown

Vacated and sealed criminal records: vacatedOrSealed

vacatedOrSealed is true when the source marks the record or a charge vacated, expunged or sealed. Such a record is marked and always returned; a vacated charge has the outcome vacated and convicted: false. A search leaves it out only when it sends excludeVacatedOrSealed: true.

The record also carries hasConviction, convictionCount, hasPhoto and its latest offense, filing and disposition dates, which the date filters and lookbackYears test.

The Normalized object — normalized criminal record fields

A record's normalized classes. Every value is our classification of a published fact; the fact itself stays in the record's own fields beside it. A value that cannot be decided from what was published is unknown or null, never a guess.

Returned or accepted by POST /v1/criminal/search, GET /v1/criminal/searches/{searchId}, POST /v1/criminal/batch, GET /v1/criminal/records/{recordId}.

FieldTypeDescription
rulesVersion
integerVersion of the classification rules that produced these values.
Example 1
quality
string
one of "ok", "quarantined"
quarantined when this source's normalized values are withheld; the record's own fields are unaffected.
recordCategory
string
one of "court", "jail", "prison", "warrant", "registry", "exclusion", "other"
The kind of record.
custodyStatus
string
one of "in_custody", "released", "on_parole", "on_probation", "active_warrant", "wanted", "registered", "disposed", "absconder", "deceased", "excluded", "unknown"
The person's custody status on this record.
sex
string or null
one of "M", "F", "X", "U"
NCIC sex code. null when the source publishes none; its own text stays in sex.
race
string or null
one of "W", "B", "I", "A", "H", "U"
NCIC race code. H only where the source publishes Hispanic as a race. Its own text stays in race.
hair
string or null
one of "BLK", "BRO", "BLN", "RED", "GRY", "WHI", "SDY", "BLD", "XXX"
NCIC hair-color code.
eyes
string or null
one of "BLK", "BLU", "BRO", "GRN", "GRY", "HAZ", "MAR", "PNK", "MUL", "XXX"
NCIC eye-color code.
residence
NormalizedPlace or nullWhere the person lives, from the published address. null when none is published.
jurisdiction
NormalizedPlaceWhere the record is: the state and county of the court, jail or agency.
topSeverity
string
one of "felony", "misdemeanor", "infraction", "unknown"
The highest severity of any charge on the record.
hasConviction
booleantrue when any charge's outcome is convicted.
convictionCount
integerCharges whose outcome is convicted.
chargeCategories
array of string
one of "supervision", "homicide", "sex_offense", "robbery", "domestic_violence", "dui", "assault", "weapons", "burglary", "fraud", "theft", "drug_distribution", "drug_possession", "traffic", "public_order", "other"
Every charge category on the record.
outcomes
array of string
one of "convicted", "pending", "dismissed", "nolle_prosequi", "acquitted", "deferred_or_diverted", "vacated", "warrant", "transferred", "closed_unspecified", "administrative", "unknown"
Every outcome class on the record.
latestOffenseDate
string (date) or nullThe latest offense date on the record.
latestDispositionDate
string (date) or nullThe latest disposition date on the record.
latestFiledDate
string (date) or nullThe latest filing date on the record.
hasPhoto
booleantrue when the record has a published photograph.
vacatedOrSealed
booleantrue when the source marks the record or a charge vacated, expunged or sealed. Such records are returned, marked, unless the search sends excludeVacatedOrSealed: true.
cases
array of NormalizedCaseOne entry per case, in the order of the record's cases[].

The NormalizedPlace object — residence and jurisdiction

A place, normalized. Every text key is null when not known.

Returned or accepted by POST /v1/criminal/search, GET /v1/criminal/searches/{searchId}, POST /v1/criminal/batch, GET /v1/criminal/records/{recordId}.

FieldTypeDescription
line1
string or nullStreet line.
Example "16966 NORTHCHASE DR APT 313"
city
string or nullCity.
Example "HOUSTON"
county
string or nullCounty.
Example "Harris"
countyFips
string or nullFive-digit county FIPS code.
Example "48201"
state
string or nullTwo-letter state code.
Example "TX"
zip5
string or nullFive-digit ZIP.
Example "77060"
lat
number or nullLatitude.
lng
number or nullLongitude.
geoPrecision
string
one of "rooftop", "street", "zip", "none"
How precise lat/lng are; none when there are no coordinates.

The NormalizedCase object — case stage and class

One case, normalized, in the order of the record's cases[].

Returned or accepted by POST /v1/criminal/search, GET /v1/criminal/searches/{searchId}, POST /v1/criminal/batch, GET /v1/criminal/records/{recordId}.

FieldTypeDescription
stage
string
one of "open", "closed", "warrant", "unknown"
Where the case stands.
caseClass
string
one of "felony", "misdemeanor", "traffic", "infraction", "civil", "unknown"
The class of case.
charges
array of NormalizedChargeOne entry per charge, in the order of the case's charges[].

The NormalizedCharge object — charge severity and outcome

One charge, normalized. The published statute, description, severity and disposition stay on the case's own charges[].

Returned or accepted by POST /v1/criminal/search, GET /v1/criminal/searches/{searchId}, POST /v1/criminal/batch, GET /v1/criminal/records/{recordId}.

FieldTypeDescription
category
string
one of "supervision", "homicide", "sex_offense", "robbery", "domestic_violence", "dui", "assault", "weapons", "burglary", "fraud", "theft", "drug_distribution", "drug_possession", "traffic", "public_order", "other"
What the charge is about. other when no category fits.
notACharge
booleantrue when the text in the charge slot is not an offense (a custody, supervision or caption entry).
severity
string
one of "felony", "misdemeanor", "infraction", "unknown"
Felony, misdemeanor or infraction; unknown when it cannot be decided.
severityBasis
string or null
one of "published", "statute_code", "statute_table", "case_type", "charge_text"
What decided severity. null when severity is unknown.
degree
string or nullThe source's class or degree text (F3, Class A), when stated.
Example "Class A"
outcome
string
one of "convicted", "pending", "dismissed", "nolle_prosequi", "acquitted", "deferred_or_diverted", "vacated", "warrant", "transferred", "closed_unspecified", "administrative", "unknown"
The outcome class.
convicted
boolean or nulltrue for convicted; false for acquitted, dismissed, nolle_prosequi, deferred_or_diverted and vacated; null otherwise.
custodyEvent
string or null
one of "booked", "released", "bonded", "held", "transferred"
A jail event listed against the charge (not a court outcome). null when none.
rule
stringOnly with include: ["normalizedDetail"]. Which rule decided outcome, for audits.

Product overview