Skip to content
Lessia’s List

The method

How the vetting works

Listing sites tell you what an apartment looks like. They don’t tell you that the building has 72 open hazardous violations, failed its last four rodent inspections, or that the owner never registered it. New York publishes all of that, and we check it for every apartment before you ever see it.

Per building

The checks

  • wvxf-dwi5

    Open housing-code violations

    Every open HPD violation on the building, split by hazard class. Class C is immediately hazardous — no heat, lead paint, active infestation — and is weighted heavily against the number of units in the building, so a big building isn't unfairly penalised for a handful.

  • ygpa-z7cr

    Tenant complaints

    Complaints tenants actually filed, over the last 12 months, with heat and hot water counted separately. It's the single most common serious complaint in New York and the clearest signal of an inattentive landlord.

  • p937-wjvj

    Rodent inspections

    Results of city rodent inspections at the address over 24 months, separating inspections that found active rat signs from routine passes. Alongside them we count HPD infestation violations — written under Housing Maintenance Code § 27-2017.4, which names the pest, so roaches, rodents and bedbugs are counted separately rather than lumped together.

  • wz6d-d3jb

    Bedbugs

    New York requires landlords to file an annual bedbug report. We read the most recent filing for the building, including re-infested units.

  • erm2-nwe9

    Noise

    311 noise complaints for the building over 12 and 24 months, split into neighbour noise, street noise and construction, plus every noise complaint within 150 metres — a quiet building on a loud corner is still loud. Construction is read from the complaint's descriptor rather than its type, because 311 files it under a generic “Noise” category that also holds alarms and air-conditioning units.

  • 3h2n-5cm9

    Building-code violations and vacate orders

    Open DOB and ECB violations, and any active vacate order. A vacate order is disqualifying on its own.

  • 59kj-x8nc

    Tenants taking the landlord to court

    HPD litigation opened against the building in the last 24 months — heat cases, access warrants, tenant actions, and separately the cases the city classifies as harassment, which are brought when tenants allege the owner is trying to force them out.

  • 6z8x-wfk4

    Evictions

    Marshal evictions executed at the building in the last 24 months, measured against the unit count.

  • tesw-yqqr

    Is the owner even registered?

    Owners of buildings with three or more units must register with HPD every year. No current registration often means an absentee or non-compliant owner — and it's a hard problem to discover any other way.

  • 64uk-42ks

    Square footage

    When a posting doesn't state a size, we estimate it from the building's residential floor area and unit count in the city's tax-lot records, scaled to the bedroom count. Estimates are always labelled as estimates.

Per block

And the neighborhood

Separately from the building, we profile the streets around it and list what’s good and what to know:

  • Transit

    Every MTA subway station within a 10-minute walk, which lines it serves, and how far the nearest one actually is.

  • Food and eating out

    Licensed food stores within a 10-minute walk, and restaurants within five.

  • Green space

    Parkland within a 10-minute walk, ignoring traffic triangles and street medians so the number means something.

  • Reported crime

    NYPD complaints within 500 metres over 12 months, split into violent and property offences — a busy commercial block records far more theft than a quiet residential one, and conflating the two is misleading.

What we deliberately don’t do is reduce a neighborhood to a single score. Transit access, amenity density and reported crime all track closely with the income and racial makeup of a block, and compressing them into one grade turns a search tool into a steering tool. You get the numbers, the distances they’re measured over, and your own judgement — and no apartment is ever hidden from you because of the area it’s in.

On the map

Seeing where it actually is

Every listing is pinned on a map of its block, and you can switch the whole search to a map view to see how the prices sit across a neighborhood. The map links straight out to Google Maps, Street View and transit directions — Street View in particular tells you things a listing photo never will, like what the block actually looks like at street level. Those links are built from the building’s coordinates in the city’s address database rather than from the text of the address, so the pin lands on the real building.

Per listing

Is it a scam?

Separately from the building, we score the posting itself. The strongest single signal is a price far below what comparable units nearby actually rent for — that’s the bait in most rental scams, so we treat a suspiciously low rent as a warning rather than a bargain. We also look for the language patterns the FTC and NYC consumer-protection advisories describe: requests to wire money, keys promised in the mail, a landlord who’s conveniently overseas, deposits demanded before a viewing. Photos and copy reused across several postings count against a listing too.

An address that doesn’t resolve to a real NYC tax lot is treated as a serious problem, both because it can’t be checked and because it’s a common shape for a fake listing.

Per price

Is it a good deal?

Each rent is placed in the distribution of comparable listings — same bedroom count, same neighborhood — and scored on where it falls. When we know square footage for both the unit and its comps, price per square foot is blended in, so more space for a higher rent reads as the good deal it is. Comps drawn from a wider area than the neighborhood are pulled toward neutral, because they’re a weaker signal, and we say so rather than pretending to more precision than we have.

Sources

Where listings come from

  • Craigslist NYCActive

    Uses Craigslist's public JSON search API. robots.txt permits /view/ pages.

  • CityRealtyDisabled
    Rendered

    NYC-only, with real street addresses so every listing can be checked against city records. Needs the rendering tier — a plain fetch gets a challenge page. robots.txt permits these paths for general crawlers.

  • RentHopDisabled
    Rendered

    ToS prohibits automated access, so it only runs when restricted sources are enabled. Renders cleanly and carries real street addresses, so its listings can be fully vetted.

  • Rent.comDisabled

    Property pages come from the sitemap rent.com publishes for crawlers; robots.txt allows /r/ while blocking the search paths. Rate-sensitive — it serves a CAPTCHA interstitial if pushed, which we never try to solve.

  • StreetEasyDisabled
    Rendered

    ToS prohibits scraping and bot protection returns 403 consistently. Licensed access via Zillow Group.

  • ZillowDisabled
    Rendered

    ToS prohibits scraping. Even with the flag on, its search results link to building pages rather than units, so this yields little of use — the Bridge / Rentals API is the real path.

  • Apartments.comDisabled
    Rendered

    CoStar property. Returns 403; ToS prohibits scraping. Syndication agreement required.

Sites whose terms of service prohibit automated access are disabled by default. You can still bring any single listing in by pasting its URL — that’s one page you were already looking at, not a crawl.

The caveat

What this isn’t

City records lag reality. A violation can be fixed before it’s marked closed, and a bad landlord can have a clean file. Passing our checks means we found nothing against the building in the public record — not that the apartment is good. See it in person, meet the person renting it, and never send money before you do.

Search vetted apartments
Lessia's List — vetted NYC rentals