New York DOCCS Inmate Lookup Scraper avatar

New York DOCCS Inmate Lookup Scraper

Pricing

from $19.00 / 1,000 results

Go to Apify Store
New York DOCCS Inmate Lookup Scraper

New York DOCCS Inmate Lookup Scraper

Scrapes New York State DOCCS inmate records by DIN or name search. Returns each inmate as a flat row with custody status, facility, parole eligibility, and sentence details.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

Acquisition Automation Co.

Acquisition Automation Co.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Acquisition Automation Co. Search less. Close more.

๐Ÿ—ฝ New York DOCCS Inmate Lookup Scraper

Search the New York State inmate lookup by name or DIN and get the full custody record as a flat row. 31 fields per person: custody status, facility, offences and classes, aggregate sentence, county of commitment, every release and parole date the state publishes. No API key, no registration.

New York's Department of Corrections and Community Supervision runs a public lookup at nysdoccslookup.doccs.ny.gov. It answers one search at a time, spreads the record across several screens, and has no export. Anyone who checks more than a handful of names, a reporter on a beat, a reentry caseworker, a researcher, ends up retyping the same fields into a spreadsheet. This Actor drives that search and writes every matching record into a dataset.

Who uses itWhat they use the lookup for
๐Ÿ“ฐ Journalists and newsroomsFollowing custody status, facility moves and parole hearing dates across a list of names
โš–๏ธ Legal and reentry teamsTracking release and parole dates for the people on their caseload
๐Ÿ“Š Criminal justice researchersBuilding datasets on sentence length, offence class and county of commitment
๐Ÿ”Ž Diligence researchersChecking public criminal custody records against a named individual

๐Ÿ“‹ What it does

๐Ÿ’ก Why it matters: the state publishes six different dates per record, and they do not mean the same thing. Having them as separate columns is what makes a release calendar possible.

  • ๐Ÿ”Ž Two ways in. Search by last name, with optional first name, middle initial and date of birth, or go straight to a DIN.
  • ๐Ÿ› Custody status and facility on every row, for example IN CUSTODY at CAYUGA.
  • โš–๏ธ Every offence and its class, as parallel lists, so a three count sentence keeps all three.
  • ๐Ÿ“… The full date set. Earliest and latest release, conditional release, parole eligibility, maximum expiration, post release supervision expiry, parole hearing and board discharge.
  • ๐Ÿ†” Aliases and prior DINs, which is how the same person is matched across commitments.
  • ๐Ÿ“ฆ One row per record, the same 31 fields every run, exportable as CSV, Excel, JSON or XML.

๐Ÿ“Š Output

Every record is one flat row. null means the state publishes no value for that field on that record, and NONE is what the site itself shows where a date does not apply.

FieldTypeDescription
๐Ÿ†” dinstringDepartment Identification Number, the state's key for a commitment, for example 22R1495
๐Ÿ‘ค namestringName as recorded, surname first
๐ŸŽ‚ dateOfBirthstringDate of birth as MM/DD/YYYY
๐Ÿ“… agestringAge as the site states it, for example 31 years old
๐Ÿงพ racestringRace as recorded by the department
๐Ÿ› custodyStatusstringCurrent status, for example IN CUSTODY
๐Ÿข housingFacilitystringFacility holding the person, for example CAYUGA
โš–๏ธ crimearrayOffences of conviction, one entry each
๐Ÿ”ค crimeClassarrayOffence class letters, in the same order as crime
โณ aggregateMinSentencestringAggregate minimum, as Years, Months, Days
โŒ› aggregateMaxSentencestringAggregate maximum, as Years, Months, Days
๐Ÿ“ admissionTypestringHow the person entered custody, for example NEW COMMITMENT
๐Ÿ“ countyOfCommitmentstringCounty the commitment came from
๐Ÿ“ฅ dateReceivedstringDate received into custody
๐Ÿšช earliestReleaseDatestringEarliest release date the department publishes
๐Ÿท earliestReleaseTypestringWhich date type that earliest date is, for example MAXIMUM EXPIRATION DATE
๐Ÿšช latestReleaseDatestringLatest release date, where one is published
๐Ÿท latestReleaseTypestringWhich date type the latest date is
๐Ÿ“† conditionalReleaseDatestringConditional release date, or NONE
๐Ÿ—“ paroleEligibilityDatestringParole eligibility date, where one applies
โน maximumExpirationDatestringMaximum expiration of the sentence
๐Ÿ”š postReleaseSupervisionMaxExpirationDatestringMaximum expiration of post release supervision
๐Ÿง‘โ€โš–๏ธ paroleHearingDatestringNext parole hearing, usually as MM/YYYY
๐Ÿ“‹ paroleHearingTypestringType of that hearing, for example RELEASE CONDITIONS
โœ… paroleBoardDischargeDatestringParole board discharge date, where one is published
๐Ÿ” otherNamesarrayOther names on the record
๐Ÿ”ข otherDinsarrayOther DINs linked to the same person
๐Ÿ”— urlstringThe DOCCS lookup entry point. The site has no per record permalink
๐ŸŒ sourcestringAlways nysdoccslookup.doccs.ny.gov
๐Ÿ•’ scrapedAtstringISO timestamp of collection
โš ๏ธ errorstringnull on a normal row

