The coverage audit for Unincorporated San Diego County, CA
This page is built directly from our daily collection log — it is the record, not a sales claim. Window: 2026-08-09 to 2026-09-22, inclusive (45 calendar days, America/Los_Angeles).
Updated Sep 23, 2026 · 6:27 PM PT
A sample of the data
Six of the most recent solar and photovoltaic permits from the collected feed, exactly as delivered — except each location below has its house number masked, so this public page doesn't publish a full street address.
| Permit # | Opened | Status | Location |
|---|---|---|---|
| PDS2026-RESALT-006731 | 2026-09-23 | Open | ••• N Granada Ave — Spring Valley |
| PDS2026-RESALT-006738 | 2026-09-23 | Open | ••• Eagles Perch Ln — Bonsall |
| PDS2026-RESALT-006744 | 2026-09-23 | Open | ••• Vista Diego Rd — Jamul |
| PDS2026-RESALT-006746 | 2026-09-23 | Open | ••• Sky Ridge — Alpine |
| PDS2026-RESALT-006696 | 2026-09-22 | Issued | ••• Lake Meadow Ln — Escondido |
| PDS2026-RESALT-006703 | 2026-09-22 | Issued | ••• Holly Ln — Vista |
Location shows street name and community only; the house number is replaced with “•••”. Owner names are never shown here.
What we found
The county publishes two different ways to look at the same permits. We checked both against each other for this window.
1. The county's open-data feed is not current
San Diego County Open Data, "Building Permits" (dataset id dyzh-7eat) describes itself as “Building permits in San Diego County, CA issued by Planning and Development Services since 2005 (updated daily)”. A separate metadata field on the same dataset (“Update Rate”) says “weekly”. Neither held up: the newest row in any of its date columns is dated 2023-12-05, across its full 236,722-row history. Our 45-day window (2026-08-09 to 2026-09-22) falls entirely after that date. Over that window, the county's permit-review portal (the source we collect from) shows 406 solar/photovoltaic permits opened in the unincorporated area. The open-data feed shows 0 for the identical window and definition, because its newest row predates the window. We did not use the open-data feed as our collection source for this reason; it appears here only as a freshness check.
2. The on-screen count caps out; the full set doesn't
For a wide date range, the portal's own on-screen result counter stops at an approximate label (“300+”) instead of an exact number once the true count runs past roughly 300. Getting the complete set past that point takes one of two things the on-screen counter itself doesn't do: the portal's own “Download results” export, or querying one day at a time and summing the days. Daily collection for this product uses the second method (per-day queries). For this audit we also ran the one-shot export as an independent cross-check: it returned 3,018 raw rows, of which 3 were exact-duplicate rows produced at the export file's own internal page boundaries (same permit, byte-identical fields, removed before counting) — leaving 3,015 distinct permits. Summing the 45 per-day queries independently gives 4,915. The two methods agree to within 1900 permits.
"Days fully collected" is a computed fact, not an assumption: a day only counts once its own collection run happened after that day was actually over (see Method below). "Appeared late" tracks permits that showed up in the portal after their own Opened Date -- see the late-arrivals table further down.
Daily calendar
Each square is one day in the window; darker means more solar permits opened that day, and an outlined square is a day with zero.
Daily log
Show all 45 days, permit by permit
| Date | Permits collected | Fully collected | Zero solar filings | Portal responded | Response truncated | Note |
|---|---|---|---|---|---|---|
| 2026-08-09 | 0 | Yes | Yes | Yes | No | No solar permits opened this day -- the portal did respond, with 4 record(s) of other (non-solar) types. |
| 2026-08-10 | 13 | Yes | No | Yes | No | |
| 2026-08-11 | 22 | Yes | No | Yes | No | |
| 2026-08-12 | 27 | Yes | No | Yes | No | |
| 2026-08-13 | 14 | Yes | No | Yes | No | |
| 2026-08-14 | 12 | Yes | No | Yes | No | |
| 2026-08-15 | 0 | Yes | Yes | Yes | No | No solar permits opened this day -- the portal did respond, with 7 record(s) of other (non-solar) types. |
| 2026-08-16 | 6 | Yes | No | Yes | No | |
| 2026-08-17 | 15 | Yes | No | Yes | No | |
| 2026-08-18 | 10 | Yes | No | Yes | No | |
| 2026-08-19 | 13 | Yes | No | Yes | No | |
| 2026-08-20 | 14 | Yes | No | Yes | No | |
| 2026-08-21 | 12 | Yes | No | Yes | No | |
| 2026-08-22 | 0 | Yes | Yes | Yes | No | No solar permits opened this day -- the portal did respond, with 7 record(s) of other (non-solar) types. |
| 2026-08-23 | 0 | Yes | Yes | Yes | No | No solar permits opened this day -- the portal did respond, with 6 record(s) of other (non-solar) types. |
| 2026-08-24 | 15 | Yes | No | Yes | No | |
| 2026-08-25 | 6 | Yes | No | Yes | No | |
| 2026-08-26 | 14 | Yes | No | Yes | No | |
| 2026-08-27 | 12 | Yes | No | Yes | No | |
| 2026-08-28 | 21 | Yes | No | Yes | No | |
| 2026-08-29 | 0 | Yes | Yes | Yes | No | No solar permits opened this day -- the portal did respond, with 8 record(s) of other (non-solar) types. |
| 2026-08-30 | 0 | Yes | Yes | Yes | No | No solar permits opened this day -- the portal did respond, with 7 record(s) of other (non-solar) types. |
| 2026-08-31 | 13 | Yes | No | Yes | No | |
| 2026-09-01 | 19 | Yes | No | Yes | No | |
| 2026-09-02 | 20 | Yes | No | Yes | No | |
| 2026-09-03 | 10 | Yes | No | Yes | No | |
| 2026-09-04 | 3 | Yes | No | Yes | No | |
| 2026-09-05 | 0 | Yes | Yes | Yes | No | No solar permits opened this day -- the portal did respond, with 3 record(s) of other (non-solar) types. |
| 2026-09-06 | 1 | Yes | No | Yes | No | |
| 2026-09-07 | 1 | Yes | No | Yes | No | |
| 2026-09-08 | 20 | Yes | No | Yes | No | |
| 2026-09-09 | 8 | Yes | No | Yes | No | |
| 2026-09-10 | 8 | Yes | No | Yes | No | |
| 2026-09-11 | 9 | Yes | No | Yes | No | |
| 2026-09-12 | 1 | Yes | No | Yes | No | |
| 2026-09-13 | 1 | Yes | No | Yes | No | |
| 2026-09-14 | 8 | Yes | No | Yes | No | |
| 2026-09-15 | 9 | Yes | No | Yes | No | |
| 2026-09-16 | 14 | Yes | No | Yes | No | |
| 2026-09-17 | 11 | Yes | No | Yes | No | |
| 2026-09-18 | 6 | Yes | No | Yes | No | |
| 2026-09-19 | 1 | Yes | No | Yes | No | |
| 2026-09-20 | 1 | Yes | No | Yes | No | |
| 2026-09-21 | 6 | Yes | No | Yes | No | |
| 2026-09-22 | 10 | Yes | No | Yes | No |
Permits that appeared late
Permits can show up in the portal after their own Opened Date. Every daily collection run re-queries the trailing 7 complete days regardless of whether they were already collected, and keeps both the first-seen count and the latest one rather than overwriting. 2026-09-16 to 2026-09-22: 0 permits appeared after the day was first collected.
Show the late-arrivals table, 7 days checked
| Date | Times checked | First count | Latest count | Appeared late |
|---|---|---|---|---|
| 2026-09-16 | 5 | 14 | 14 | 0 |
| 2026-09-17 | 5 | 11 | 11 | 0 |
| 2026-09-18 | 5 | 6 | 6 | 0 |
| 2026-09-19 | 5 | 1 | 1 | 0 |
| 2026-09-20 | 5 | 1 | 1 | 0 |
| 2026-09-21 | 5 | 6 | 6 | 0 |
| 2026-09-22 | 5 | 10 | 10 | 0 |
Method: sources, window and definitions
- Sources
- Daily collection: the county's Accela Citizen Access (ACA) portal, module LUEG-PDS (“PDS – Planning & Development Services”), at publicservices.sandiegocounty.gov. Freshness comparison only (finding 1 above, not used for collection): San Diego County Open Data (Socrata), dataset “Building Permits” (id dyzh-7eat), at data.sandiegocounty.gov.
- Window
- 2026-08-09 to 2026-09-22, inclusive of both dates — the last 45 COMPLETE calendar days as of the run that generated this page. A day only becomes eligible to enter this window once wall-clock time is at least 60 minutes past that day's own local midnight; the current day in America/Los_Angeles is never included, even late in its final hour. The window therefore advances a day at a time as real days complete — re-checking this page on a later date will show a later window even with nothing else changed.
- Fully collected
- A computed fact per day, not an assumption from window membership: a day is “fully collected” only if the collection run that produced its count happened at or after that day's own completion instant (its local midnight plus the 60-minute buffer above). A day collected while still in progress — for example, same-day — is marked not fully collected and its count is provisional until a later run redoes it. See “Days fully collected” above and the Fully collected column in the daily log.
- Late-arriving permits
- Permits can appear in the portal after their own Opened Date. Every daily run re-queries the trailing 7 complete days on top of whatever is new, so a day can be collected more than once; both the first-seen count and the latest recheck are kept (never overwritten), and the difference is reported as “appeared late.” See the table above.
- Timezone
- America/Los_Angeles — the county's own timezone and the portal's own definition of “today,” used for every date boundary above.
- Solar/PV definition
- A permit counts as solar if its scope-of-work field — open data's
primary_scope_codecolumn, or ACA's “Short Notes” grid/export column, confirmed to carry identical text for the same permits — contains “solar” (case-insensitive). “PV” excludes the single code8005 - REN - Solar Water Heater (HRA)(solar thermal, not photovoltaic); in this window every solar-classified permit was PV. - Match rule
- Cross-source and cross-method comparisons key on permit number, normalized (uppercased, whitespace-collapsed) — e.g.
PDS2026-RESALT-006731. Both sources use the same county-issued numbering scheme; no fuzzy matching is used. - Zero solar filings / Portal responded
- “Zero solar filings” is Yes on any day with no solar/PV permits opened — that alone doesn't mean the portal was silent. “Portal responded” is Yes when the portal returned a record of any type (solar or otherwise) that day; on a day with solar permits collected, this is always Yes. On a day the collector logs no records of any type at all, we can't tell whether the portal returned zero records or didn't respond — that row's Note says so instead of guessing, and Portal responded reads “Can't tell.”
Limits: what this audit does not show
- The portal itself is our ground truth for this audit. We have not independently checked the portal's own results against any system outside the county.
- Unincorporated San Diego County only. The scope above is the county's own PDS module/department. Incorporated cities, including the City of San Diego, run separate permitting systems and are not included here.
- We have not measured any commercial permit-data vendor's coverage or accuracy ourselves, and make no claim about them beyond what they publish — see the Compare pages for sourced, dated citations of their own claims.
- This audit covers one 45-day window. It is a method demonstrated once, not yet a longer-run track record.