Parcels

Parcel dossier (paid, provenance-first)

The Machine Storefront's per-parcel dossier: a single provenance-first JSON payload carrying every POPULATED field for the parcel as {name, value} (by default: no sections/fields params delivers everything the quote was priced on), plus the real deeds / comparable-sales / permits sub-tables (each comparable sale carries the read-time similarity_score 0–100 and similarity_components the free comps serve; they never change the price). The per-field receipts (source, as_of, confidence, coverage tier) are opt-in: ?include_provenance=true adds a provenance map keyed by field name. ?sections= (identity, valuation, owner, hazard, permits, deeds, market, demographics, core, all) and ?fields= narrow the delivered field list; anything narrowed out is NAMED in meta.projection.omitted_fields, and the price never changes with the projection. A ~50 KB soft cap applies to the fields portion only. The GeoJSON boundary is held out as a separately-priced add-on the base payload omits.

PRICE (value-tiered, per parcel): price = clamp($5 x V(asset value) x R(data richness) x F(freshness), $2, $20). The exact amount for a given parcel is quoted, before payment, by GET /api/v1/storefront/availability?parcel_id=... and is what the 402 advertises in accepts[0].maxAmountRequired (USDC atomic units, 6 decimals).

ACCESS requires ONE of: (a) x402 pay-per-call -- send a base64 signed x402 PaymentPayload in the X-PAYMENT header; on a successful build the dossier is returned and the on-chain settlement receipt is in the X-PAYMENT-RESPONSE response header. No account is needed: the dossier, PEOPLE DATA included (owner names, owner mailing addresses, entity principals, deed and sale party names and addresses), is delivered to a wallet-only or credit-token buyer once the x402 payment settles or the credit debit succeeds, and the price is computed on exactly that body. An unpaid caller gets the 402 quote and nothing else. Send your API key with the payment to receive them. (b) A genuine PAID PropRaven subscription entitlement -- the dossier is served on the subscription invoice. Being merely authenticated is NOT sufficient: a free-tier key, or a self-service first-party key with no paid plan, receives a 402. (c) Anything else -> HTTP 402 whose accepts array carries the exact x402 payment requirements for this parcel.

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

Request

  • Base URL: https://propraven.com
  • URL: https://propraven.com/api/v1/parcels/{id}/report
  • Auth: one of:
    • HTTP bearer
    • none

Path parameters

idstring required

Parcel ID. Composite county_fips:parcel_id or county-local id when county_fips query param is provided.

Query parameters

county_fipsstring
Example:37183

5-digit county FIPS. Strongly recommended when passing a county-local id.

sectionsstring
Example:deeds,permits

Comma-separated report sections to deliver in fields: identity, valuation, owner, hazard, permits, deeds, market, demographics, core (the first four) or all. Omit (with no fields) for all — every populated field the quote was priced on. The compact core is delivered only on an explicit core.

fieldsstring
Example:owner_name,zoning_code

Comma-separated parcels_serving column names to deliver on top of sections.

include_provenanceboolean

true attaches the per-field receipts map (provenance, keyed by field name: source, as_of, confidence, coverage, tier). Off by default — the receipts are epoch catalog metadata and roughly triple the payload.

Headers

X-PAYMENTstring

x402 payment: a base64-encoded signed x402 PaymentPayload (EIP-3009 transferWithAuthorization over USDC on Base). Present it to pay per call with no API key; the signed amount must equal this parcel's quoted maxAmountRequired (see the 402 body or /storefront/availability?parcel_id=). Omit it to be served only if your key holds a paid subscription entitlement; otherwise you receive a 402 carrying the payment requirements.

Response

The parcel dossier (provenance-first JSON).

Example response

{
  "parcel": {
    "canonical_id": "37:119:12104406"
  },
  "sections": {
    "deeds": {
      "relation": "parcel_deeds"
    },
    "comps": {
      "relation": "parcel_deeds"
    },
    "permits": {
      "relation": "parcel_deeds"
    }
  },
  "boundary": {
    "code": "geometry_geojson",
    "price": {
      "amount": "5.00",
      "currency": "USD"
    }
  },
  "meta": {
    "price": {
      "amount": "5.00",
      "currency": "USD"
    },
    "license": "https://propraven.com/terms#data-license"
  }
}

Changes

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