Example rows

{
"din": "22R1495",
"name": "SMITH, AARON",
"dateOfBirth": "09/09/1995",
"age": "31 years old",
"race": "BLACK",
"custodyStatus": "IN CUSTODY",
"housingFacility": "CAYUGA",
"crime": [
"ATT CRIM POSS WEAP 2ND"
],
"crimeClass": [
"D"
],
"aggregateMinSentence": "0 Years, 0 Months, 0 Days",
"aggregateMaxSentence": "5 Years, 0 Months, 0 Days",
"admissionType": "NEW COMMITMENT",
"countyOfCommitment": "BRONX",
"dateReceived": "07/05/2022",
"earliestReleaseDate": "05/05/2027",
"earliestReleaseType": "MAXIMUM EXPIRATION DATE",
"latestReleaseDate": null,
"latestReleaseType": null,
"conditionalReleaseDate": "NONE",
"paroleEligibilityDate": null,
"maximumExpirationDate": "05/05/2027",
"postReleaseSupervisionMaxExpirationDate": null,
"paroleHearingDate": "06/2026",
"paroleHearingType": "RELEASE CONDITIONS",
"paroleBoardDischargeDate": null,
"otherNames": [
"SMITH, AARON"
],
"otherDins": [
"22R1495"
],
"url": "https://nysdoccslookup.doccs.ny.gov/",
"source": "nysdoccslookup.doccs.ny.gov",
"scrapedAt": "2026-09-14T16:27:50.382Z",
"error": null
}
{
"din": "26B1928",
"name": "SMITH, AARON",
"dateOfBirth": "01/09/1993",
"age": "33 years old",
"race": "BLACK",
"custodyStatus": "IN CUSTODY",
"housingFacility": "UPSTATE",
"crime": [
"ASSAULT 2ND",
"ASSAULT 2ND",
"MANSLAUGHTER 1ST"
],
"crimeClass": [
"D",
"D",
"B"
],
"aggregateMinSentence": "0 Years, 0 Months, 0 Days",
"aggregateMaxSentence": "17 Years, 0 Months, 0 Days",
"admissionType": "NEW COMMITMENT",
"countyOfCommitment": "BRONX",
"dateReceived": "06/18/2026",
"earliestReleaseDate": "01/27/2037",
"earliestReleaseType": "CONDITIONAL RELEASE DATE",
"latestReleaseDate": null,
"latestReleaseType": null,
"conditionalReleaseDate": "01/27/2037",
"paroleEligibilityDate": null,
"maximumExpirationDate": "07/03/2039",
"postReleaseSupervisionMaxExpirationDate": null,
"paroleHearingDate": "11/2036",
"paroleHearingType": "RELEASE CONDITIONS",
"paroleBoardDischargeDate": null,
"otherNames": [
"SMITH, AARON"
],
"otherDins": [
"26B1928"
],
"url": "https://nysdoccslookup.doccs.ny.gov/",
"source": "nysdoccslookup.doccs.ny.gov",
"scrapedAt": "2026-09-14T16:27:50.754Z",
"error": null
}

โœจ Why choose this Actor

