How we verify city solar permit data
Every fact on a city page is traceable to an official source. Here is exactly how data gets in, how it stays current, and how you can correct it.
1. Curator-reviewed cities
Curator-verifiedFor our flagship cities — currently Phoenix, Los Angeles, San Diego, Denver, Orlando, and Austin — a human curator reads the city's official permitting page, solar checklist PDF, and fee schedule, then enters codes, setbacks, fees, and turnaround times by hand. Each curated city ships with a list ofseed URLs (the canonical .gov sources) attached to the record.
2. AI-verified cities
AI-verifiedFor every other city we cover, an AI verifier runs the same workflow at scale: scrape the official permitting pages with Firecrawl, then ask Google Gemini to extract only the facts present in the source material — never to guess. The model returns a confidence score per city. Anything below 0.5 stays marked as a stub until a curator reviews it.
3. Continuous re-verification
Always freshPublished cities are re-audited weekly; AI-verified cities monthly. Each audit re-scrapes the seed URLs and diffs the result against what's on the page. If anything has changed, the city is flagged in the admin queue for review before the public page updates. The last-verified date is shown on every city page.
4. Community corrections
You can helpEvery city page has a Report an error button. Installers who actually pull permits in that jurisdiction can flag wrong fees, outdated setbacks, or missing documents — with an evidence URL when possible. Corrections are reviewed and incorporated, and contributors are credited on the city page they help.
What the badges mean
- Curator-verifiedA human reviewed the city's official sources and entered the data.
- AI-verifiedExtracted by AI from cited .gov sources; confidence ≥ 0.5.
- StubCity exists in our directory but requirements haven't been compiled yet.