
PermitPeek
Check any home's permit history before you buy
10 followers
Check any home's permit history before you buy
10 followers
PermitPeek pulls a property's live permit history straight from official city records and translates it into plain English: every permit, what was never closed out, a risk score with the exact reasons behind it, and a link to verify each record at the source. 1 in 3 homes hides work that was never permitted or inspected and at closing, it becomes the buyer's problem. Free search on any address in 21 US cities; $9 for a full report, free if the data turns out incomplete.






How do you handle cities where the permit data is fragmented across multiple departments or only available in scanned PDFs that aren't machine readable?
@enesgryelfkhz Totally fair question, and I'll be straight with you, we don't handle those cities.
PermitPeek currently covers only cities that publish machine-readable permit data through proper open APIs, that's the honest reason we're at 21 cities and not 200. The moment records live in scanned PDFs or are split across three departments, we can't meet the bar we set every record queryable live and linked to the official source so you can check our work.
But it's a solvable problem, and here's the actual path we're working through, in order:
Fragmented departments is the nearest-term one. It's an engineering problem, not a data problem. We already merge multiple official endpoints for Denver (residential + commercial systems); extending that to cities where building/zoning/fire records live in separate systems is more of the same, stitched on parcel ID.
Scanned PDFs is the harder one, and it's next on our list to explore.
Pulling live data from official city records sounds like it hinges on each municipality having clean, accessible systems. How are you handling cities where the records are scanned PDFs or behind clunky portals that break scrapers?
@gamzeerciyzqvh You've hit on exactly the trap we tried to avoid. So I'm happy to say, we don't scrape anything. Every city we cover publishes an official open-data API, and we query it live when you search. Same records the city itself serves. No brittle HTML parsing waiting to break at 2am.
It's also our filter for which cities make the cut, no clean API, no coverage. We'd genuinely rather do 21 cities well than 200 badly. And it's not theoretical. Phoenix shut down their open portal mid-build and we had to rework that coverage rather than pretend nothing happened.
When a source degrades, we adapt or drop it. Every report shows exactly which source we queried, so nothing's hidden.
Pulled up my own place and found a roof permit from years ago that was never marked closed out, which explains the hassle I had getting insurance last year. The plain-English breakdown beats digging through the city portal for hours.
@asoglubirs45419 This comment made my day and I'm sorry it cost you an insurance headache to learn it firsthand. And thank you for sharing it, because your story is the exact thing we built this for.
The open roof permit is probably the most common silent problem out there: work done, contractor never calls the final inspection, and it sits there for years until insurance or a sale digs it up.
One thing worth knowing now that you've found it, most cities will let you close out an old permit retroactively. Usually it's a re-inspection and a modest fee that's annoying, but far less painful than people fear, and much better done on your schedule than discovered during your next insurance renewal or sale. The city link on your report goes to the right office.
Genuinely, glad the plain-English version saved you the portal spelunking. That was the whole point.
Pulled up my own address out of curiosity and the open permits it flagged actually match the ones my contractor left hanging from a kitchen reno last year. Wish this existed before I bought the place.
@ayazekicel3pxs Honestly, that sentence is why we built this. Thank you!
Your situation is the classic one. Reno gets done, contractor moves to the next job, permits never get finaled, and the loose ends quietly become yours. The good news is they're usually fixable. A final inspection request to the city, sometimes a small fee. And since closing those permits was your contractor's job in the first place, it's completely fair to call them and ask them to handle it. Worth one slightly awkward phone call.
If the city gives you the runaround, the verify link on your report goes straight to the office that can tell you exactly what's still outstanding.
Hope it's a quick fix, let me know how it goes, genuinely curious.
Pulled up my own address and was honestly relieved to see everything was permitted, but the risk score breakdown for my neighbor's place was eye-opening. The link straight back to the city source is exactly what makes this trustworthy.
@velilryc This is exactly the design intent, so thank you for articulating it better than our landing page does. The verify-at-source link exists because "trust me" isn't a real answer in this category, every flag should be checkable against the city's own record in one click.
And you've discovered the second use case we didn't advertise, the relief of confirming your OWN house is clean is worth as much as catching a problem.
How current is the data you're pulling, like is it refreshed daily or directly synced from the city portals in real time?
@sedat1276640 Neither cached nor synced, it's more direct than that. Every search queries the city's official database live, at the moment you search. No copy of the data sits on our servers going stale.
The honest nuance "live" means as fresh as the city's own feed. Most covered cities update their open-data endpoints daily or near-real-time, but a few refresh on slower cycles. So a permit filed yesterday might take a day or two to appear in some cities. That's the city's publishing cadence, not our cache.
Each report's Coverage & Data Source panel shows exactly which source was queried so you can judge freshness per city.