Parcels

Get parcel permits

Retrieve building and construction permits associated with a parcel. ACCOUNT REQUIRED (API key, MCP OAuth token or signed-in session). Each permit carries the people the jurisdiction filed on it: owner_name, applicant_name, permit_contacts (every published phone and e-mail with its role, "unknown" where the publisher states none) and people_fields_published (the publisher's own people fields, verbatim). Each served read is recorded in PropRaven's people-data access log. LOOKUP CAP (2026-10-10): a response that carries at least one of these people fields counts as ONE lookup against the account's monthly lookup cap, exactly like an owner card (a paid plan includes it; a response with no people field counts nothing; the record page's own read spends nothing twice). At the cap the people fields are null, people_fields.code is lookup_cap_reached (on the envelope and on each row) and the permits are still returned; nothing is charged. See lookups on GET /api/v1/account/usage. PERMIT EVENTS (#868): a permit whose jurisdiction publishes them carries events (its inspections, fees, conditions, plan reviews and other records, newest first, at most 25), event_count, events_truncated and event_counts; the envelope's permit_events_status says whether they were read. The events' people fields are gated and counted with the permits'.

get/api/v1/parcels/{id}/permits

Request

  • Base URL: https://propraven.com
  • URL: https://propraven.com/api/v1/parcels/{id}/permits
  • Auth: HTTP bearer

Path parameters

idstring required
Example:37:119:12104406

Composite parcel identifier (county_fips:parcel_id).

Query parameters

shape'envelope'

Body shape. Omit for the default bare array of up to 100 permit rows (newest first); envelope returns { data, permit_count, permit_count_basis, truncated, row_cap }, where permit_count is the parcel's true count when permit_count_basis is exact and the size of the capped window (a floor) when capped, and truncated is true when the parcel has more permits than data carries.

Response

Permits returned. By default the body is a BARE ARRAY of permit rows, at most 100 (newest issued_date first) — a parcel with more permits is silently cut at 100 on this shape. With ?shape=envelope the body is { data, permit_count, permit_count_basis, truncated, row_cap } so the cap is reported.

OR

Example response

[
  {
    "permit_number": "BLD-2024-00123",
    "description": "New single family dwelling",
    "issued_date": "2024-03-15",
    "estimated_cost": 350000,
    "type": "Building",
    "status": "issued",
    "contractor": "ABC Construction LLC",
    "events": [
      {
        "event_id": "ydkf-mpxb_12557966",
        "event_type_raw": "Post-Audit",
        "raw_kind": "inspection",
        "source_key": "ydkf-mpxb"
      }
    ]
  }
]

Changes

No recorded changes to this operation across all 1 revision of this API.