Every city in the country keeps a record of code violations. When a property has broken windows, exposed wiring, an overgrown lot, or a structure the city has declared unsafe, code enforcement writes it down. That record is public. Most people never think about it.

Investors should. A code violation is one of the earliest public signals that a property, and the person who owns it, is under some kind of pressure. I pull this data across the Puget Sound every morning for my own deal sourcing: right now that's 83,788 violations on 46,778 properties across Seattle, Tacoma, Bellevue, Burien, Shoreline, Mountlake Terrace, and unincorporated Pierce County. This guide is everything I've learned reading it, whether you ever use my tool or not.

So what are code violations, exactly? A building code violation is a recorded failure to meet the construction or structural standards a city sets: electrical hazards, unpermitted work, fire safety problems, structural damage. A housing code violation covers habitability: plumbing failures, no heat, mold, pest infestations, trash accumulation. In practice cities lump both under "code enforcement," and one property can carry both. The label matters less than what they share: every open violation says something is wrong with a property, and often that the owner can't or won't fix it.

That's a distress signal. Distress signals are how off-market investors find deals before the rest of the market does, and code violations are the strongest one in the set. If you want the plain-English version first, start with what code violations are and why investors track them. Otherwise, let's get into it.

Map of Seattle showing properties color-coded by distress score, with high-distress concentrations visible in specific neighborhoods
The Seattle view in FlaggedLeads: each marker is a property with open code violations, color-coded by distress score. Reds and oranges cluster where motivated sellers are most likely to be.

Which violation types actually signal a seller

This is where most investors go wrong. They treat "has a code violation" as one bucket. It isn't. The type is a clue about what kind of owner is on the other end, and the counts are not what you'd guess. Here's the split I use, and the full breakdown is in code violation types that signal a motivated seller.

The strong signals

Vacant building violations. A vacant-building order means the city has decided nobody is living in or maintaining the property. The owner is gone, the building is deteriorating, and the city is escalating. Across our markets there are more than 1,600 of these, several hundred of them stacked with an emergency order. These are the leads I read first.

FlaggedLeads detail panel for a Seattle vacant building case with distress score 9.0, out-of-state owner mailing address, and five open violations across Land Use, Emergency, and Construction categories
A real lead from the dashboard: a high distress score, an owner mailing address in another city, and open violations stacking across categories. This is what a high-signal vacant building case looks like.

Emergency and structural violations. When a description includes "structural failure," "fire hazard," "sewage," or "mold," the property has serious problems, the repair bill is high, and the owner is under real pressure. We track around 2,400 of these.

Land use violations. Illegal conversions, unpermitted units, occupancy problems. Often an owner who tried to squeeze extra income out of a property and got caught, now facing fines and remediation. It's the second-largest distress category we see, at 7,504 cases, and the most underrated.

Multiple violations on one property. A single citation can be a paperwork issue. Six open cases across three years is a pattern. In our data, 16,221 properties (about 35%) carry two or more violations, and 1,656 carry six or more. Volume beats any single case. An owner who keeps accumulating violations is an owner who can't keep up.

The weak and negative signals

Construction violations. Here's the one that fools everyone: construction tops the list of the most common code violations in our entire dataset, at 8,632 cases, more than any other category. And it's usually a negative signal. A work-without-permit or lapsed-permit citation typically means the owner is actively improving the property, a remodel or addition in progress. That's the opposite of distress. I weight it near zero. The only exception is a clearly stalled project, which you can spot by the dates.

Noise complaints. Tenant behavior, not property condition. Almost no distress signal.

Old, resolved cases. A violation opened three years ago and closed six months later tells you nothing about today. Closed cases are historical context, not a current signal. Roughly 66,000 of our 83,788 cases are closed; the working list is the ~17,700 that are still open.

How a violation becomes a lien, and why the stage matters

The violation type tells you what's physically wrong. The enforcement stage tells you how much the owner is feeling it, and that's often the bigger tell. Code enforcement is a ladder, and every rung raises the cost of doing nothing:

  1. A complaint comes in, usually from a neighbor or a tenant.
  2. An inspector confirms it.
  3. The city issues a Notice of Violation with a compliance deadline, typically 30 to 60 days.
  4. The deadline passes. This is the rung that matters most.
  5. Penalties accrue. In Seattle that runs up to $500 a day per violation, higher for some types.
  6. The city escalates: collections, a referral to the law department, or the city fixing the problem itself and billing the owner.
  7. A lien attaches to the property, at the same rank as unpaid property taxes.

An owner inside the compliance window still has time and isn't feeling much. An owner who blew the deadline six months ago and is watching fines stack toward a lien is exactly who you want to reach. I broke the whole ladder down in what code enforcement violations mean for a property. The short version: a violation plus a late stage equals a hotter lead.

Why code violations beat the usual lead sources

If you wholesale or buy off-market, your whole business is finding motivated sellers first. The standard playbook is driving for dollars, tax lists, or paying a few hundred a month for a foreclosure feed. Code violations give you something those don't:

They're a leading indicator. A house rarely goes from fine to foreclosed overnight. It slides: deferred maintenance, a complaint, a violation, fines, a lien, then default and foreclosure. The violation shows up near the front of that slide. A pre-foreclosure filing shows up near the end, which is exactly why everyone chasing it is late.

They're fresh. Roughly 17,600 new violations land across our markets in a typical year, new cases every week. Tax lists update annually. This is the freshest public distress data there is.

