Skip to content
Michael Lopez

Case study

Dallas County Eviction Data

The data workstream that gets eviction filings across four North Texas counties to the legal-aid and outreach teams reaching tenants facing displacement.

Housing & Eviction Public Records Partner Data Data for Outreach
Visit live

48K+

Dallas filings / year

4

counties covered

12+

partner orgs

Screenshot of Dallas County Eviction Data
01

Problem

Dallas County alone recorded roughly 48,000 eviction filings in 2025, among the highest counts in the country. Behind each filing is a household at risk of losing its home, often on a timeline of weeks. And the data describing those filings was effectively invisible to the people who most needed to see it: the tenants themselves, the legal aid organizations trying to reach them before a hearing, the journalists covering the housing crisis, and the researchers studying it.

The records existed. They sat in a county court system built for case management, not analysis or outreach. Field definitions changed without notice. Addresses came in inconsistent formats. There was no reliable way to turn a day's filings into a list of households to contact, map them onto neighborhoods, or read the trend across a year. A tenant facing eviction can't parse a court docket. An outreach worker can't wait a month for a clean export. The information that could help someone keep their home was locked in a shape only the court could use.

When CPAL made housing instability a focus area, the question wasn't how to build a database. It was how to get accurate, timely eviction data into the hands of people who could act on it, and to do that every single day.

02

Approach

The heart of this work isn't a database. It's a daily feed. Every weekday, the newest eviction filings go straight to legal aid and tenant-outreach organizations, who use them to contact filed-against tenants directly, offer legal advice, and connect people to assistance before a hearing. Everything upstream exists to make that hand-off fast, accurate, and dependable.

So I designed around the partner, not the data. The organizations doing outreach are the real users, and the whole workstream answers to their needs. Their intake systems run against our output, so the schema stays stable. Their analyses can't break mid-case, so releases are versioned. Their staff shouldn't have to rediscover the same court-data quirk twice, so the quirks are documented. And their outreach can't stall because an upstream job flaked overnight, so reliability comes first. Treating them as users instead of incidental recipients set the bar for every decision that followed.

Public record, private caution. Eviction filings are court records: technically public, ethically loaded. Each one carries a name and an address at one of the hardest moments in a person's life. So the workstream splits along a hard line. Record-level data, names and addresses and case detail, goes only to vetted partners with executed data-use agreements who need it to reach tenants. Anything public is aggregated to the census-tract level, with no defendant names. The public-facing arm of the workstream, North Texas Evictions, shows the shape of displacement across Dallas County without exposing any single household. Not every requester has the capacity to handle sensitive data carefully, and not every requester has good reasons for wanting it. The Princeton Eviction Lab's ethics framework shaped how I drew that line.

Underneath, the mechanics are ordinary and boring by design. The workstream ingests daily court feeds from four North Texas counties (Dallas, Tarrant, Collin, and Denton), cleans and geocodes the records to tracts and neighborhoods, enriches them with American Community Survey demographics for equity analysis, then publishes to partners and the public site. I built the first version in R in 2020 when I joined CPAL as an analyst. As it grew past what one person could maintain, I brought in our data engineering team to rebuild it on Databricks with Python and Workflows on AWS. The stack changed. The four stages, and the commitment to the people at the end of them, didn't.

The point was never the pipeline. It was getting a name and an address to someone who could knock on the door before the hearing.
03

Outcome

Every weekday, newly-filed eviction cases land with local legal aid and tenant-outreach organizations, including the Dallas Eviction Advocacy Center, who use them to contact filed-against tenants directly and offer support, legal advice, and a path to assistance programs. In 2025, partner organizations reached out to every one of the roughly 48,000 households with an eviction filing in Dallas County, and through CPAL's partnership with local eviction-advocacy organizations, about 800 tenants a year secure legal representation they would not otherwise have had.

The same daily feed powers the Princeton Eviction Lab's national eviction tracking and stands behind North Texas Evictions, where advocates, residents, and reporters can see displacement patterns across Dallas County without any household being exposed.

The most durable win is structural. 12+ organizations across legal aid, advocacy, government, journalism, and academic research now build on one shared source instead of each maintaining a brittle copy of the same court data. One workstream, maintained once, feeds all of them. That's the part that compounds year over year.

04

Reflection

Five years of running this workstream for a small nonprofit taught me a handful of things I'd do the same way again:

  • The people downstream are the design. The outreach worker with a hearing on Thursday is the real user, not the dataset. Once you build for her (fresh data, a shape she can act on, no surprises) every technical choice gets easier to make, because there's a person on the other end telling you what matters.
  • Sensitive public data needs a line you can defend. "It's a public record" is where the ethics conversation starts, not where it ends. Deciding what goes to vetted partners under an agreement versus what the whole internet can see, and being able to explain that line to a skeptical reporter or a nervous tenant, is as much of the work as the code.
  • Reliability is a feature. The first time a partner's intake breaks because a field changed shape, you learn why upstream stability isn't optional. When people are contacting tenants off your data every day, a quiet failure isn't a bug ticket. It's someone who didn't get reached. Versioning and clear notice beat heroics.
  • Architecture outlasts the stack. This started as R scripts on cron and now runs as Python on Databricks. The four stages, the partner-as-user mindset, and the schema commitments carried straight across the rewrite. The stack is going to change again. Designing for that keeps the next migration cheap.

Tech stack

Databricks (Python, Workflows)AWSSFTP feed (Dallas County courts)American Community SurveyMapbox GLR (original 2020 build)