---
title: "Search one property for code-violation records"
method: GET
path: "/api/v1/property/search"
---

# Search one property for code-violation records

`GET /api/v1/property/search`

## Request

- Base URL: `https://dirtsignal.com`
- URL: `https://dirtsignal.com/api/v1/property/search`
- Auth: HTTP bearer

Returns indexed records for one address. The default is indexed-only; set `live_search=true` to query every eligible portal covering the property. Indexed records remain in the response when an optional live search is unavailable or fails, with details in `live_search.message`. A `202` response means portal work is pending—retry the identical request with the same `Idempotency-Key` after `retry_after_seconds`. Successful intervals, including zero-result searches, are memoized per property and portal, so later searches pull only missing coverage. Statuses: `complete` = all portals finished, `complete_with_errors` = indexed results plus a live-search error, `pending` = indexed results plus unfinished live work, `unavailable` = indexed results with no healthy live portal. One idempotency key creates one customer search even when several portals are queried.

## Query parameters

- `address` string, required
- `city` string, required
- `state` string, required
- `live_search` boolean

## Headers

- `Idempotency-Key` string

## Response `200`

Property search result and billing usage ID

## Other responses

- `202`: Indexed results returned; retry the identical request with the same Idempotency-Key after retry_after_seconds
- `400`: A specific address is required
- `401`: Missing or invalid API key
- `403`: Property API access required

---

[API](https://skmtc.dev/dirtsignal/apis/dirtsignal-api.md) · [All operations](https://skmtc.dev/dirtsignal/apis/dirtsignal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dirtsignal/apis/dirtsignal-api/revisions/f0070eac9615?raw)
