---
type: "firecrawl-provider"
description: "City of San José building and land-use permits from San José Open Data (data.sanjoseca.gov), the city's CKAN portal, published by Planning, Building and Code Enforcement under Creative Commons CCZero and reloaded daily: Active Building Permits (including those under inspection), Expired Building Permits (back to 1938), the last 30 days of issued building permits, and planning permits issued in the last 30 and 60-180 days. Search building permits by address, ZIP, contractor, type, list, issue-date window, valuation or APN, newest or largest first; read one permit by folder number; rank contractors by permits and valuation for a window; and search planning permits (site development, conditional use, adjustments, tree removals) by address, applicant, type, file number or date. Every response and record carries the licence and a source URL. The lists carry no row update time, so new permits are polled with issued_since; finaled building permits older than 30 days are not published."
use_when: "City of San José building and land-use permits from San José Open Data (data.sanjoseca.gov), the city's CKAN portal, published by Planning, Building and Code Enforcement under Creative Commons CCZero and reloaded daily: Active Building Permits (including those under inspection), Expired Building Permits (back to 1938), the last 30 days of issued building permits, and planning permits issued in the last 30 and 60-180 days. Search building permits by address, ZIP, contractor, type, list, issue-date window, valuation or APN, newest or largest first; read one permit by folder number; rank contractors by permits and valuation for a window; and search planning permits (site development, conditional use, adjustments, tree removals) by address, applicant, type, file number or date. Every response and record carries the licence and a source URL. The lists carry no row update time, so new permits are polled with issued_since; finaled building permits older than 30 days are not published.\n\nCity of San José building and land-use permits from San José Open Data (data.sanjoseca.gov), the city's CKAN portal, published by Planning, Building and Code Enforcement under Creative Commons CCZero and reloaded daily: Active Building Permits (including those under inspection), Expired Building Permits (back to 1938), the last 30 days of issued building permits, and planning permits issued in the last 30 and 60-180 days. Search building permits by address, ZIP, contractor, type, list, issue-date window, valuation or APN, newest or largest first; read one permit by folder number; rank contractors by permits and valuation for a window; and search planning permits (site development, conditional use, adjustments, tree removals) by address, applicant, type, file number or date. Every response and record carries the licence and a source URL. The lists carry no row update time, so new permits are polled with issued_since; finaled building permits older than 30 days are not published."
categories: "Real estate"
capabilities: 4
credits_per_call: 5
---
# San José Open Data: building and planning permits (data.sanjoseca.gov) on Firecrawl Alexandria

City of San José building and land-use permits from San José Open Data (data.sanjoseca.gov), the city's CKAN portal, published by Planning, Building and Code Enforcement under Creative Commons CCZero and reloaded daily: Active Building Permits (including those under inspection), Expired Building Permits (back to 1938), the last 30 days of issued building permits, and planning permits issued in the last 30 and 60-180 days. Search building permits by address, ZIP, contractor, type, list, issue-date window, valuation or APN, newest or largest first; read one permit by folder number; rank contractors by permits and valuation for a window; and search planning permits (site development, conditional use, adjustments, tree removals) by address, applicant, type, file number or date. Every response and record carries the licence and a source URL. The lists carry no row update time, so new permits are polled with issued_since; finaled building permits older than 30 days are not published.

- Categories: Real estate
- Category index: [Real estate category](https://firecrawl.dev/alexandria/agents/categories/real-estate)
- Provider key: `data-sanjoseca-gov`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/data-sanjoseca-gov)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/data-sanjoseca-gov/openapi.json)

## Capabilities