They're free at the source, and nobody mines them. Cities publish this, but the data is fragmented across separate portals in different formats, and roughly 48,000 of our cases carry no type field at all. That friction is why most investors skip it. The friction is your edge. It keeps code violation leads far less worked than the absentee and pre-foreclosure lists everyone else is hammering.

They stack. One violation is noise. A violation plus a 311 complaint plus a fire incident on the same address is a pattern. More on that below.

Where to get the data

Code violations are public records almost everywhere. Three ways to pull them, and the full walkthrough is in how to look up code violations on any property.

City open data portals. The cleanest option when it exists. Seattle publishes code cases on its open data portal; cities like Chicago, Philadelphia, Los Angeles, and New York run similar systems. Every city structures the data differently, though, so pulling it is easy and normalizing it across cities is the real work.

Public records requests. When a city has no usable portal, request the records under your state's public records law. Code cases are one of several public records that describe a property; the records-request path works on all of them. This is how you get past the department that swears it "doesn't keep a list." It has to release the records regardless.

An aggregation tool. This is what I built FlaggedLeads to do: ingest the data daily, normalize the fields, score each property, and map it. The free map covers our live markets, and you can browse violation data by neighborhood for Seattle, Bellevue, Tacoma, Burien, and Pierce County. We currently cover the Puget Sound; the pattern is national, so the same approach works in any city with open data.

How I score a property

Raw violation data is a list. What you want is a ranking. Here's the framework behind the distress score.

FlaggedLeads property scoring breakdown showing distress score components: absentee owner, code violation count, recent activity, severe description, severe type, violation volume
The score chip and the signals that feed it. Type weight and volume do the heaviest lifting; recency and owner status add the margin.

Volume, with diminishing returns. More violations means a higher score, but ten isn't ten times worse than one. Three or four open cases already shows a pattern.

Type weighting. Not all types carry equal weight:

Violation type Distress signal Why
Vacant building Very strong Owner absent, city escalating
Emergency / structural Strong Expensive to fix, safety risk
Land use Strong Owner under regulatory pressure
Weeds / maintenance Moderate Visible neglect
Landlord / tenant Moderate Management problems
Construction Weak, often negative Owner may be improving the property
Noise Very weak Tenant behavior, not condition

Recency, without throwing out history. A violation opened last month matters more than one from two years ago, but a property with violations spanning five years has a chronic problem. Old and new together is worse than either alone.

Stacked signals. This is where the score gets its real power, so it gets its own section.

Stacking signals: the real edge

One signal is a guess. The pattern that actually predicts a motivated seller is convergence, when independent public records point at the same address. A vacant-building violation is one thing. That same property showing up in the 311 data and the fire-incident data is a house screaming for an exit.

Here's how often each signal shows up in the data: of the scored leads in our database, about a third carry a second public record on top of the violation. At the address level, more than 4,700 violation properties also appear in 311 complaints, over 1,200 in building permits, and around 550 in fire incidents. Each layer narrows the list and sharpens the signal. That's the whole idea behind signal stacking, and it's why the violation type is the starting point, not the finish line.

The hard part is the cross-referencing, matching addresses across databases that each format them differently. That work is exactly what most investors won't do, which is exactly why the ones who do find deals the rest miss.

Code violations vs. your other lead sources

Method Data freshness Signal strength
Code violations Daily updates Strong, especially stacked
Driving for dollars Real-time (your eyes) Strong but doesn't scale
Tax delinquency lists Annual Moderate
Pre-foreclosure filings Monthly Strong but late
PropStream / BatchLeads Varies Moderate

Code violations won't replace your whole stack. They add a layer almost nobody else is using. The investors who combine violation data with absentee lists, tax data, and driving-for-dollars routes are working with information the rest of the market doesn't have. If you're deciding where they fit, the full playbook for finding distressed properties puts all the sources side by side.

Frequently asked questions

Are code violations public record?

Yes. Building and housing code violations are public records in the United States, available through online databases, open data portals, or public records requests. You don't need a license or permission to access them. For the full legal breakdown, see are code violations public record.

What are the most common code violations?

In our seven-market data the most common typed categories are Construction (8,632 cases), Land Use (7,504), Landlord/Tenant (3,819), Weeds (3,256), and Emergency (2,399). Construction leads by a wide margin, which is a useful reminder that the most common type is not the best lead. The full ranking is in the most common code violations.

Can I use code violations to find motivated sellers?

Yes. Open violations, especially vacant-building and emergency orders or multiple violations on one property, indicate distress, and distressed owners are more likely to sell. Violations don't guarantee motivation, but they raise the odds well above cold outreach. Here's how to find and work code violation leads.

How long do code violations stay on record?

It varies by city. In Seattle, records stay in the database indefinitely, marked open or closed. Open violations are the primary signal for investors; closed ones give historical context.

What's the difference between a building code violation and a housing code violation?

Building code violations relate to construction and structure: electrical, fire safety, structural integrity, permits. Housing code violations cover habitability: plumbing, heating, pest control, sanitation. For an investor the practical difference matters less than the severity and volume of violations on a given property.

Do code violations affect property value?

Open violations can lower value, since they represent deferred maintenance and repair costs. For an investor that gap between the distressed value and the after-repair value is where the deal lives. Properties with significant open violations often trade below comparable properties without them.