GPS gathers the public record on Georgia’s prison system into one place and publishes it as data, so that any figure can be checked against its primary source and cited directly. A footnote can point at the data itself rather than at GPS prose.
Everything here is built the same way. A figure comes from a government document, an agency’s own published report, a statute, or a court record. The row carries the source it came from, usually with a verbatim quote and a retrievable URL, so you can go and read what we read. Where GPS had to interpret or extract something, the row says so and keeps the agency’s original wording alongside.
Read the caveats before you aggregate anything. Every download carries a meta block with the methodology, a per-field data dictionary, and explicit warnings, and every data page carries the same warnings in its header. They aren’t boilerplate: several raw columns deliberately differ from the citable headline figures, some counts are floors rather than totals, and the caveats record how each dataset is commonly misread. If a number here contradicts one you have seen elsewhere, the caveat usually explains why.
There are three ways in: downloadable files (JSON and CSV), live data pages on this site, and a public server your AI can query directly. New to this? Start with three short videos that show how.
Learn to research it yourself: three short videos
New to this? These three videos show how to research Georgia’s prison system with your own AI assistant, using GPS’s public data. The research sessions in videos two and three are real: the questions were written for the demonstration, and every answer is exactly what the AI returned, cut for length. Captions are built in. En español: los tres videos, con sesiones reales en español.
1. Research Georgia's prisons with your own AI: start here (3 min)
What GPS publishes, the two ways to bring it into your AI (one link, or the GPS connector), and a six-step method for using it carefully. Open the video file.
Read the narration
A real question, answered from public records, with the limits in view. The first of three short videos for anyone who wants to look into Georgia's prisons: families, advocates, reporters, researchers. It covers what GPS publishes, how to bring it into your AI, and how to use it carefully. The data comes from Georgia Prisoners' Speak, or GPS, which gathers the public record on the prison system into one place. Deaths in custody, facilities and inspections, parole, settlements, the law. Each is a dataset you can read, download, or ask an AI about. Every row is built the same way. It points back to a government document, usually with the exact words quoted and a link you can open. The caveats are not boilerplate. They record how each dataset is commonly misread. Deaths, for example, are counted as at least, never exactly, because the state reports them about two months late. There are two doors into this data. The first needs no setup: a link. GPS keeps a plain-text guide made for AI tools, called llms.txt. It says what the data is, where it lives, and how to read it carefully. Open a chatbot that can read a web page, paste this line, and finish it with your own question. It works in most of them. In Claude, switch on web search first. Long pages count against a free plan's limits. The second door is a connector: a public server your AI can ask directly. It is open and read-only, with no key. Every answer comes back with its source link, a ready-made citation, and that dataset's caveats. In Claude, open Customize, then Connectors, then the plus button, then Add custom connector, and paste the address. In ChatGPT, a custom connector needs a paid plan, on the web. Turn on developer mode under Settings, Security and login. Then add the address under Settings, Plugins, and choose no authentication. Menus change, and plans differ. If you can't add it, use the link. It reaches the same data. Whichever door you use, the method is the same. Six steps. One: get oriented. Ask the AI to read GPS's guide first, and to tell you how careful to be. Two: ask a specific question. Which prisons, which years, compared with what. Three: read the caveats. What does the number leave out? Four: cross-check a second source. Compare it with another dataset. Five: go to the primary source. Open the document the row points to. Six: write it up, with the limits stated. The next two videos follow real sessions: one with the connector, one with only the link. Start with one question you care about.
2. A real research session with the GPS connector (4½ min)
One real session, from a first question about deaths with no recorded cause to a paragraph you could send your state representative, including the moment the researcher checks the AI's reasoning and it corrects itself. Open the video file.
Read the narration
Careful research with the GPS connector: one real session, from a first question to a paragraph you could send your state representative. The second of three videos; the first shows how to connect. Questions written for this demonstration; answers exactly as returned, cut for length. Watch what the researcher does, and why. Each move is one you can copy. Step one: get oriented. The researcher has the AI read GPS's own guide first, and asks how careful to be. Open the tool row, and you see what came back, marked as GPS's canonical guidance. Now the answer. It warns that a blank in this data could mean four different things. And it offers a safer phrase for your own writing: no cause GPS could confirm. Notice the researcher took the AI's suggested next step, and then made it sharper. Step two: ask a specific question, with a comparison built in. Which prisons, and how does that compare with the whole system? Step three: read the caveats. The first line of the tool result calls the death total a floor, not a total. The Georgia Department of Corrections stopped releasing causes of death on request in March 2024, so GPS gathers them from other records. The answer gives a table, a share for each prison, and a system-wide figure to compare it against. Now the cautions. The spread may reflect GPS's sources as much as the prisons. And Unknown and Pending are counted as one category. It even flags a mismatch inside the data, where a few prisons have two different totals. And it admits it could not break the unknowns down by year, so it will not guess at a trend. Now the researcher spots the highest figure, and won't take it at face value. The follow-up asks how GPS defines the category, and what a second record shows about the same prison. That is step four, cross-check. The AI reads the How We Count page, the facility record, and GPS's briefing on the prison. Step five: go to the primary source. GPS's page names the Justice Department's findings report, dated October 1, 2024. Notice the honest gap: the page never defines Unknown and Pending. And now the AI offers an explanation for Coastal's number, a backlog of recent deaths. Hold on to that. The rest covers crowding and a kitchen inspection, each with its own caution. Skim it, and move on to the letter. Step six: write it up. The researcher asks for one paragraph, with sources and limits, and nothing that has not been checked. It reads well. At least. Unable to confirm. These are minimums. It even flags which point came secondhand. The paragraph also gives Coastal's figure, ninety-two of a hundred thirty-five, and leans on the recent deaths. But now the researcher stops, and checks the reasoning. Even if all twenty-five recent deaths had no cause, that could explain only twenty-five of ninety-two. So the researcher asks, and the AI goes back to the source: Coastal's full list of deaths. Then it says so plainly: the explanation does not hold up. It was wrong. It answers the first question too: twenty-two of the ninety-two unknowns are recent. The other seventy are not. Counted by year, there is a sharp break. In 2020 and 2021, two of thirty-six deaths lack a cause. Since January 2022, ninety of ninety-nine do. That is a stronger finding than the first one. And the AI says it is its own count, so anyone using it should check it. The revised paragraph states the break, not the backlog. Step seven: check the reasoning, not just the numbers. That is a full session: orient, ask, read the caveats, cross-check, go to the source, write it up, and check the reasoning as well as the numbers. Next, the same method with no setup at all, only a link.
3. No setup: research with one link (4 min)
A real session that starts from one link in the chatbot you already use and ends with a settlement figure you can cite, with its limits stated. Open the video file.
Read the narration
For anyone who doesn't want to set anything up: a real session that starts from one link, in the chatbot you already use, and ends with a figure you can cite, and its limits. The third of three videos. Questions written for this demonstration; answers exactly as returned, cut for length. First, get oriented, and ask how sure you can be. The researcher pastes the line from the first video, and puts the doubt into the question itself. The chatbot reads the guide, then follows it to the page that holds the number. Each read shows as a row. Now the answer. Look at how it separates what it knows from what it doesn't. Georgia has paid at least this much. You can't be sure it is the full amount. The key words are GPS's own: a floor, not a ceiling. Only claims already paid and disclosed are counted, and recent years read low. It also tells you who the source is, and what it did not do: it did not check the state's ledger itself. And it points you to the primary source: the state's own ledger, which the page says any Georgia resident can request. Next, a more specific question: which prisons and which years account for the most money, and are there outliers? And it uses a trick from the guide. Every gps.press page has a plain-text twin, the same page in a form a chatbot reads cleanly. Add .md to the end of the address. The chatbot fetches the twin. It also tries a second address, which doesn't exist, and goes with the one that does. The twin is simply the page address with .md added. Now the answer. The money is concentrated: a handful of prisons, a few peak years, and a few very large cases. Look at how it reads the outliers. One large case can drive a prison's whole total, so a high total does not necessarily mean more incidents. And it separates two patterns: one huge case, and many smaller claims over time. It also says what it cannot tell: whether the years mean when the harm happened, or when the state paid. That is a question for the page, so check it there. The chart is headed by year of incident. Next, ask the AI to check its own figures against the page. And compare with a second dataset: the deaths on GPS's mortality page. It rereads the settlements page, then reads the mortality page. First, the check. It says the totals match the page exactly. Useful, but not proof, so do one yourself. Open the page and find a row. Here it is: seven payouts, just under six million dollars. Now the comparison. Do the biggest payouts sit at the prisons with the most deaths? Mostly, no. And then the part that matters most: why this comparison can only go so far. The periods do not match. Not every settlement involves a death. Bigger prisons record more deaths. And both figures are minimums. Those four limits are what turn a number into a finding you can stand behind. It closes with a short summary of what settlement money can and cannot tell you. The last paragraph is the finding, stated with its limits. The last step is yours: write it up with the limits stated. For example, at least fifty point six million dollars, in 261 settlements and claim payouts. Say that it is a floor, not a ceiling, and name the source. That is the method, with nothing to install: orient, ask, read the caveats, cross-check, go to the source, and write it up. The addresses are on screen. Start with one question you care about.
Connect an AI directly: the GPS public MCP server
If you work with Claude, ChatGPT, or any other client that speaks the Model Context Protocol, you can point it at GPS and ask questions of the data without scraping anything:
https://data.gps.press/mcp
It is open, read-only, and needs no key or account. Twenty-two tools cover population and system statistics, facilities and their state health inspections, staff rosters, parole decisions, mortality, settlement payouts, length of stay, drug admissions, contraband incidents, yearly historical series back to 1925, the O.C.G.A. mirror, the published quote collection, and site search, plus tools that read any page on gps.press as clean Markdown and list the per-facility and per-issue intelligence briefings.
Every result comes back wrapped with its source URL, a citation line, and that dataset’s caveats, so an assistant using it carries the qualifications into whatever it writes. Ask it to call get_gps_guide() first: that returns GPS’s own orientation file, including the canonical figures and the claims GPS has publicly corrected.
The server exposes public data only. It holds no credentials and has no access to individual incarcerated-person records, confidential sources, case files, or submissions, and no such tool will be added.
Datasets you can download
Research GPS built itself, published as files. Machine index of this section: index.json.
Post-Conviction Procedure in All Fifty States
The full evidence table behind GPS’s fifty-state survey: 750 cells, fifteen questions asked of every state in three passes. The first seven cover procedure (time limits, counsel in a first post-conviction proceeding, where an ineffective-assistance claim must be raised, bars on successive petitions, how self-represented petitions are screened, venue, and whether the trial judge hears the challenge). Two more cover what a felony trial leaves behind on the record and whether any court weighs the evidence a second time. The last six cover appointed counsel for a person under sentence of death. Every cell terminates in a primary citation with a verbatim quote and a retrievable URL, and records whether it passed the quote re-fetch gate. 734 of 750 cells are verified; cells marked unverified are not citable.
JSON · CSV · Human-readable: the survey · the full record
State Habeas and Post-Conviction Limitations Periods
A deadline-specific pass across all fifty states that names the operative legal instrument before the number, because a limit on the writ of habeas corpus is not the same instrument as a post-conviction-act limit, and comparing them raw produces wrong rankings. Each state’s row carries both routes with authority, verbatim quote, and URL. The meta block reproduces the two citable headline figures with their caveats: eleven states impose no limitations period at all, and only four states run a period that cannot be excused. Do not re-derive those counts from the flag columns; the meta explains why naive column arithmetic over-counts.
Suicides in Georgia State Prisons: Source-Verified Claim Series
Twenty-three quote-checked claims tracing Georgia prison suicides from 2001 through the end of public reporting, built from the Bureau of Justice Statistics mortality collections and the UCLA Law Behind Bars Data Project, including the cross-validation between them (74 = 74 for 2015 to 2019, counted independently). Each record carries the verbatim quote, the published source, a retrievable URL, and re-check results. The meta block states the floor semantics plainly: no complete count of Georgia prison suicides exists after 2021. The federal collection closed, its successor doesn’t publish state figures, and Georgia stopped carrying cause of death in its public records in March 2024.
Live data on gps.press
These pages rebuild on a schedule from GPS’s working databases, so they move as the underlying record moves; each page states when it was generated. Every one of them has a plain-text twin: add .md to the URL (for example /mortality-data.md) to get it without any page furniture. Several also return JSON, noted below.
People in custody, and deaths
- /mortality-data/ : the GPS custodial-death registry in aggregate. Deaths in GDC custody since 2020 by year and by month, average age at death, manner and cause where it is known, and cause of death broken out by facility. Counts are floors, never totals: GDC reports deaths roughly two months late and stopped publishing cause of death in March 2024, so the per-facility share of deaths with no recorded cause is itself part of what the page shows. How we count.
- /statistics-data/ : the headline statistical reference for the system. Current population and demographics, mortality summary, parole and length-of-stay figures, and drug admissions, compiled from GDC’s own reports in one structured file.
- /los-data/ : how long people actually serve. Length of stay and parole data by offence, 6,085 records across 304 offence categories, from GDC’s Length of Stay annual report.
- /admissions-data/ : GDC’s own Profiles of Inmate Admissions and Releases, calendar-year and fiscal-year editions 2015 to 2026, reproduced as printed. 35,656 lines across 44 report editions, every line naming the GDC document it was read from. JSON: gps/v1/admissions-profile.
- /release-statistics-data/ : how people leave. Release type, time served, and offence breakdowns from GDC’s annual Profile of Inmates Released.
- /parole-statistics-data/ : parole decisions from the annual reports of the Georgia State Board of Pardons and Paroles, FY2001 to FY2025, page-indexed and quote-verified (24 reports; the Board doesn’t publish FY2015). Parole is decided by the Board, a separate agency from GDC, so GDC’s release statistics don’t cover Board decisions. JSON: api.gps.press/parole/annual, every value carrying its source report and page.
- /drug-data/ : admissions to Georgia prisons on drug offences, by drug type, from GDC’s Drug Admission Profile reports.
Facilities, capacity, and money
- /facilities-data/ : the facility directory: every GDC facility, with location, type, security level, operator, current population, GDC’s own stated capacity, and, for those where GPS has established it from the original architecture, design capacity. The two capacity figures are different things and the page keeps them apart.
- /capacity-utilization-data/ : GDC average daily population, operational capacity, and utilization by facility type, calendar-year and fiscal-year editions 2015 to 2026, 242 rows across 22 report editions with the source document on every row. Capacity here is operational capacity, never design capacity, and the on-hand figure is not the population figure. JSON: gps/v1/capacity-utilization.
- /budget-data/ : GDC appropriations from the Governor’s Budget Report. Nine programs across FY2014 to FY2027 with actual and approved amounts labelled as such, plus 152 budget change line items and the positions attached to them.
- /commissary-data/ : what people inside pay for food and basics. 517 commissary products from the vendor’s own catalogue, 438 of them carrying FY2025 pricing.
- /contraband-data/ : every contraband arrest report GDC has published on its own website, 2010 to the present, split into one row per incident: 599 reports, 1,615 incidents, 2,369 people, 5,250 items. GDC’s wording is kept verbatim and every row links to the GDC page it came from; 265 of the reports were recovered from the Internet Archive after GDC dropped them. GDC publishes no dispositions, so an arrest reported here is not a conviction. JSON: append
?format=json.
Over time
- /historical-data/ : Georgia’s prisons year by year from 1925: deaths by cause, homicides, suicides, assaults, use of force, parole releases and the share of people released on parole, time served, people serving life, population and capacity, from GDC and Board of Corrections annual reports, the Bureau of Justice Statistics, the Parole Board, the Justice Department, the AJC, UCLA and GPS’s own mortality registry, alongside the dates the parole and sentencing rules changed. Every figure keeps its source, page, the source’s own label and the exact quote. Each publisher is its own series, so figures are never spliced together, and a change of definition is marked where it happens. CSV for every series, and the REST API at
/wp-json/gps-historical/v1/.
Georgia law
- /ocga-data/ : the Official Code of Georgia Annotated, 29,828 sections, indexed by title. Every section also has its own page and Markdown twin, for example /ocga/9-14-42/ and /ocga/9-14-42.md.
- /rules-data/ : Georgia court rules in one file. 327 entries covering the Uniform Superior Court Rules, the Code of Judicial Conduct, and the Rules of Professional Conduct, with official comments. These are promulgated by the Supreme Court of Georgia and are not part of the O.C.G.A.; they must not be cited as Code sections.
- /sop-topics-data/ : what GDC’s own written policy says, organised by subject. Twenty-four cross-cutting topics (medical care, use of force, visitation, and the rest) built from the GDC Standard Operating Procedures corpus, each citing the specific SOPs and noting gaps and conflicts between them. Human-readable: the policy library.
GPS research and reporting
- /research-data/ : the GPS research library. Published collections of structured research (the page states the current count), from academic and government studies to agency document sets, each with its sources. JSON: append
?format=json. - /research-topics-data/ : synthesised topic pages drawing across those collections. 23 topics built from 639 collections and 53,018 datapoints, each aggregating findings on one issue area.
- /intelligence-data/ : the GPS intelligence wiki as structured data. Briefings on 118 facilities and 25 issues, 1,983 tracked events, and the settlements ledger of what Georgia has paid to resolve prison death and injury claims. JSON: gps-intel/v1/topics.
- /quotes-data/ : the GPS quote bank. 3,688 published quotes from incarcerated people, families, officials, and court records, categorised by subject. JSON: gps/v1/quotes.
- /articles-data/ : GPS’s own journalism in full text, 275 articles, with content type and sourcing recorded for each.
- /gps-news-data/ : a curated index of reporting on Georgia’s prison system by other outlets (the page states the current article and source counts). Index and attribution only; the articles belong to their publishers.
- /post-conviction-fifty-states-data/ : the fifty-state survey above as a readable page, every cell with its quote and citation, alongside the methodology and what could not be verified.
Using it
It’s all free to use for journalistic, research, and policy purposes with attribution to Georgia Prisoners’ Speak (gps.press). Where GPS is republishing an agency’s own document, cite the agency; the row will tell you which document and link to it.
Questions, corrections, or a dataset you need in a different shape: contact us. If you spot an error, tell us. Every figure here is built to be checked, and we would rather hear it from you than leave it standing.