- [Contractor activity](https://firecrawl.dev/alexandria/agents/providers/data-sanjoseca-gov/building-permits/contractor_activity): Rank San José contractors of record by building permits issued in an issue-date window, or by total declared valuation, from one grouped query over the chosen lists (default: Active, Expired and Last 30 days, each permit once). Optional contractor substring, permit, occupancy or work type, ZIP and list. Each row has the company, permits, total valuation, net dwelling units, distinct parcels, first and last issue days, a source_url listing those permits, and the licence. Finaled permits older than 30 days are not published, so counts for past windows cover permits still active or expired.
- [Get permit](https://firecrawl.dev/alexandria/agents/providers/data-sanjoseca-gov/building-permits/get_permit): One City of San José building permit by folder number (2026-128769-CI), looked up in the Active, Expired and Last 30 days lists in one request: the shared permit fields with status (Active, Under Inspection, Expired, Finaled), contractor and applicant, source_url, licence, the list and dataset it came from, and raw, its datastore row with every published column except the owner's name (plan check approvals, internal folder id). A number in no list (unknown, a planning permit, or finaled more than 30 days ago) is not_found.
- [Search permits](https://firecrawl.dev/alexandria/agents/providers/data-sanjoseca-gov/building-permits/search_permits): Search City of San José building permits on San José Open Data (data.sanjoseca.gov, Planning, Building and Code Enforcement, CC0, reloaded daily) by street address, ZIP, contractor or applicant, permit, occupancy or work type, permit title, list (active, under inspection, expired, issued in the last 30 days), issue-date window, minimum valuation or Santa Clara County APN; newest issued first, or largest valuation first. Each record has the shared permit fields (folder number, type, occupancy, work type, title, status, issued and final days, address, ZIP, APN, valuation, net dwelling units, square feet, contractor and applicant), the list it came from, source_url and licence. The city publishes active, expired and last-30-days permits only: a permit finaled more than 30 days ago is in no list. An empty page is a valid result.
- [Search planning permits](https://firecrawl.dev/alexandria/agents/providers/data-sanjoseca-gov/planning-permits/search_planning_permits): Search City of San José planning (land-use) permits on San José Open Data: the Last 30 days and Last 60-180 days Planning Permits lists (Planning, Building and Code Enforcement, CC0, reloaded daily), about 700 permits: site development, planned development and conditional use permits, permit adjustments, sign permits, tree removals, zoning verification letters and environmental review. Filter by address, ZIP, APN, applicant, folder type, subtype or work, title, zoning, planning file number (H26-008), folder number, list and issue-date window; newest issued first. Each record has the shared permit fields plus file_number, zoning, period, the applicant, source_url and licence. The city publishes no list for permits issued 31 to 59 days ago, and nothing older than 180 days. An empty page is a valid result.

## 1. Choose this provider when

City of San José building and land-use permits from San José Open Data (data.sanjoseca.gov), the city's CKAN portal, published by Planning, Building and Code Enforcement under Creative Commons CCZero and reloaded daily: Active Building Permits (including those under inspection), Expired Building Permits (back to 1938), the last 30 days of issued building permits, and planning permits issued in the last 30 and 60-180 days. Search building permits by address, ZIP, contractor, type, list, issue-date window, valuation or APN, newest or largest first; read one permit by folder number; rank contractors by permits and valuation for a window; and search planning permits (site development, conditional use, adjustments, tree removals) by address, applicant, type, file number or date. Every response and record carries the licence and a source URL. The lists carry no row update time, so new permits are polled with issued_since; finaled building permits older than 30 days are not published.

City of San José building and land-use permits from San José Open Data (data.sanjoseca.gov), the city's CKAN portal, published by Planning, Building and Code Enforcement under Creative Commons CCZero and reloaded daily: Active Building Permits (including those under inspection), Expired Building Permits (back to 1938), the last 30 days of issued building permits, and planning permits issued in the last 30 and 60-180 days. Search building permits by address, ZIP, contractor, type, list, issue-date window, valuation or APN, newest or largest first; read one permit by folder number; rank contractors by permits and valuation for a window; and search planning permits (site development, conditional use, adjustments, tree removals) by address, applicant, type, file number or date. Every response and record carries the licence and a source URL. The lists carry no row update time, so new permits are polled with issued_since; finaled building permits older than 30 days are not published.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "data-sanjoseca-gov",
  "capability": "building-permits/contractor_activity",
  "options": {
    "contractor": "Devcon",
    "issued_since": "2017-01-01",
    "issued_until": "2017-12-31",
    "status": "expired"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `contractor` (string): Case-insensitive substring of the contractor as published, to size one firm (Devcon, Sunrun). Example: `<contractor>`
- `cursor` (string): next_cursor from the previous page; repeat the same filters with it. Pattern: ^[0-9]+$. Example: `<cursor>`
- `issued_since` (string, required): Count permits issued on or after this day, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_since>`
- `issued_until` (string): Count permits issued on or before this day, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_until>`
- `limit` (number): Rows per page. Example: `25`
- `permit_type` (string): Case-insensitive substring over folder type, occupancy subtype and work type (Solar, ReRoof, New Construction, Data Center). Example: `<permit_type>`
- `sort` (string): permits_desc: most permits first; valuation_desc: largest total declared valuation first. Example: `permits_desc`
- `status` (string): Which published list to read. any (default): Active, Expired and permits issued in the last 30 days, each permit once, in one request. active: issued and not finaled or expired (includes under inspection); under_inspection: active permits with inspections under way; expired; issued_last_30_days: every permit issued in the last 30 days whatever its state, the list to poll for new permits. Finaled permits older than 30 days are not published. Example: `any`
- `zip` (string): 5-digit ZIP code (95131). Pattern: ^[0-9]{5}$. Example: `<zip>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "data-sanjoseca-gov",
    capability: "building-permits/contractor_activity",
    options: {
      contractor: "Devcon",
      issued_since: "2017-01-01",
      issued_until: "2017-12-31",
      status: "expired",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "data-sanjoseca-gov",
  "capability": "building-permits/contractor_activity",
  "options": {
    "contractor": "Devcon",
    "issued_since": "2017-01-01",
    "issued_until": "2017-12-31",
    "status": "expired"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "data-sanjoseca-gov",
    "capability": "building-permits/contractor_activity",
    "options": {
      "contractor": "Devcon",
      "issued_since": "2017-01-01",
      "issued_until": "2017-12-31",
      "status": "expired"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'data-sanjoseca-gov/building-permits/contractor_activity' \
  --options '{"contractor":"Devcon","issued_since":"2017-01-01","issued_until":"2017-12-31","status":"expired"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "data-sanjoseca-gov",
  "capability": "building-permits/contractor_activity",
  "options": {
    "contractor": "Devcon",
    "issued_since": "2017-01-01",
    "issued_until": "2017-12-31",
    "status": "expired"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "data-sanjoseca-gov",
  "capability": "building-permits/contractor_activity",
  "options": {
    "contractor": "Devcon",
    "issued_since": "2017-01-01",
    "issued_until": "2017-12-31",
    "status": "expired"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "count": 1,
  "dataset": {
    "id": "df4b8461-0c7a-4d16-b85d-ff7f71c5fed5",
    "name": "Expired Building Permits",
    "portal": "data.sanjoseca.gov",
    "updated_at": "2026-10-27T12:00:58Z",
    "url": "https://data.sanjoseca.gov/dataset/expired-building-permits"
  },
  "issued_since": "2017-01-01",
  "issued_until": "2017-12-31",
  "jurisdiction": {
    "county": "Santa Clara",
    "name": "San Jose",
    "state": "CA"
  },
  "license": {
    "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
    "name": "Creative Commons CCZero",
    "url": "https://creativecommons.org/publicdomain/zero/1.0/"
  },
  "next_cursor": null,
  "observed_at_ms": 1793149497338,
  "records": [
    {
      "first_issued_date": "2017-01-25",
      "housing_units": 0,
      "last_issued_date": "2017-10-02",
      "license": {
        "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
        "name": "Creative Commons CCZero",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/"
      },
      "name": "DEVCON CONSTRUCTION INC",
      "parcels": 3,
      "permits": 8,
      "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search_sql?sql=SELECT+*+FROM+%28SELECT+t.%22Status%22%2C+t.%22gx_location%22%2C+t.%22ASSESSORS_PARCEL_NUMBER%22%2C+t.%22APPLICANT%22%2C+t.%22CONTRACTOR%22%2C+t.%22FOLDERNUMBER%22%2C+t.%22FOLDERDESC%22%2C+t.%22FOLDERNAME%22%2C+t.%22SUBTYPEDESCRIPTION%22%2C+t.%22WORKDESCRIPTION%22%2C+t.%22PERMITAPPROVALS%22%2C+t.%22ISSUEDATE%22%2C+t.%22FINALDATE%22%2C+t.%22DWELLINGUNITS%22%2C+t.%22PERMITVALUATION%22%2C+t.%22SQUAREFOOTAGE%22%2C+t.%22FOLDERRSN%22%2C+%27expired%27+AS+_list%2C+%27Expired%27+AS+_status%2C+CASE+WHEN+t.%22ISSUEDATE%22+%7E+%27%5E%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B4%7D%27+THEN+to_date%28t.%22ISSUEDATE%22%2C+%27MM%2FDD%2FYYYY%27%29+END+AS+_issued+FROM+%22df4b8461-0c7a-4d16-b85d-ff7f71c5fed5%22+t%29+AS+p+WHERE+upper%28btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29%29+%3D+upper%28%27DEVCON+CONSTRUCTION+INC%27%29+AND+p._issued+%3E%3D+%272017-01-01%27+AND+p._issued+%3C%3D+%272017-12-31%27+ORDER+BY+p._issued+DESC+NULLS+LAST%2C+p.%22FOLDERNUMBER%22+DESC+LIMIT+100",
      "total_valuation_usd": 190067500
    }
  ],
  "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search_sql?sql=SELECT+max%28btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29%29+AS+contractor%2C+count%28*%29+AS+permits%2C+sum%28CASE+WHEN+p.%22PERMITVALUATION%22+%7E+%27%5E%5B0-9%5D%2B%28%5B.%5D%5B0-9%5D%2B%29%3F%24%27+THEN+CAST%28p.%22PERMITVALUATION%22+AS+numeric%29+END%29+AS+valuation%2C+sum%28CASE+WHEN+p.%22DWELLINGUNITS%22+%7E+%27%5E-%3F%5B0-9%5D%2B%24%27+THEN+CAST%28p.%22DWELLINGUNITS%22+AS+integer%29+END%29+AS+housing_units%2C+count%28DISTINCT+p.%22ASSESSORS_PARCEL_NUMBER%22%29+AS+parcels%2C+min%28p._issued%29+AS+first_issued%2C+max%28p._issued%29+AS+last_issued+FROM+%28SELECT+t.%22gx_location%22%2C+t.%22ASSESSORS_PARCEL_NUMBER%22%2C+t.%22CONTRACTOR%22%2C+t.%22FOLDERDESC%22%2C+t.%22SUBTYPEDESCRIPTION%22%2C+t.%22WORKDESCRIPTION%22%2C+t.%22DWELLINGUNITS%22%2C+t.%22PERMITVALUATION%22%2C+t.%22ISSUEDATE%22%2C+t.%22FINALDATE%22%2C+t.%22FOLDERRSN%22%2C+%27expired%27+AS+_list%2C+%27Expired%27+AS+_status%2C+CASE+WHEN+t.%22ISSUEDATE%22+%7E+%27%5E%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B4%7D%27+THEN+to_date%28t.%22ISSUEDATE%22%2C+%27MM%2FDD%2FYYYY%27%29+END+AS+_issued+FROM+%22df4b8461-0c7a-4d16-b85d-ff7f71c5fed5%22+t%29+AS+p+WHERE+btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29+%3C%3E+%27%27+AND+p._issued+%3E%3D+%272017-01-01%27+AND+p._issued+%3C%3D+%272017-12-31%27+AND+btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%5Cs%2B%27%2C+%27+%27%2C+%27g%27%29%29+ILIKE+%27%25Devcon%25%27+GROUP+BY+upper%28btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29%29+ORDER+BY+permits+DESC%2C+valuation+DESC+NULLS+LAST%2C+upper%28btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29%29+LIMIT+25"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Contractor activity

- Capability: `building-permits/contractor_activity`
- Description: Rank San José contractors of record by building permits issued in an issue-date window, or by total declared valuation, from one grouped query over the chosen lists (default: Active, Expired and Last 30 days, each permit once). Optional contractor substring, permit, occupancy or work type, ZIP and list. Each row has the company, permits, total valuation, net dwelling units, distinct parcels, first and last issue days, a source_url listing those permits, and the licence. Finaled permits older than 30 days are not published, so counts for past windows cover permits still active or expired.
- Instructions: Use to find the most active contractors in San José, a ZIP or a trade (Solar, ReRoof, New Construction) for a period, or to size one contractor's work; then search_permits with contractor for the permits themselves.
- Cost: 5 credits per call
- Capability file: [Contractor activity](https://firecrawl.dev/alexandria/agents/providers/data-sanjoseca-gov/building-permits/contractor_activity)

Accepted options:
- `contractor` (string): Case-insensitive substring of the contractor as published, to size one firm (Devcon, Sunrun). Example: `<contractor>`
- `cursor` (string): next_cursor from the previous page; repeat the same filters with it. Pattern: ^[0-9]+$. Example: `<cursor>`
- `issued_since` (string, required): Count permits issued on or after this day, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_since>`
- `issued_until` (string): Count permits issued on or before this day, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_until>`
- `limit` (number): Rows per page. Example: `25`
- `permit_type` (string): Case-insensitive substring over folder type, occupancy subtype and work type (Solar, ReRoof, New Construction, Data Center). Example: `<permit_type>`
- `sort` (string): permits_desc: most permits first; valuation_desc: largest total declared valuation first. Example: `permits_desc`
- `status` (string): Which published list to read. any (default): Active, Expired and permits issued in the last 30 days, each permit once, in one request. active: issued and not finaled or expired (includes under inspection); under_inspection: active permits with inspections under way; expired; issued_last_30_days: every permit issued in the last 30 days whatever its state, the list to poll for new permits. Finaled permits older than 30 days are not published. Example: `any`
- `zip` (string): 5-digit ZIP code (95131). Pattern: ^[0-9]{5}$. Example: `<zip>`

Response schema example:
```json
{
  "count": 1,
  "dataset": {
    "id": "df4b8461-0c7a-4d16-b85d-ff7f71c5fed5",
    "name": "Expired Building Permits",
    "portal": "data.sanjoseca.gov",
    "updated_at": "2026-10-27T12:00:58Z",
    "url": "https://data.sanjoseca.gov/dataset/expired-building-permits"
  },
  "issued_since": "2017-01-01",
  "issued_until": "2017-12-31",
  "jurisdiction": {
    "county": "Santa Clara",
    "name": "San Jose",
    "state": "CA"
  },
  "license": {
    "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
    "name": "Creative Commons CCZero",
    "url": "https://creativecommons.org/publicdomain/zero/1.0/"
  },
  "next_cursor": null,
  "observed_at_ms": 1793149497338,
  "records": [
    {
      "first_issued_date": "2017-01-25",
      "housing_units": 0,
      "last_issued_date": "2017-10-02",
      "license": {
        "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
        "name": "Creative Commons CCZero",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/"
      },
      "name": "DEVCON CONSTRUCTION INC",
      "parcels": 3,
      "permits": 8,
      "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search_sql?sql=SELECT+*+FROM+%28SELECT+t.%22Status%22%2C+t.%22gx_location%22%2C+t.%22ASSESSORS_PARCEL_NUMBER%22%2C+t.%22APPLICANT%22%2C+t.%22CONTRACTOR%22%2C+t.%22FOLDERNUMBER%22%2C+t.%22FOLDERDESC%22%2C+t.%22FOLDERNAME%22%2C+t.%22SUBTYPEDESCRIPTION%22%2C+t.%22WORKDESCRIPTION%22%2C+t.%22PERMITAPPROVALS%22%2C+t.%22ISSUEDATE%22%2C+t.%22FINALDATE%22%2C+t.%22DWELLINGUNITS%22%2C+t.%22PERMITVALUATION%22%2C+t.%22SQUAREFOOTAGE%22%2C+t.%22FOLDERRSN%22%2C+%27expired%27+AS+_list%2C+%27Expired%27+AS+_status%2C+CASE+WHEN+t.%22ISSUEDATE%22+%7E+%27%5E%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B4%7D%27+THEN+to_date%28t.%22ISSUEDATE%22%2C+%27MM%2FDD%2FYYYY%27%29+END+AS+_issued+FROM+%22df4b8461-0c7a-4d16-b85d-ff7f71c5fed5%22+t%29+AS+p+WHERE+upper%28btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29%29+%3D+upper%28%27DEVCON+CONSTRUCTION+INC%27%29+AND+p._issued+%3E%3D+%272017-01-01%27+AND+p._issued+%3C%3D+%272017-12-31%27+ORDER+BY+p._issued+DESC+NULLS+LAST%2C+p.%22FOLDERNUMBER%22+DESC+LIMIT+100",
      "total_valuation_usd": 190067500
    }
  ],
  "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search_sql?sql=SELECT+max%28btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29%29+AS+contractor%2C+count%28*%29+AS+permits%2C+sum%28CASE+WHEN+p.%22PERMITVALUATION%22+%7E+%27%5E%5B0-9%5D%2B%28%5B.%5D%5B0-9%5D%2B%29%3F%24%27+THEN+CAST%28p.%22PERMITVALUATION%22+AS+numeric%29+END%29+AS+valuation%2C+sum%28CASE+WHEN+p.%22DWELLINGUNITS%22+%7E+%27%5E-%3F%5B0-9%5D%2B%24%27+THEN+CAST%28p.%22DWELLINGUNITS%22+AS+integer%29+END%29+AS+housing_units%2C+count%28DISTINCT+p.%22ASSESSORS_PARCEL_NUMBER%22%29+AS+parcels%2C+min%28p._issued%29+AS+first_issued%2C+max%28p._issued%29+AS+last_issued+FROM+%28SELECT+t.%22gx_location%22%2C+t.%22ASSESSORS_PARCEL_NUMBER%22%2C+t.%22CONTRACTOR%22%2C+t.%22FOLDERDESC%22%2C+t.%22SUBTYPEDESCRIPTION%22%2C+t.%22WORKDESCRIPTION%22%2C+t.%22DWELLINGUNITS%22%2C+t.%22PERMITVALUATION%22%2C+t.%22ISSUEDATE%22%2C+t.%22FINALDATE%22%2C+t.%22FOLDERRSN%22%2C+%27expired%27+AS+_list%2C+%27Expired%27+AS+_status%2C+CASE+WHEN+t.%22ISSUEDATE%22+%7E+%27%5E%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B4%7D%27+THEN+to_date%28t.%22ISSUEDATE%22%2C+%27MM%2FDD%2FYYYY%27%29+END+AS+_issued+FROM+%22df4b8461-0c7a-4d16-b85d-ff7f71c5fed5%22+t%29+AS+p+WHERE+btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29+%3C%3E+%27%27+AND+p._issued+%3E%3D+%272017-01-01%27+AND+p._issued+%3C%3D+%272017-12-31%27+AND+btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%5Cs%2B%27%2C+%27+%27%2C+%27g%27%29%29+ILIKE+%27%25Devcon%25%27+GROUP+BY+upper%28btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29%29+ORDER+BY+permits+DESC%2C+valuation+DESC+NULLS+LAST%2C+upper%28btrim%28regexp_replace%28p.%22CONTRACTOR%22%2C+%27%28%5Cs%7B2%2C%7D%7C%5Cs%28Mr%7CMrs%7CMs%7CMiss%29%5B.%5D%3F%5Cs%29.*%24%27%2C+%27%27%2C+%27i%27%29%29%29+LIMIT+25"
}
```

### Get permit

- Capability: `building-permits/get_permit`
- Description: One City of San José building permit by folder number (2026-128769-CI), looked up in the Active, Expired and Last 30 days lists in one request: the shared permit fields with status (Active, Under Inspection, Expired, Finaled), contractor and applicant, source_url, licence, the list and dataset it came from, and raw, its datastore row with every published column except the owner's name (plan check approvals, internal folder id). A number in no list (unknown, a planning permit, or finaled more than 30 days ago) is not_found.
- Instructions: After search_permits, or when you have a San José building permit number, to read every published column and its current state.
- Cost: 5 credits per call
- Capability file: [Get permit](https://firecrawl.dev/alexandria/agents/providers/data-sanjoseca-gov/building-permits/get_permit)

Accepted options:
- `permit_number` (string, required): San José folder number, e.g. 2026-128769-CI or 2013-127537-CI (case-insensitive). Pattern: ^[0-9]{4}-[0-9]{3,8}-[A-Za-z]{1,6}$. Example: `<permit_number>`

Response schema example:
```json
{
  "address": "1123 COLEMAN AV",
  "applied_date": null,
  "city": "SAN JOSE",
  "completed_date": null,
  "contractors": [
    {
      "company": "DEVCON CONSTRUCTION INC",
      "license_number": null,
      "name": "PAMELA WARREN",
      "phone": null,
      "role": "contractor"
    }
  ],
  "dataset": {
    "id": "df4b8461-0c7a-4d16-b85d-ff7f71c5fed5",
    "name": "Expired Building Permits",
    "portal": "data.sanjoseca.gov",
    "updated_at": "2026-10-27T12:00:58Z",
    "url": "https://data.sanjoseca.gov/dataset/expired-building-permits"
  },
  "description": "EARTHQUAKES (BEPM 80%) NEW STADIUM",
  "expires_date": null,
  "housing_units": 0,
  "issued_date": "2013-10-29",
  "jurisdiction": {
    "county": "Santa Clara",
    "name": "San Jose",
    "state": "CA"
  },
  "latitude": null,
  "license": {
    "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
    "name": "Creative Commons CCZero",
    "url": "https://creativecommons.org/publicdomain/zero/1.0/"
  },
  "list": "expired",
  "longitude": null,
  "observed_at_ms": 1793149495143,
  "parcel_id": "23046055",
  "permit_class": "Assembly",
  "permit_number": "2013-127537-CI",
  "permit_type": "Commercial/Industrial",
  "raw": {
    "APPLICANT": "DEVCON CONSTRUCTION INC  PAMELA WARREN",
    "ASSESSORS_PARCEL_NUMBER": "23046055",
    "CONTRACTOR": "DEVCON CONSTRUCTION INC  PAMELA WARREN",
    "DWELLINGUNITS": "0",
    "FINALDATE": null,
    "FOLDERDESC": "Commercial/Industrial",
    "FOLDERNAME": "EARTHQUAKES (BEPM 80%) NEW STADIUM",
    "FOLDERNUMBER": "2013-127537-CI",
    "FOLDERRSN": "1553350",
    "ISSUEDATE": "10/29/2013 12:00:00 AM",
    "PERMITAPPROVALS": "B-4. Complete, E-4. Complete, P-4. Complete, M-4. Complete",
    "PERMITVALUATION": "40000000",
    "SQUAREFOOTAGE": "220670",
    "SUBTYPEDESCRIPTION": "Assembly",
    "Status": "Expired",
    "WORKDESCRIPTION": "New Construction",
    "gx_location": "1123  COLEMAN AV  , SAN JOSE CA "
  },
  "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search?resource_id=df4b8461-0c7a-4d16-b85d-ff7f71c5fed5&filters=%7B%22FOLDERNUMBER%22%3A%222013-127537-CI%22%7D",
  "square_feet": 220670,
  "state": "CA",
  "status": "Expired",
  "valuation_usd": 40000000,
  "work_class": "New Construction",
  "zip": null
}
```

### Search permits

- Capability: `building-permits/search_permits`
- Description: Search City of San José building permits on San José Open Data (data.sanjoseca.gov, Planning, Building and Code Enforcement, CC0, reloaded daily) by street address, ZIP, contractor or applicant, permit, occupancy or work type, permit title, list (active, under inspection, expired, issued in the last 30 days), issue-date window, minimum valuation or Santa Clara County APN; newest issued first, or largest valuation first. Each record has the shared permit fields (folder number, type, occupancy, work type, title, status, issued and final days, address, ZIP, APN, valuation, net dwelling units, square feet, contractor and applicant), the list it came from, source_url and licence. The city publishes active, expired and last-30-days permits only: a permit finaled more than 30 days ago is in no list. An empty page is a valid result.
- Instructions: Use for permits at a San José address or parcel, a contractor's permits, large or new-construction projects, or new permits since a day: pass status issued_last_30_days with issued_since set to the last day you checked (the lists are reloaded daily and carry no row update time). Then get_permit for every column, or contractor_activity to rank contractors.
- Cost: 5 credits per call
- Capability file: [Search permits](https://firecrawl.dev/alexandria/agents/providers/data-sanjoseca-gov/building-permits/search_permits)

Accepted options:
- `address` (string): Street line (988 Rock Avenue, 1123 Coleman Ave). Text after a comma is ignored and a trailing Avenue, Street, Drive, Court, Way, Boulevard, Circle, Expressway and similar becomes the city's abbreviation (AV, ST, DR, CT, WY, BL, CL, EX). A line starting with a house number matches from the start of the address, so 988 Rock AV does not match 1988 Rock AV; directional prefixes are part of the line (1024 S De Anza Blvd). Example: `<address>`
- `contractor` (string): Case-insensitive substring of the contractor or applicant as published, company or contact (Sunrun, Devcon, Swenson). Example: `<contractor>`
- `cursor` (string): next_cursor from the previous page; repeat the same filters with it. Pattern: ^[0-9]+$. Example: `<cursor>`
- `description` (string): Case-insensitive substring of the permit title (FOLDERNAME): stadium, pool, Microsoft, Block A. Example: `<description>`
- `issued_since` (string): Only permits issued on or after this day, YYYY-MM-DD. To poll for new permits, pass the last day you checked. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_since>`
- `issued_until` (string): Only permits issued on or before this day, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_until>`
- `limit` (number): Rows per page. Example: `25`
- `min_valuation` (number): Only permits whose declared valuation is at least this many USD. Example: `10`
- `parcel_id` (string): Santa Clara County APN, 23046055 or 230-46-055; matches any parcel a permit lists. Pattern: ^[0-9]{3}-?[0-9]{2}-?[0-9]{3}$. Example: `<parcel_id>`
- `permit_type` (string): Case-insensitive substring over folder type, occupancy subtype and work type: New Construction, Solar, ReRoof, Tenant Improvement, Data Center, ADU, Single-Family, Demolition. Example: `<permit_type>`
- `sort` (string): issued_desc: newest issued first; valuation_desc: largest declared valuation first. Example: `issued_desc`
- `status` (string): Which published list to read. any (default): Active, Expired and permits issued in the last 30 days, each permit once, in one request. active: issued and not finaled or expired (includes under inspection); under_inspection: active permits with inspections under way; expired; issued_last_30_days: every permit issued in the last 30 days whatever its state, the list to poll for new permits. Finaled permits older than 30 days are not published. Example: `any`
- `zip` (string): 5-digit ZIP code (95131). Pattern: ^[0-9]{5}$. Example: `<zip>`

Response schema example:
```json
{
  "count": 2,
  "dataset": {
    "id": "761b7ae8-3be1-4ad6-923d-c7af6404a904,df4b8461-0c7a-4d16-b85d-ff7f71c5fed5,045b3678-e923-4002-b696-300955bc6d06",
    "name": "Active Building Permits + Expired Building Permits + Last 30 days building permits",
    "portal": "data.sanjoseca.gov",
    "updated_at": "2026-10-27T12:00:58Z",
    "url": "https://data.sanjoseca.gov/organization/planning-building-code-enforcement"
  },
  "jurisdiction": {
    "county": "Santa Clara",
    "name": "San Jose",
    "state": "CA"
  },
  "license": {
    "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
    "name": "Creative Commons CCZero",
    "url": "https://creativecommons.org/publicdomain/zero/1.0/"
  },
  "next_cursor": null,
  "observed_at_ms": 1793149490719,
  "records": [
    {
      "address": "1123 COLEMAN AV",
      "applied_date": null,
      "city": "SAN JOSE",
      "completed_date": null,
      "contractors": [
        {
          "company": "DEVCON CONSTRUCTION INC",
          "license_number": null,
          "name": "PAMELA WARREN",
          "phone": null,
          "role": "contractor"
        }
      ],
      "description": "EARTHQUAKES (BEPM 80%) NEW STADIUM",
      "expires_date": null,
      "housing_units": 0,
      "issued_date": "2013-10-29",
      "latitude": null,
      "license": {
        "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
        "name": "Creative Commons CCZero",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/"
      },
      "list": "expired",
      "longitude": null,
      "parcel_id": "23046055",
      "permit_class": "Assembly",
      "permit_number": "2013-127537-CI",
      "permit_type": "Commercial/Industrial",
      "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search?resource_id=df4b8461-0c7a-4d16-b85d-ff7f71c5fed5&filters=%7B%22FOLDERNUMBER%22%3A%222013-127537-CI%22%7D",
      "square_feet": 220670,
      "state": "CA",
      "status": "Expired",
      "valuation_usd": 40000000,
      "work_class": "New Construction",
      "zip": null
    },
    {
      "address": "1123 COLEMAN AV",
      "applied_date": null,
      "city": "SAN JOSE",
      "completed_date": null,
      "contractors": [
        {
          "company": "DEVCON CONSTRUCTION INC",
          "license_number": null,
          "name": "PAMELA WARREN",
          "phone": null,
          "role": "contractor"
        }
      ],
      "description": "EARTHQUAKES (BEP 20% ) NEW STADIUM",
      "expires_date": null,
      "housing_units": 0,
      "issued_date": "2013-08-20",
      "latitude": null,
      "license": {
        "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
        "name": "Creative Commons CCZero",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/"
      },
      "list": "expired",
      "longitude": null,
      "parcel_id": "23046055",
      "permit_class": "Assembly",
      "permit_number": "2013-110540-CI",
      "permit_type": "Commercial/Industrial",
      "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search?resource_id=df4b8461-0c7a-4d16-b85d-ff7f71c5fed5&filters=%7B%22FOLDERNUMBER%22%3A%222013-110540-CI%22%7D",
      "square_feet": 0,
      "state": "CA",
      "status": "Expired",
      "valuation_usd": 10000000,
      "work_class": "New Construction",
      "zip": null
    }
  ],
  "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search_sql?sql=SELECT+*+FROM+%28SELECT+t.%22Status%22%2C+t.%22gx_location%22%2C+t.%22ASSESSORS_PARCEL_NUMBER%22%2C+t.%22APPLICANT%22%2C+t.%22CONTRACTOR%22%2C+t.%22FOLDERNUMBER%22%2C+t.%22FOLDERDESC%22%2C+t.%22FOLDERNAME%22%2C+t.%22SUBTYPEDESCRIPTION%22%2C+t.%22WORKDESCRIPTION%22%2C+t.%22PERMITAPPROVALS%22%2C+t.%22ISSUEDATE%22%2C+t.%22FINALDATE%22%2C+t.%22DWELLINGUNITS%22%2C+t.%22PERMITVALUATION%22%2C+t.%22SQUAREFOOTAGE%22%2C+t.%22FOLDERRSN%22%2C+%27active%27+AS+_list%2C+CASE+WHEN+EXISTS+%28SELECT+1+FROM+%2289ccdad9-7309-4826-a5f3-2fcf1fcb20fa%22+x+WHERE+x.%22FOLDERRSN%22+%3D+t.%22FOLDERRSN%22%29+THEN+%27Under+Inspection%27+ELSE+%27Active%27+END+AS+_status%2C+CASE+WHEN+t.%22ISSUEDATE%22+%7E+%27%5E%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B4%7D%27+THEN+to_date%28t.%22ISSUEDATE%22%2C+%27MM%2FDD%2FYYYY%27%29+END+AS+_issued+FROM+%22761b7ae8-3be1-4ad6-923d-c7af6404a904%22+t+UNION+ALL+SELECT+t.%22Status%22%2C+t.%22gx_location%22%2C+t.%22ASSESSORS_PARCEL_NUMBER%22%2C+t.%22APPLICANT%22%2C+t.%22CONTRACTOR%22%2C+t.%22FOLDERNUMBER%22%2C+t.%22FOLDERDESC%22%2C+t.%22FOLDERNAME%22%2C+t.%22SUBTYPEDESCRIPTION%22%2C+t.%22WORKDESCRIPTION%22%2C+t.%22PERMITAPPROVALS%22%2C+t.%22ISSUEDATE%22%2C+t.%22FINALDATE%22%2C+t.%22DWELLINGUNITS%22%2C+t.%22PERMITVALUATION%22%2C+t.%22SQUAREFOOTAGE%22%2C+t.%22FOLDERRSN%22%2C+%27expired%27+AS+_list%2C+%27Expired%27+AS+_status%2C+CASE+WHEN+t.%22ISSUEDATE%22+%7E+%27%5E%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B4%7D%27+THEN+to_date%28t.%22ISSUEDATE%22%2C+%27MM%2FDD%2FYYYY%27%29+END+AS+_issued+FROM+%22df4b8461-0c7a-4d16-b85d-ff7f71c5fed5%22+t+UNION+ALL+SELECT+t.%22Status%22%2C+t.%22gx_location%22%2C+t.%22ASSESSORS_PARCEL_NUMBER%22%2C+t.%22APPLICANT%22%2C+t.%22CONTRACTOR%22%2C+t.%22FOLDERNUMBER%22%2C+t.%22FOLDERDESC%22%2C+t.%22FOLDERNAME%22%2C+t.%22SUBTYPEDESCRIPTION%22%2C+t.%22WORKDESCRIPTION%22%2C+t.%22PERMITAPPROVALS%22%2C+t.%22ISSUEDATE%22%2C+t.%22FINALDATE%22%2C+t.%22DWELLINGUNITS%22%2C+t.%22PERMITVALUATION%22%2C+t.%22SQUAREFOOTAGE%22%2C+t.%22FOLDERRSN%22%2C+%27issued_last_30_days%27+AS+_list%2C+CASE+WHEN+t.%22FINALDATE%22+IS+NOT+NULL+THEN+%27Finaled%27+WHEN+EXISTS+%28SELECT+1+FROM+%2289ccdad9-7309-4826-a5f3-2fcf1fcb20fa%22+x+WHERE+x.%22FOLDERRSN%22+%3D+t.%22FOLDERRSN%22%29+THEN+%27Under+Inspection%27+WHEN+EXISTS+%28SELECT+1+FROM+%22761b7ae8-3be1-4ad6-923d-c7af6404a904%22+x+WHERE+x.%22FOLDERRSN%22+%3D+t.%22FOLDERRSN%22%29+THEN+%27Active%27+END+AS+_status%2C+CASE+WHEN+t.%22ISSUEDATE%22+%7E+%27%5E%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B4%7D%27+THEN+to_date%28t.%22ISSUEDATE%22%2C+%27MM%2FDD%2FYYYY%27%29+END+AS+_issued+FROM+%22045b3678-e923-4002-b696-300955bc6d06%22+t+WHERE+NOT+EXISTS+%28SELECT+1+FROM+%22761b7ae8-3be1-4ad6-923d-c7af6404a904%22+x+WHERE+x.%22FOLDERRSN%22+%3D+t.%22FOLDERRSN%22%29%29+AS+p+WHERE+btrim%28regexp_replace%28p.%22gx_location%22%2C+%27%5Cs%2B%27%2C+%27+%27%2C+%27g%27%29%29+ILIKE+%271123+Coleman+AV%25%27+AND+%28btrim%28regexp_replace%28p.%22FOLDERDESC%22%2C+%27%5Cs%2B%27%2C+%27+%27%2C+%27g%27%29%29+ILIKE+%27%25New+Construction%25%27+OR+btrim%28regexp_replace%28p.%22SUBTYPEDESCRIPTION%22%2C+%27%5Cs%2B%27%2C+%27+%27%2C+%27g%27%29%29+ILIKE+%27%25New+Construction%25%27+OR+btrim%28regexp_replace%28p.%22WORKDESCRIPTION%22%2C+%27%5Cs%2B%27%2C+%27+%27%2C+%27g%27%29%29+ILIKE+%27%25New+Construction%25%27%29+ORDER+BY+p._issued+DESC+NULLS+LAST%2C+p.%22FOLDERNUMBER%22+DESC+LIMIT+25"
}
```

### Search planning permits

- Capability: `planning-permits/search_planning_permits`
- Description: Search City of San José planning (land-use) permits on San José Open Data: the Last 30 days and Last 60-180 days Planning Permits lists (Planning, Building and Code Enforcement, CC0, reloaded daily), about 700 permits: site development, planned development and conditional use permits, permit adjustments, sign permits, tree removals, zoning verification letters and environmental review. Filter by address, ZIP, APN, applicant, folder type, subtype or work, title, zoning, planning file number (H26-008), folder number, list and issue-date window; newest issued first. Each record has the shared permit fields plus file_number, zoning, period, the applicant, source_url and licence. The city publishes no list for permits issued 31 to 59 days ago, and nothing older than 180 days. An empty page is a valid result.
- Instructions: Use for land-use decisions in San José: what the city approved recently (issued_since the last day you checked, period last_30_days), development or conditional use permits for a project (permit_type Development Permit, file_number), or planning activity at an address or parcel. Poll at least every 30 days to see every new permit.
- Cost: 5 credits per call
- Capability file: [Search planning permits](https://firecrawl.dev/alexandria/agents/providers/data-sanjoseca-gov/planning-permits/search_planning_permits)

Accepted options:
- `address` (string): Street line (988 Rock Avenue, 1123 Coleman Ave). Text after a comma is ignored and a trailing Avenue, Street, Drive, Court, Way, Boulevard, Circle, Expressway and similar becomes the city's abbreviation (AV, ST, DR, CT, WY, BL, CL, EX). A line starting with a house number matches from the start of the address, so 988 Rock AV does not match 1988 Rock AV; directional prefixes are part of the line (1024 S De Anza Blvd). Example: `<address>`
- `applicant` (string): Case-insensitive substring of the applicant as published, company or contact (Kimco, Summerhill, Eden Housing). Example: `<applicant>`
- `cursor` (string): next_cursor from the previous page; repeat the same filters with it. Pattern: ^[0-9]+$. Example: `<cursor>`
- `description` (string): Case-insensitive substring of the folder name, often a project title (BOFA ATM, franchise). Example: `<description>`
- `file_number` (string): Planning file number, exact and case-insensitive (H26-008, PD25-004, AD26-686). Pattern: ^[A-Za-z0-9-]+$. Example: `<file_number>`
- `issued_since` (string): Only permits issued on or after this day, YYYY-MM-DD. To poll for new permits, pass the last day you checked. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_since>`
- `issued_until` (string): Only permits issued on or before this day, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<issued_until>`
- `limit` (number): Rows per page. Example: `25`
- `parcel_id` (string): Santa Clara County APN, 23046055 or 230-46-055; matches any parcel a permit lists. Pattern: ^[0-9]{3}-?[0-9]{2}-?[0-9]{3}$. Example: `<parcel_id>`
- `period` (string): Which published list to read: any (default, both in one request), last_30_days or days_60_to_180. Example: `any`
- `permit_number` (string): Folder number, exact (2026-107638-DEV). Pattern: ^[0-9]{4}-[0-9]{3,8}-[A-Za-z]{1,6}$. Example: `<permit_number>`
- `permit_type` (string): Case-insensitive substring over folder type, subtype and work: Development Permit, Conditional Use, Site Development, Planned Development, Permit Adjustment, Sign Permit, Tree Removal, Zoning Verification, Environmental Review, Residential, Mixed Use. Example: `<permit_type>`
- `sort` (string): issued_desc: newest issued first; issued_asc: oldest first. Example: `issued_desc`
- `zip` (string): 5-digit ZIP code (95131). Pattern: ^[0-9]{5}$. Example: `<zip>`
- `zoning` (string): Case-insensitive substring of the zoning district (IP, PD, CG). Example: `<zoning>`

Response schema example:
```json
{
  "count": 5,
  "dataset": {
    "id": "a6df12fb-ca4b-49e8-8cde-d444b112877b",
    "name": "Last 60-180 days Planning Permits",
    "portal": "data.sanjoseca.gov",
    "updated_at": "2026-10-27T12:01:06Z",
    "url": "https://data.sanjoseca.gov/dataset/last-60-180-days-planning-permits"
  },
  "jurisdiction": {
    "county": "Santa Clara",
    "name": "San Jose",
    "state": "CA"
  },
  "license": {
    "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
    "name": "Creative Commons CCZero",
    "url": "https://creativecommons.org/publicdomain/zero/1.0/"
  },
  "next_cursor": "5",
  "observed_at_ms": 1793149499933,
  "records": [
    {
      "address": "2187 NOLA DR",
      "applied_date": null,
      "city": "SAN JOSE",
      "completed_date": null,
      "contractors": [
        {
          "company": "YOSHIZUKA HOMER A TRUSTEE",
          "license_number": null,
          "name": null,
          "phone": null,
          "role": "applicant"
        }
      ],
      "description": "2187 NOLA DRIVE",
      "expires_date": null,
      "file_number": "TR26-472",
      "housing_units": null,
      "issued_date": "2026-08-27",
      "latitude": null,
      "license": {
        "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
        "name": "Creative Commons CCZero",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/"
      },
      "longitude": null,
      "parcel_id": "43953030",
      "period": "days_60_to_180",
      "permit_class": "Unsuitable Tree",
      "permit_number": "2026-135047-TREE",
      "permit_type": "Tree Removal Permit",
      "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search?resource_id=a6df12fb-ca4b-49e8-8cde-d444b112877b&filters=%7B%22FOLDERNUMBER%22%3A%222026-135047-TREE%22%7D",
      "square_feet": null,
      "state": "CA",
      "status": "Issued",
      "valuation_usd": null,
      "work_class": "Single-Family Residence, private lot",
      "zip": "95125",
      "zoning": null
    },
    {
      "address": "1580 DARLENE AV",
      "applied_date": null,
      "city": "SAN JOSE",
      "completed_date": null,
      "contractors": [
        {
          "company": null,
          "license_number": null,
          "name": "Corey Wong",
          "phone": null,
          "role": "applicant"
        }
      ],
      "description": "TR26-429",
      "expires_date": null,
      "file_number": "TR26-429",
      "housing_units": null,
      "issued_date": "2026-08-27",
      "latitude": null,
      "license": {
        "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
        "name": "Creative Commons CCZero",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/"
      },
      "longitude": null,
      "parcel_id": "44637014",
      "period": "days_60_to_180",
      "permit_class": "Unsuitable Tree",
      "permit_number": "2026-131809-TREE",
      "permit_type": "Tree Removal Permit",
      "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search?resource_id=a6df12fb-ca4b-49e8-8cde-d444b112877b&filters=%7B%22FOLDERNUMBER%22%3A%222026-131809-TREE%22%7D",
      "square_feet": null,
      "state": "CA",
      "status": "Issued",
      "valuation_usd": null,
      "work_class": "Single-Family Residence, private lot",
      "zip": "95125",
      "zoning": null
    },
    {
      "address": "6367 PROSPECT RD",
      "applied_date": null,
      "city": "SAN JOSE",
      "completed_date": null,
      "contractors": [
        {
          "company": null,
          "license_number": null,
          "name": "Ziqing Duan",
          "phone": null,
          "role": "applicant"
        }
      ],
      "description": "TR26-404",
      "expires_date": null,
      "file_number": "TR26-404",
      "housing_units": null,
      "issued_date": "2026-08-27",
      "latitude": null,
      "license": {
        "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
        "name": "Creative Commons CCZero",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/"
      },
      "longitude": null,
      "parcel_id": "37310004",
      "period": "days_60_to_180",
      "permit_class": "Unsuitable Tree",
      "permit_number": "2026-130030-TREE",
      "permit_type": "Tree Removal Permit",
      "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search?resource_id=a6df12fb-ca4b-49e8-8cde-d444b112877b&filters=%7B%22FOLDERNUMBER%22%3A%222026-130030-TREE%22%7D",
      "square_feet": null,
      "state": "CA",
      "status": "Issued",
      "valuation_usd": null,
      "work_class": "Single-Family Residence, private lot",
      "zip": "95129",
      "zoning": null
    },
    {
      "address": "3637 SNELL AV",
      "applied_date": null,
      "city": "SAN JOSE",
      "completed_date": null,
      "contractors": [
        {
          "company": null,
          "license_number": null,
          "name": "Cassie Ralski",
          "phone": null,
          "role": "applicant"
        }
      ],
      "description": "3637 SNELL AVENUE",
      "expires_date": null,
      "file_number": "TR26-097",
      "housing_units": null,
      "issued_date": "2026-08-27",
      "latitude": null,
      "license": {
        "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
        "name": "Creative Commons CCZero",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/"
      },
      "longitude": null,
      "parcel_id": "46219005",
      "period": "days_60_to_180",
      "permit_class": "Dead Tree",
      "permit_number": "2026-104093-TREE",
      "permit_type": "Tree Removal Permit",
      "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search?resource_id=a6df12fb-ca4b-49e8-8cde-d444b112877b&filters=%7B%22FOLDERNUMBER%22%3A%222026-104093-TREE%22%7D",
      "square_feet": null,
      "state": "CA",
      "status": "Issued",
      "valuation_usd": null,
      "work_class": "Multi-Family Lot",
      "zip": "95136",
      "zoning": null
    },
    {
      "address": "1296 WEIBEL WY",
      "applied_date": null,
      "city": "SAN JOSE",
      "completed_date": null,
      "contractors": [
        {
          "company": null,
          "license_number": null,
          "name": "David Gardner",
          "phone": null,
          "role": "applicant"
        }
      ],
      "description": "TR26-462",
      "expires_date": null,
      "file_number": "TR26-462",
      "housing_units": null,
      "issued_date": "2026-08-25",
      "latitude": null,
      "license": {
        "attribution": "City of San José Planning, Building and Code Enforcement, via San José Open Data (data.sanjoseca.gov)",
        "name": "Creative Commons CCZero",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/"
      },
      "longitude": null,
      "parcel_id": "28450029",
      "period": "days_60_to_180",
      "permit_class": "Unsuitable Tree",
      "permit_number": "2026-134120-TREE",
      "permit_type": "Tree Removal Permit",
      "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search?resource_id=a6df12fb-ca4b-49e8-8cde-d444b112877b&filters=%7B%22FOLDERNUMBER%22%3A%222026-134120-TREE%22%7D",
      "square_feet": null,
      "state": "CA",
      "status": "Issued",
      "valuation_usd": null,
      "work_class": "Single-Family Residence, private lot",
      "zip": "95125",
      "zoning": null
    }
  ],
  "source_url": "https://data.sanjoseca.gov/api/3/action/datastore_search_sql?sql=SELECT+*+FROM+%28SELECT+t.%22Status%22%2C+t.%22gx_location%22%2C+t.%22ASSESSORS_PARCEL_NUMBER%22%2C+t.%22ZONING%22%2C+t.%22APPLICANT%22%2C+t.%22FOLDERNUMBER%22%2C+t.%22FOLDERDESCRIPTION%22%2C+t.%22FOLDERNAME%22%2C+t.%22REFERENCEFILE%22%2C+t.%22SUBDESCRIPTION%22%2C+t.%22WORKDESCRIPTION%22%2C+t.%22ISSUEDATE%22%2C+t.%22FINALDATE%22%2C+t.%22FOLDERRSN%22%2C+%27days_60_to_180%27+AS+_list%2C+CASE+WHEN+t.%22ISSUEDATE%22+%7E+%27%5E%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B1%2C2%7D%2F%5B0-9%5D%7B4%7D%27+THEN+to_date%28t.%22ISSUEDATE%22%2C+%27MM%2FDD%2FYYYY%27%29+END+AS+_issued+FROM+%22a6df12fb-ca4b-49e8-8cde-d444b112877b%22+t%29+AS+p+WHERE+%28btrim%28regexp_replace%28p.%22FOLDERDESCRIPTION%22%2C+%27%5Cs%2B%27%2C+%27+%27%2C+%27g%27%29%29+ILIKE+%27%25Tree+Removal%25%27+OR+btrim%28regexp_replace%28p.%22SUBDESCRIPTION%22%2C+%27%5Cs%2B%27%2C+%27+%27%2C+%27g%27%29%29+ILIKE+%27%25Tree+Removal%25%27+OR+btrim%28regexp_replace%28p.%22WORKDESCRIPTION%22%2C+%27%5Cs%2B%27%2C+%27+%27%2C+%27g%27%29%29+ILIKE+%27%25Tree+Removal%25%27%29+ORDER+BY+p._issued+DESC+NULLS+LAST%2C+p.%22FOLDERNUMBER%22+DESC+LIMIT+5"
}
```
