California building permit data
Markets on record
66Permits on record
1,953,108Available
43Buy a market
Weekly feed. Every permit in the market, every week. The first delivery carries the last 13 weeks, then it arrives every Sunday.
Full history. Everything we hold for the market in one file, bought once.
Files include every trade and work type. Filter to yours in one click.
Every file carries the same 9 columns on every row: the market, the permit number, the issue date, the work type and trade, the source feed's own class, and where the row came from.
San Francisco, CA
Available986,329
permits on record, 299 last week
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 0.0%, declared values on 95.8%, ZIPs on 100.0%, measured across every row we hold.
Names are on 0% for the contractor and 0% for the owner of recent rows.
Los Angeles, CA
Available576,597
permits on record, 0 last week
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 0.0%, declared values on 68.9%, ZIPs on 100.0%, measured across every row we hold.
Names are on 0% for the contractor and 0% for the owner of recent rows. Declared value is on 40% of recent rows.
San Diego County, CA
Available170,640
permits on record, through 2022-12-31
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 80.0%, declared values on 31.4%, ZIPs on 97.3%, measured across every row we hold.
We hold no computed period for this market yet, so its volume is unknown. We cannot tell how current this market is, so it is not offered for sale. We have not measured site address fill for this market. We have not measured name fill for this market. We have not measured declared value fill for this market, and it carries no published note explaining the absence. We do not yet hold a prior period for this market, so there is no baseline to measure change against.
History runs to 2022-12-31 and stops there, so that is what the file holds.
Corona, CA
Available40,113
permits on record, 64 last week
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 0.0%, declared values on 45.6%, ZIPs on 94.1%, measured across every row we hold.
Names are on 0% for the contractor and 0% for the owner of recent rows.
Los Angeles County, CA
Available25,316
permits on record, 1,156 last week
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.0%, contractor names on 13.2%, declared values on 43.4%, ZIPs on 87.7%, measured across every row we hold.
Names are on 17% for the contractor and 17% for the owner of recent rows. Declared value is on 41% of recent rows.
Sonoma County, CA
Available21,749
permits on record, through 2025-05-30
Weekly feed available when this market clears our completeness bar.
Plus addresses on 77.3%, contractor names on 0.0%, declared values on 17.1%, ZIPs on 1.6%, measured across every row we hold.
We hold no computed period for this market yet, so its volume is unknown. We cannot tell how current this market is, so it is not offered for sale. We have not measured site address fill for this market. We have not measured name fill for this market. We have not measured declared value fill for this market, and it carries no published note explaining the absence. We do not yet hold a prior period for this market, so there is no baseline to measure change against.
History runs to 2025-05-30 and stops there, so that is what the file holds.
San Diego, CA
Available19,282
permits on record, 681 last week
Weekly feed available when this market clears our completeness bar.
Plus addresses on 83.4%, contractor names on 55.2%, declared values on 22.0%, ZIPs on 94.2%, measured across every row we hold.
Names are on 57% for the contractor and 0% for the owner of recent rows. Declared value is on 19% of recent rows.
Riverside County, CA
Available9,744
permits on record, 32 last week
Weekly feed available when this market clears our completeness bar.
Plus addresses on 91.0%, contractor names on 0.0%, declared values on 0.0%, ZIPs on 94.4%, measured across every row we hold.
Names are on 0% for the contractor and 0% for the owner of recent rows. Declared value is on 0% of recent rows.
Oakland, CA
Available9,474
permits on record, 327 last week
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 0.0%, declared values on 0.0%, ZIPs on 99.9%, measured across every row we hold.
Names are on 0% for the contractor and 0% for the owner of recent rows. Declared value is on 0% of recent rows.
Sacramento, CA
Available7,965
permits on record, 466 last week
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 46.6%, declared values on 46.4%, ZIPs on 99.0%, measured across every row we hold.
Names are on 23% for the contractor and 0% for the owner of recent rows. Declared value is on 16% of recent rows.
Pasadena, CA
Available6,805
permits on record, 232 last week
Plus addresses on 99.8%, contractor names on 30.9%, declared values on 0.0%, ZIPs on 99.8%, measured across every row we hold.
Anaheim, CA
Available6,297
permits on record, through 2026-08-06
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.4%, contractor names on 61.3%, declared values on 29.6%, ZIPs on 99.4%, measured across every row we hold.
This market's newest permit is 51 days behind the freshest data we hold. Names are on 55% for the contractor and 0% for the owner of recent rows. Declared value is on 44% of recent rows.
History runs to 2026-08-06 and stops there, so that is what the file holds.
San Jose, CA
Available5,955
permits on record, 223 last week
Plus addresses on 91.3%, contractor names on 85.8%, declared values on 59.5%, ZIPs on 91.1%, measured across every row we hold.
West Sacramento, CA
Available5,654
permits on record, 64 last week
Weekly feed available when this market clears our completeness bar.
Plus addresses on 47.8%, contractor names on 0.0%, declared values on 49.0%, ZIPs on 47.7%, measured across every row we hold.
Site addresses are on 48% of recent rows. Names are on 0% for the contractor and 0% for the owner of recent rows. Declared value is on 46% of recent rows.
Hayward, CA
Available3,650
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 94.3%, declared values on 60.4%, ZIPs on 99.9%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Elk Grove, CA
Available3,075
permits on record, 87 last week
Plus addresses on 100.0%, contractor names on 96.3%, declared values on 99.5%, ZIPs on 85.2%, measured across every row we hold.
Roseville, CA
Available2,915
permits on record, through 2026-08-31
Weekly feed available when this market clears our completeness bar.
Plus addresses on 0.0%, contractor names on 0.0%, declared values on 100.0%, ZIPs on 0.0%, measured across every row we hold.
Site addresses are on 0% of recent rows. Names are on 0% for the contractor and 0% for the owner of recent rows.
History runs to 2026-08-31 and stops there, so that is what the file holds.
Glendora, CA
Available2,744
permits on record, through 2026-08-08
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.5%, contractor names on 73.2%, declared values on 25.8%, ZIPs on 99.5%, measured across every row we hold.
This market's newest permit is 49 days behind the freshest data we hold. Declared value is on 24% of recent rows.
History runs to 2026-08-08 and stops there, so that is what the file holds.
El Monte, CA
Available2,556
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.8%, contractor names on 57.0%, declared values on 60.8%, ZIPs on 97.6%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Glendale, CA
Available2,364
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 56.1%, declared values on 21.6%, ZIPs on 99.9%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 50% for the contractor and 0% for the owner of recent rows. Declared value is on 47% of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Aliso Viejo, CA
Available2,035
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 98.9%, contractor names on 86.9%, declared values on 16.5%, ZIPs on 97.7%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Thousand Oaks, CA
Available2,017
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 77.1%, declared values on 43.2%, ZIPs on 100.0%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold.
History runs to 2026-08-09 and stops there, so that is what the file holds.
San Carlos, CA
Available1,909
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 98.9%, contractor names on 19.4%, declared values on 78.3%, ZIPs on 99.5%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 13% for the contractor and 13% for the owner of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Yuba County, CA
Available1,903
permits on record, through 2026-08-08
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.8%, contractor names on 74.7%, declared values on 98.9%, ZIPs on 99.8%, measured across every row we hold.
This market's newest permit is 49 days behind the freshest data we hold.
History runs to 2026-08-08 and stops there, so that is what the file holds.
La Habra, CA
Available1,898
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 73.1%, declared values on 90.1%, ZIPs on 100.0%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Fairfield, CA
Available1,787
permits on record, through 2026-08-07
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 72.0%, declared values on 57.9%, ZIPs on 100.0%, measured across every row we hold.
This market's newest permit is 50 days behind the freshest data we hold.
History runs to 2026-08-07 and stops there, so that is what the file holds.
Sunnyvale, CA
Available1,718
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 29.6%, declared values on 44.4%, ZIPs on 99.4%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 20% for the contractor and 12% for the owner of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Lake Forest, CA
Available1,680
permits on record, through 2026-08-07
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 79.9%, declared values on 49.2%, ZIPs on 97.9%, measured across every row we hold.
This market's newest permit is 50 days behind the freshest data we hold. Declared value is on 37% of recent rows.
History runs to 2026-08-07 and stops there, so that is what the file holds.
Alhambra, CA
Available1,674
permits on record, through 2026-08-07
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 60.2%, declared values on 14.0%, ZIPs on 99.9%, measured across every row we hold.
This market's newest permit is 50 days behind the freshest data we hold. Names are on 46% for the contractor and 0% for the owner of recent rows. Declared value is on 38% of recent rows.
History runs to 2026-08-07 and stops there, so that is what the file holds.
Murrieta, CA
Available1,578
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 0.0%, declared values on 0.0%, ZIPs on 100.0%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 0% for the contractor and 0% for the owner of recent rows. Declared value is on 0% of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Laguna Beach, CA
Available1,495
permits on record, through 2026-08-07
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 70.0%, declared values on 44.9%, ZIPs on 99.9%, measured across every row we hold.
This market's newest permit is 50 days behind the freshest data we hold.
History runs to 2026-08-07 and stops there, so that is what the file holds.
Indio, CA
Available1,475
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 58.5%, declared values on 33.6%, ZIPs on 99.9%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 56% for the contractor and 0% for the owner of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Laguna Niguel, CA
Available1,454
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 80.5%, declared values on 46.1%, ZIPs on 99.9%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold.
History runs to 2026-08-09 and stops there, so that is what the file holds.
El Cajon, CA
Available1,441
permits on record, through 2026-08-07
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.8%, contractor names on 61.0%, declared values on 52.2%, ZIPs on 99.8%, measured across every row we hold.
This market's newest permit is 50 days behind the freshest data we hold. Declared value is on 40% of recent rows.
History runs to 2026-08-07 and stops there, so that is what the file holds.
La Quinta, CA
Available1,384
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.8%, contractor names on 81.6%, declared values on 44.1%, ZIPs on 99.6%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold.
History runs to 2026-08-09 and stops there, so that is what the file holds.
San Luis Obispo County, CA
Available1,324
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 97.4%, contractor names on 0.0%, declared values on 0.0%, ZIPs on 97.4%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 0% for the contractor and 0% for the owner of recent rows. Declared value is on 0% of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Rialto, CA
Available1,224
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 48.7%, declared values on 63.8%, ZIPs on 99.6%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 41% for the contractor and 0% for the owner of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Dublin, CA
Available1,123
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 31.6%, declared values on 21.4%, ZIPs on 99.8%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 46% for the contractor and 0% for the owner of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Danville, CA
Available1,111
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 99.9%, contractor names on 77.0%, declared values on 21.3%, ZIPs on 99.9%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 14% for the contractor and 14% for the owner of recent rows. Declared value is on 15% of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
La Canada Flintridge, CA
Available1,065
permits on record, through 2026-08-08
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 31.7%, declared values on 23.5%, ZIPs on 100.0%, measured across every row we hold.
This market's newest permit is 49 days behind the freshest data we hold. Names are on 19% for the contractor and 9% for the owner of recent rows. Declared value is on 38% of recent rows.
History runs to 2026-08-08 and stops there, so that is what the file holds.
Carson, CA
Available1,051
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 98.9%, contractor names on 44.2%, declared values on 6.3%, ZIPs on 99.6%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold. Names are on 4% for the contractor and 0% for the owner of recent rows. Declared value is on 4% of recent rows.
History runs to 2026-08-09 and stops there, so that is what the file holds.
Antioch, CA
Available1,037
permits on record, through 2026-08-09
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 76.3%, declared values on 31.6%, ZIPs on 100.0%, measured across every row we hold.
This market's newest permit is 48 days behind the freshest data we hold.
History runs to 2026-08-09 and stops there, so that is what the file holds.
San Mateo, CA
Available1,029
permits on record, through 2026-08-07
Weekly feed available when this market clears our completeness bar.
Plus addresses on 100.0%, contractor names on 77.3%, declared values on 81.4%, ZIPs on 93.7%, measured across every row we hold.
This market's newest permit is 50 days behind the freshest data we hold.
History runs to 2026-08-07 and stops there, so that is what the file holds.
Get a California sample
Pick the markets you want to see, and we will email you real rows from them. Markets below our completeness bar can still be sampled; they are marked so you know before you look.
Every number here is computed from what we hold. See exactly what we cover.
Markets and completeness
3 of 66 markets here can be bought as a feed. The rest are sample only, and what each one is short of is on its row below.
Every figure is computed from what we actually hold. A market with no permits on record is not listed.
| Market | Permits | Recent | Availability |
|---|---|---|---|
San Francisco, CA
CompletenessAddress 100.0% all timeContractor not published by this feedDeclared value 95.8% all timeZIP 100.0% all timeData since 1990-01
|
986,329 | 299 last week | Available |
Los Angeles, CA
CompletenessAddress 100.0% all timeContractor not published by this feedDeclared value 68.9% all timeZIP 100.0% all timeData since 2013-01
|
576,597 | 0 last week | Available |
San Diego County, CA
CompletenessAddress 99.9% all timeContractor 80.0% all timeDeclared value 31.4% all timeZIP 97.3% all timeData since 2003-01
|
170,640 | through 2022-12-31 | Available |
Corona, CA
CompletenessAddress 100.0% all timeContractor not published by this feedDeclared value 45.6% all timeZIP 94.1% all timeData since 2001-10
|
40,113 | 64 last week | Available |
Los Angeles County, CA
CompletenessAddress 99.0% all timeContractor not published by this feedDeclared value 43.4% all timeZIP 87.7% all timeData since 2026-02
|
25,316 | 1,156 last week | Available |
Sonoma County, CA
CompletenessAddress 77.3% all timeContractor 0.0% all timeDeclared value 17.1% all timeZIP 1.6% all timeData since 2022-08
|
21,749 | through 2025-05-30 | Available |
San Diego, CA
CompletenessAddress 83.4% all timeContractor 55.2% all timeDeclared value 22.0% all timeZIP 94.2% all timeData since 2026-02
|
19,282 | 681 last week | Available |
Riverside County, CA
CompletenessAddress 91.0% all timeContractor not published by this feedDeclared value 0.0% all timeZIP 94.4% all timeData since 2026-02
|
9,744 | 32 last week | Available |
Oakland, CA
CompletenessAddress 100.0% all timeContractor not published by this feedDeclared value 0.0% all timeZIP 99.9% all timeData since 2026-02
|
9,474 | 327 last week | Available |
Sacramento, CA
CompletenessAddress 99.9% all timeContractor not published by this feedDeclared value 46.4% all timeZIP 99.0% all timeData since 2026-01
|
7,965 | 466 last week | Available |
Pasadena, CA
CompletenessAddress 99.8% all timeContractor 30.9% all timeDeclared value 0.0% all timeZIP 99.8% all timeData since 2026-02
|
6,805 | 232 last week | Available |
Anaheim, CA
CompletenessAddress 99.4% all timeContractor 61.3% all timeDeclared value 29.6% all timeZIP 99.4% all timeData since 2024-09
|
6,297 | through 2026-08-06 | Available |
San Jose, CA
CompletenessAddress 91.3% all timeContractor 85.8% all timeDeclared value 59.5% all timeZIP 91.1% all timeData since 2026-02
|
5,955 | 223 last week | Available |
West Sacramento, CA
CompletenessAddress 47.8% all timeContractor not published by this feedDeclared value 49.0% all timeZIP 47.7% all timeData since 2024-12
|
5,654 | 64 last week | Available |
Hayward, CA
CompletenessAddress 99.9% all timeContractor 94.3% all timeDeclared value 60.4% all timeZIP 99.9% all timeData since 2025-07
|
3,650 | through 2026-08-09 | Available |
Elk Grove, CA
CompletenessAddress 100.0% all timeContractor 96.3% all timeDeclared value 99.5% all timeZIP 85.2% all timeData since 2026-01
|
3,075 | 87 last week | Available |
Roseville, CA
CompletenessAddress 0.0% all timeContractor not published by this feedDeclared value 100.0% all timeZIP not published by this feedData since 2026-01
|
2,915 | through 2026-08-31 | Available |
Glendora, CA
CompletenessAddress 99.5% all timeContractor 73.2% all timeDeclared value 25.8% all timeZIP 99.5% all timeData since 2025-07
|
2,744 | through 2026-08-08 | Available |
El Monte, CA
CompletenessAddress 99.8% all timeContractor 57.0% all timeDeclared value 60.8% all timeZIP 97.6% all timeData since 2022-07
|
2,556 | through 2026-08-09 | Available |
Glendale, CA
CompletenessAddress 99.9% all timeContractor 56.1% all timeDeclared value 21.6% all timeZIP 99.9% all timeData since 2026-01
|
2,364 | through 2026-08-09 | Available |
Aliso Viejo, CA
CompletenessAddress 98.9% all timeContractor 86.9% all timeDeclared value 16.5% all timeZIP 97.7% all timeData since 2025-07
|
2,035 | through 2026-08-09 | Available |
Thousand Oaks, CA
CompletenessAddress 100.0% all timeContractor 77.1% all timeDeclared value 43.2% all timeZIP 100.0% all timeData since 2026-01
|
2,017 | through 2026-08-09 | Available |
San Carlos, CA
CompletenessAddress 98.9% all timeContractor 19.4% all timeDeclared value 78.3% all timeZIP 99.5% all timeData since 2023-12
|
1,909 | through 2026-08-09 | Available |
Yuba County, CA
CompletenessAddress 99.8% all timeContractor 74.7% all timeDeclared value 98.9% all timeZIP 99.8% all timeData since 2024-03
|
1,903 | through 2026-08-08 | Available |
La Habra, CA
CompletenessAddress 100.0% all timeContractor 73.1% all timeDeclared value 90.1% all timeZIP 100.0% all timeData since 2025-07
|
1,898 | through 2026-08-09 | Available |
Fairfield, CA
CompletenessAddress 100.0% all timeContractor 72.0% all timeDeclared value 57.9% all timeZIP 100.0% all timeData since 2026-02
|
1,787 | through 2026-08-07 | Available |
Sunnyvale, CA
CompletenessAddress 99.9% all timeContractor 29.6% all timeDeclared value 44.4% all timeZIP 99.4% all timeData since 2026-01
|
1,718 | through 2026-08-09 | Available |
Lake Forest, CA
CompletenessAddress 99.9% all timeContractor 79.9% all timeDeclared value 49.2% all timeZIP 97.9% all timeData since 2025-07
|
1,680 | through 2026-08-07 | Available |
Alhambra, CA
CompletenessAddress 100.0% all timeContractor 60.2% all timeDeclared value 14.0% all timeZIP 99.9% all timeData since 1926-04
|
1,674 | through 2026-08-07 | Available |
Murrieta, CA
CompletenessAddress 100.0% all timeContractor not published by this feedDeclared value 0.0% all timeZIP 100.0% all timeData since 2025-06
|
1,578 | through 2026-08-09 | Available |
Laguna Beach, CA
CompletenessAddress 99.9% all timeContractor 70.0% all timeDeclared value 44.9% all timeZIP 99.9% all timeData since 2026-01
|
1,495 | through 2026-08-07 | Available |
Indio, CA
CompletenessAddress 99.9% all timeContractor 58.5% all timeDeclared value 33.6% all timeZIP 99.9% all timeData since 2026-01
|
1,475 | through 2026-08-09 | Available |
Laguna Niguel, CA
CompletenessAddress 99.9% all timeContractor 80.5% all timeDeclared value 46.1% all timeZIP 99.9% all timeData since 2026-02
|
1,454 | through 2026-08-09 | Available |
El Cajon, CA
CompletenessAddress 99.8% all timeContractor 61.0% all timeDeclared value 52.2% all timeZIP 99.8% all timeData since 2023-09
|
1,441 | through 2026-08-07 | Available |
La Quinta, CA
CompletenessAddress 99.8% all timeContractor 81.6% all timeDeclared value 44.1% all timeZIP 99.6% all timeData since 2026-02
|
1,384 | through 2026-08-09 | Available |
San Luis Obispo County, CA
CompletenessAddress 97.4% all timeContractor not published by this feedDeclared value 0.0% all timeZIP 97.4% all timeData since 2026-01
|
1,324 | through 2026-08-09 | Available |
Rialto, CA
CompletenessAddress 99.9% all timeContractor 48.7% all timeDeclared value 63.8% all timeZIP 99.6% all timeData since 2026-04
|
1,224 | through 2026-08-09 | Available |
Dublin, CA
CompletenessAddress 99.9% all timeContractor 31.6% all timeDeclared value 21.4% all timeZIP 99.8% all timeData since 2026-01
|
1,123 | through 2026-08-09 | Available |
Danville, CA
CompletenessAddress 99.9% all timeContractor 77.0% all timeDeclared value 21.3% all timeZIP 99.9% all timeData since 2026-02
|
1,111 | through 2026-08-09 | Available |
La Canada Flintridge, CA
CompletenessAddress 100.0% all timeContractor 31.7% all timeDeclared value 23.5% all timeZIP 100.0% all timeData since 2026-01
|
1,065 | through 2026-08-08 | Available |
Carson, CA
CompletenessAddress 98.9% all timeContractor 44.2% all timeDeclared value 6.3% all timeZIP 99.6% all timeData since 2026-01
|
1,051 | through 2026-08-09 | Available |
Antioch, CA
CompletenessAddress 100.0% all timeContractor 76.3% all timeDeclared value 31.6% all timeZIP 100.0% all timeData since 2026-01
|
1,037 | through 2026-08-09 | Available |
San Mateo, CA
CompletenessAddress 100.0% all timeContractor 77.3% all timeDeclared value 81.4% all timeZIP 93.7% all timeData since 2026-01
|
1,029 | through 2026-08-07 | Available |
Dixon, CA
CompletenessAddress 99.7% all timeContractor 92.1% all timeDeclared value 60.8% all timeZIP 97.4% all timeData since 2024-05
This market runs 49 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 48 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
794 | through 2026-08-09 | Sample only |
Gilroy, CA
CompletenessAddress 100.0% all timeContractor 70.6% all timeDeclared value 38.5% all timeZIP 100.0% all timeData since 2026-01
This market runs 103 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 48 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Names are on 59% for the contractor and 0% for the owner of recent rows, and a feed we sell needs one of them above 70%. |
769 | through 2026-08-09 | Sample only |
Lathrop, CA
CompletenessAddress 99.2% all timeContractor 40.5% all timeDeclared value 34.1% all timeZIP 96.6% all timeData since 2026-01
This market runs 71 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 49 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Names are on 35% for the contractor and 0% for the owner of recent rows, and a feed we sell needs one of them above 70%. |
730 | through 2026-08-08 | Sample only |
Yucaipa, CA
CompletenessAddress 99.6% all timeContractor 55.7% all timeDeclared value 48.8% all timeZIP 100.0% all timeData since 2026-01
This market runs 98 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 50 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
672 | through 2026-08-07 | Sample only |
Lagunahills, CA
CompletenessAddress 100.0% all timeContractor 83.0% all timeDeclared value 35.9% all timeZIP 100.0% all timeData since 2026-01
This market runs 91 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 50 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Names are on 69% for the contractor and 0% for the owner of recent rows, and a feed we sell needs one of them above 70%. |
618 | through 2026-08-07 | Sample only |
Mariposa County, CA
CompletenessAddress 99.8% all timeContractor 21.1% all timeDeclared value 48.3% all timeZIP 99.8% all timeData since 2017-12
This market runs 63 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 50 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
592 | through 2026-08-07 | Sample only |
Pomona, CA
CompletenessAddress 100.0% all timeContractor 67.5% all timeDeclared value 51.2% all timeZIP 100.0% all timeData since 2026-01
This market runs 98 permits in a recent period, below the 120 we require before selling a feed. Names are on 68% for the contractor and 18% for the owner of recent rows, and a feed we sell needs one of them above 70%. |
545 | 29 last week | Sample only |
Lemoore, CA
CompletenessAddress 98.9% all timeContractor 78.1% all timeDeclared value 29.1% all timeZIP 99.1% all timeData since 2026-01
This market runs 94 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 50 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
543 | through 2026-08-07 | Sample only |
Healdsburg, CA
CompletenessAddress 100.0% all timeContractor 78.2% all timeDeclared value 34.5% all timeZIP 100.0% all timeData since 2026-01
This market runs 106 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 50 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
531 | through 2026-08-07 | Sample only |
Beaumont, CA
CompletenessAddress 100.0% all timeContractor 51.5% all timeDeclared value 36.4% all timeZIP 100.0% all timeData since 2025-08
This market runs 79 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 50 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Names are on 4% for the contractor and 6% for the owner of recent rows, and a feed we sell needs one of them above 70%. Declared value is on 5% of recent rows, under the 50% floor, and this market carries no published note explaining the absence. |
528 | through 2026-08-07 | Sample only |
Marin County, CA
CompletenessAddress 100.0% all timeContractor 72.2% all timeDeclared value 96.8% all timeZIP 99.5% all timeData since 2026-01
This market runs 76 permits in a recent period, below the 120 we require before selling a feed. |
443 | 17 last week | Sample only |
Daly City, CA
CompletenessAddress 100.0% all timeContractor not published by this feedDeclared value 0.0% all timeZIP 100.0% all timeData since 2026-01
This market's newest permit is 110 days behind the freshest data we hold, past the 30 day limit for a feed we sell. We have not measured site address fill for this market, and a feed we sell needs addresses on more than 50% of rows. We have not measured name fill for this market, and a feed we sell needs a contractor or owner name on more than 70% of rows. We have not measured declared value fill for this market, and it carries no published note explaining the absence. |
389 | through 2026-06-08 | Sample only |
Indian Wells, CA
CompletenessAddress 99.0% all timeContractor 42.1% all timeDeclared value 29.3% all timeZIP 100.0% all timeData since 2026-01
This market runs 59 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 51 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Names are on 47% for the contractor and 30% for the owner of recent rows, and a feed we sell needs one of them above 70%. |
382 | through 2026-08-06 | Sample only |
Arcadia, CA
CompletenessAddress 100.0% all timeContractor 57.8% all timeDeclared value 4.1% all timeZIP 99.7% all timeData since 2026-02
This market runs 66 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 51 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Names are on 45% for the contractor and 51% for the owner of recent rows, and a feed we sell needs one of them above 70%. Declared value is on 3% of recent rows, under the 50% floor, and this market carries no published note explaining the absence. |
339 | through 2026-08-06 | Sample only |
Victorville, CA
CompletenessAddress 100.0% all timeContractor 81.7% all timeDeclared value 30.2% all timeZIP 100.0% all timeData since 2026-01
This market runs 42 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 50 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
334 | through 2026-08-07 | Sample only |
Hawthorne, CA
CompletenessAddress 99.7% all timeContractor 75.1% all timeDeclared value 23.9% all timeZIP 100.0% all timeData since 2026-01
This market runs 43 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 49 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Declared value is on 48% of recent rows, under the 50% floor, and this market carries no published note explaining the absence. |
309 | through 2026-08-08 | Sample only |
Imperial Beach, CA
CompletenessAddress 100.0% all timeContractor 63.1% all timeDeclared value 34.2% all timeZIP 90.3% all timeData since 2026-01
This market runs 37 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 51 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
298 | through 2026-08-06 | Sample only |
Baldwin Park, CA
CompletenessAddress 100.0% all timeContractor 14.9% all timeDeclared value 2.3% all timeZIP 100.0% all timeData since 2026-03
This market's newest permit is 51 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Names are on 2% for the contractor and 2% for the owner of recent rows, and a feed we sell needs one of them above 70%. Declared value is on 3% of recent rows, under the 50% floor, and this market carries no published note explaining the absence. |
221 | through 2026-08-06 | Sample only |
Merced, CA
CompletenessAddress 99.3% all timeContractor 94.2% all timeDeclared value 23.9% all timeZIP 99.3% all timeData since 2026-01
This market runs 22 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 52 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
138 | through 2026-08-05 | Sample only |
Coalinga, CA
CompletenessAddress 100.0% all timeContractor 55.1% all timeDeclared value 15.0% all timeZIP 100.0% all timeData since 2026-01
This market runs 29 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 51 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Names are on 6% for the contractor and 7% for the owner of recent rows, and a feed we sell needs one of them above 70%. Declared value is on 7% of recent rows, under the 50% floor, and this market carries no published note explaining the absence. |
127 | through 2026-08-06 | Sample only |
Imperial County, CA
CompletenessAddress 97.4% all timeContractor 42.7% all timeDeclared value 37.6% all timeZIP 84.6% all timeData since 2026-02
This market runs 37 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 50 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
117 | through 2026-08-07 | Sample only |
Grover Beach, CA
CompletenessAddress 100.0% all timeContractor 100.0% all timeDeclared value 19.6% all timeZIP 100.0% all timeData since 2026-01
This market runs 7 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 65 days behind the freshest data we hold, past the 30 day limit for a feed we sell. |
51 | through 2026-07-23 | Sample only |
Auburn, CA
CompletenessAddress 100.0% all timeContractor 0.0% all timeDeclared value 0.0% all timeZIP 100.0% all timeData since 2026-07
This market runs 2 permits in a recent period, below the 120 we require before selling a feed. This market's newest permit is 58 days behind the freshest data we hold, past the 30 day limit for a feed we sell. Names are on 0% for the contractor and 0% for the owner of recent rows, and a feed we sell needs one of them above 70%. Declared value is on 0% of recent rows, under the 50% floor, and this market carries no published note explaining the absence. We do not yet hold a prior period for this market, so there is no baseline to measure change against. |
2 | through 2026-07-30 | Sample only |
Reference
What a feed includes, the exact columns, where the rows come from, and what we will not claim. Open what you need.
What a feed includes
A feed is the underlying permit records for the markets you name, delivered on a schedule you set, as one row per permit with the columns listed below. It is the same data behind every number on this page, without the product wrapped around it: you get the file and use it inside the terms you agree to. For California that means every market listed above, or any subset of them, with the completeness shown per market rather than promised in general.
What every file includes, 18 columns
| Column | Type | What it holds |
|---|---|---|
| city_slug | text | Our stable identifier for the jurisdiction that issued the permit. |
| city_name | text | Display name of that jurisdiction. |
| permit_number | text | The issuing authority's own permit identifier, verbatim. |
| issue_date | date | Date the permit was issued, as published by the source. |
| address | text | Site address of the work, as published. |
| zip | text | Site ZIP. Published by the feed where available, otherwise derived from the address by the Census geocoder. zip_source records which. |
| latitude | text | Census geocoder latitude, present only for confident address matches. |
| longitude | text | Census geocoder longitude, present only for confident address matches. |
| permit_type | text | Work type axis: RENOVATION, REMODEL, ADDITION or REPAIR. Null when the row is a specialty trade instead. |
| trade | text | Trade axis: ROOFING, ELECTRICAL, HVAC, PLUMBING, SOLAR or POOL. Null when the row is a work type instead. |
| source_class | text | The source feed's own work class, verbatim and upper cased. The closest thing in the row to the issuing authority's own taxonomy. |
| category | text | TRADE when a specialty trade was detected, RESIDENTIAL when a work type was detected. Not a building occupancy flag. |
| declared_cost | integer | Applicant declared job value in whole dollars. An estimate supplied at application, never an actual cost. |
| contractor | text | Contractor of record, as published. |
| contractor_license | text | Contractor licence or registration number where the source publishes one. |
| owner | text | Owner of record, as published. In the files you buy only, never shown on a page, in an email, or in the dashboard. |
| ward | text | Ward or council district where the source publishes one. |
| source | text | Where the row came from: straight from the city, the city's open data, or an aggregated feed. |
Where these rows come from
Direct. We pull the issuing authority's own publication ourselves, on our own schedule. Fastest to reflect a change at the source, and the shape of the file is whatever that authority publishes.
City open data. The jurisdiction publishes its permits as an open dataset under terms that grant reuse, and we ingest it under those terms. Every one of these was read by a person before it was switched on, and the licence is recorded per city.
Aggregated feed. The records reach us through a permit data aggregator that has already gathered them from the issuing authority. Broadest reach and the most normalisation applied before we see it, which is why the source column tells you which rows came this way.
One row per permit, not one row per update. A permit that is amended, re-inspected or re-issued does not become a second record: rows are collapsed on the issuing authority's own permit number within a jurisdiction, and where two sources both describe the same permit we keep one and compare the rest. What that means for you is that a count of rows is a count of permits, so you can bill, forecast and prospect off it without deduplicating anything yourself.
The honest part
Building permits carry no phone numbers and no email addresses, so no honest permit feed includes them. How complete each field is varies by jurisdiction because publication varies by jurisdiction: some authorities publish contractor names and some do not, and where one does not you get an explicit note rather than an empty column you might mistake for a bad extraction. Every completeness figure on this page is computed from what we actually hold.
Why is a market sample only?
We only sell markets with complete data. Every figure on this page is computed from what we actually hold, and you see exactly what a market carries before you pay. Anything short of complete is sample only until it clears the bar.
Custom feeds and embedded use are quoted per deal. Email us and a person will answer.
Our coverage and field fill, every city / All permit data feeds