New York DOCCS Inmate Lookup Scraper
Pricing
from $19.00 / 1,000 results
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.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Share

๐ฝ 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 it | What they use the lookup for |
|---|---|
| ๐ฐ Journalists and newsrooms | Following custody status, facility moves and parole hearing dates across a list of names |
| โ๏ธ Legal and reentry teams | Tracking release and parole dates for the people on their caseload |
| ๐ Criminal justice researchers | Building datasets on sentence length, offence class and county of commitment |
| ๐ Diligence researchers | Checking 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 CUSTODYatCAYUGA. - โ๏ธ 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.
| Field | Type | Description |
|---|---|---|
๐ din | string | Department Identification Number, the state's key for a commitment, for example 22R1495 |
๐ค name | string | Name as recorded, surname first |
๐ dateOfBirth | string | Date of birth as MM/DD/YYYY |
๐
age | string | Age as the site states it, for example 31 years old |
๐งพ race | string | Race as recorded by the department |
๐ custodyStatus | string | Current status, for example IN CUSTODY |
๐ข housingFacility | string | Facility holding the person, for example CAYUGA |
โ๏ธ crime | array | Offences of conviction, one entry each |
๐ค crimeClass | array | Offence class letters, in the same order as crime |
โณ aggregateMinSentence | string | Aggregate minimum, as Years, Months, Days |
โ aggregateMaxSentence | string | Aggregate maximum, as Years, Months, Days |
๐ admissionType | string | How the person entered custody, for example NEW COMMITMENT |
๐ countyOfCommitment | string | County the commitment came from |
๐ฅ dateReceived | string | Date received into custody |
๐ช earliestReleaseDate | string | Earliest release date the department publishes |
๐ท earliestReleaseType | string | Which date type that earliest date is, for example MAXIMUM EXPIRATION DATE |
๐ช latestReleaseDate | string | Latest release date, where one is published |
๐ท latestReleaseType | string | Which date type the latest date is |
๐ conditionalReleaseDate | string | Conditional release date, or NONE |
๐ paroleEligibilityDate | string | Parole eligibility date, where one applies |
โน maximumExpirationDate | string | Maximum expiration of the sentence |
๐ postReleaseSupervisionMaxExpirationDate | string | Maximum expiration of post release supervision |
๐งโโ๏ธ paroleHearingDate | string | Next parole hearing, usually as MM/YYYY |
๐ paroleHearingType | string | Type of that hearing, for example RELEASE CONDITIONS |
โ
paroleBoardDischargeDate | string | Parole board discharge date, where one is published |
๐ otherNames | array | Other names on the record |
๐ข otherDins | array | Other DINs linked to the same person |
๐ url | string | The DOCCS lookup entry point. The site has no per record permalink |
๐ source | string | Always nysdoccslookup.doccs.ny.gov |
๐ scrapedAt | string | ISO timestamp of collection |
โ ๏ธ error | string | null 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 record | Rows come from the department's own lookup, not from a commercial records aggregator. |
| 31 fields, already separated | Six kinds of release date as six columns, offences and classes as matched lists. |
| Bulk instead of one at a time | The site answers one search per screen. Here you set a limit and walk away. |
| No credentials | The lookup is public. No API key, no account. |
| You pay per row | A search that matches nobody costs nothing. |
๐ How to use it
- Create a free Apify account. New accounts start with $5 of credit.
- Open the Actor and select Try for free.
- Enter a
lastName, and narrow withfirstName,middleInitial,dobMonthanddobYearif you have them. Or put a known DIN indinon its own. - Set
maxItemsto cap the run. - 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
| Field | Required | Description |
|---|---|---|
lastName | No | Last name to search. Required when no din is given |
firstName | No | First name, to narrow a common surname |
middleInitial | No | Single letter |
din | No | Department Identification Number, for example 23A1234. Used on its own, it goes straight to one record |
dobMonth | No | Birth month, 1 to 12 |
dobYear | No | Four digit birth year |
maxItems | No | Maximum records to collect in a run |
๐ฐ Pricing
Pay per result. No subscription, and no Apify platform usage on top.
| Apify plan | Free | Bronze | Silver | Gold | Platinum | Diamond |
|---|---|---|---|---|---|---|
| Per record row | $0.021 | $0.0203 | $0.0197 | $0.019 | $0.019 | $0.019 |
| Rows collected | Cost 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.
- SAM.gov Contract Opportunities Scraper
- USCG PSIX Vessel Registry Scraper
- IRS Exempt Organizations Scraper
- PublicSurplus Scraper
- 404 Media Articles Scraper
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.