# Permit Scouter – Building Permit Search

> Permit Scouter – Building Permit Search is a paid API for AI agents from api.permitscouter.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-27).

Search newly filed building permits in Tampa Bay, Florida by trade type, city/ZIP, job value range, and date range — returns up to 25 paginated results refreshed daily.

## Facts

- Endpoint: GET https://api.permitscouter.com/permits/search?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-27
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/permit-scouter-building-permit-search-03e28e33
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_uCpcRciv5tX4NCuL5Xnq5

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability permit-scouter-building-permit-search-03e28e33
```

Example prompt: Pull up roofing permits filed in Tampa since October 1st this year with a job value over $10,000 — show me up to 25 results.

## When to prefer this

Use this endpoint when you need to search across multiple Tampa Bay building permits using filters like trade type, location, date range, or job value — ideal for lead generation, market research, or contractor activity monitoring. Prefer this over the single-permit detail endpoint when you need discovery rather than lookup of a known permit, and over the contractor history endpoint when your query is geography- or trade-driven rather than contractor-driven.

## Known failure modes

- No results returned if no permits match the filter criteria within the covered jurisdictions
- Invalid trade enum value returns a validation error
- Date format other than YYYY-MM-DD causes a parsing error
- Jurisdiction key not found in /coverage returns an empty or error response
- Exceeding limit of 25 returns a validation error
- Offset beyond total results returns empty results array

## How this service works

New building permits from Tampa Bay, Florida, the morning after they're filed. Job value, contractor and trade on every permit. AI agents pay per search with x402.

## Output

A JSON object containing a total count, an array of up to 25 permit records (each with address, city, ZIP, status, trade(s), job valuation, permit number, permit key, description, record type, applied/issued dates, jurisdiction, contractor name, contractor key, and contractor license), and a next_offset value for pagination.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "q": {
       "type": "string",
       "description": "Words in the description"
      },
      "zip": {
       "type": "string"
      },
      "city": {
       "type": "string"
      },
      "limit": {
       "type": "integer",
       "maximum": 25,
       "minimum": 1
      },
      "since": {
       "type": "string",
       "description": "Applied on or after (YYYY-MM-DD)"
      },
      "trade": {
       "enum": [
        "roofing",
        "hvac",
        "solar",
        "pool",
        "electrical",
        "plumbing",
        "windows_doors",
        "new_construction",
        "remodel",
        "demolition"
       ],
       "type": "string"
      },
      "until": {
       "type": "string",
       "description": "Applied on or before (YYYY-MM-DD)"
      },
      "offset": {
       "type": "integer",
       "minimum": 0
      },
      "min_value": {
       "type": "number",
       "description": "Minimum job value in USD"
      },
      "jurisdiction": {
       "type": "string",
       "description": "A source key from /coverage (e.g. tampa) or a jurisdiction name"
      },
      "include_applications": {
       "type": "boolean"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "total": 1,
  "results": [
   {
    "zip": "33607",
    "city": "TAMPA",
    "status": "Issued",
    "trades": [
     "roofing"
    ],
    "address": "100 EXAMPLE ST",
    "valuation": 14500,
    "permit_key": "tampa:BLD-26-0000001",
    "description": "Re-roof, shingle",
    "issued_date": "2026-10-16",
    "record_type": "Residential Roofing",
    "applied_date": "2026-10-15",
    "jurisdiction": "City of Tampa",
    "permit_number": "BLD-26-0000001",
    "contractor_key": "ccc0000000",
    "contractor_name": "EXAMPLE ROOFING LLC",
    "contractor_license": "CCC0000000"
   }
  ],
  "next_offset": null
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/permit-scouter-building-permit-search-03e28e33/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.permitscouter.com](https://www.zero.xyz/host/api.permitscouter.com/llms.txt)