What you get
The official recordRows come from the department's own lookup, not from a commercial records aggregator.
31 fields, already separatedSix kinds of release date as six columns, offences and classes as matched lists.
Bulk instead of one at a timeThe site answers one search per screen. Here you set a limit and walk away.
No credentialsThe lookup is public. No API key, no account.
You pay per rowA search that matches nobody costs nothing.

๐Ÿš€ How to use it

  1. Create a free Apify account. New accounts start with $5 of credit.
  2. Open the Actor and select Try for free.
  3. Enter a lastName, and narrow with firstName, middleInitial, dobMonth and dobYear if you have them. Or put a known DIN in din on its own.
  4. Set maxItems to cap the run.
  5. Select Start, then export from the Dataset tab as CSV, Excel, JSON or XML.

A name search:

{
"lastName": "Smith",
"maxItems": 10
}

A narrowed search:

{
"lastName": "Smith",
"firstName": "Aaron",
"dobYear": "1995",
"maxItems": 25
}

A direct lookup:

{
"din": "22R1495",
"maxItems": 1
}

โš™๏ธ Input

FieldRequiredDescription
lastNameNoLast name to search. Required when no din is given
firstNameNoFirst name, to narrow a common surname
middleInitialNoSingle letter
dinNoDepartment Identification Number, for example 23A1234. Used on its own, it goes straight to one record
dobMonthNoBirth month, 1 to 12
dobYearNoFour digit birth year
maxItemsNoMaximum records to collect in a run

๐Ÿ’ฐ Pricing

Pay per result. No subscription, and no Apify platform usage on top.

Apify planFreeBronzeSilverGoldPlatinumDiamond
Per record row$0.021$0.0203$0.0197$0.019$0.019$0.019
Rows collectedCost on the Free plan
100$2.10
1,000$21.00
10,000$210.00

Free plan runs return up to 10 rows as a preview. Any paid Apify plan lifts that cap.

๐Ÿ”Œ Integrate with any app

The dataset is available through the Apify API as soon as the run finishes. Use run-sync-get-dataset-items for a one-shot call, webhooks to trigger what happens next, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page.

๐Ÿค– Use with an AI agent

Give an agent live access to the lookup over the Model Context Protocol:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=acquistion-automation/new-york-doccs-inmate-scraper"

Then ask it in plain language to check a DIN and read the record back.

โ“ Frequently asked questions

Can I search by DIN alone? Yes. Put the DIN in din and leave the name fields empty. A DIN identifies one commitment, so the run returns that record.

Why did one name return several records? The lookup matches on surname. A common name returns many people, and one person can hold several DINs across commitments. Use firstName, dobYear and otherDins to resolve them.

Does url link to the individual record? No. DOCCS serves results from a session rather than a permanent address, so url is the lookup entry point and din is what identifies the record.

Why are some dates null or NONE? Not every date applies to every sentence. NONE is what the department's own page shows. null means the field was absent from that record.

Does it cover people released in the past? The lookup covers people currently in custody and under community supervision, as the department defines it. Coverage is the department's, not this Actor's.

Can I use this to screen employees or tenants? No. This is a public record lookup, not a consumer report, and it is not produced by a consumer reporting agency. Do not use it for employment, housing, credit or insurance decisions. Those uses are governed by the Fair Credit Reporting Act and equivalent state law.

๐Ÿ”— More from Acquisition Automation Co.

About Acquisition Automation Co.

We build automation for people buying businesses. The repetitive part of an acquisition search, checking listings, pulling public records, tracking owners and assets, is work a machine should do, so the buyer's time goes into judging deals instead of collecting them.

We add new Actors regularly. If there is a source you need and do not see here, tell us.

๐Ÿ†˜ Support

Open an issue in the Issues tab of this Actor with your run ID, the input you used, and what you expected to get back.

โš ๏ธ Disclaimer

This Actor is independent and is not affiliated with, endorsed by, or sponsored by the New York State Department of Corrections and Community Supervision or any government agency. It collects only publicly available data, and that data concerns identifiable individuals. It is not a consumer report and must not be used for employment, housing, credit, insurance or any other decision covered by the Fair Credit Reporting Act. Records can be incomplete or out of date; verify with the department before acting on one. You are responsible for using this data in compliance with the source's terms of service and applicable law, including data protection law.