---
title: "Find entity-owned parcels (LLC, Corp, Trust, LP)"
method: GET
path: "/api/v1/deals/entities"
tags: ["Deals"]
---

# Find entity-owned parcels (LLC, Corp, Trust, LP)

`GET /api/v1/deals/entities`

## Request

- Base URL: `https://propraven.com`
- URL: `https://propraven.com/api/v1/deals/entities`
- Auth: HTTP bearer

Returns parcels owned by legal entities identified from owner-name pattern matching across 221M+ parcels. Pass `top=true` to get aggregated entity rankings instead of per-parcel rows. One of `county_fips`, `state_fips`, `search`, or `top` is required.

## Query parameters

- `county_fips` string
- `state_fips` string
- `entity_type` 'LLC' | 'CORP' | 'TRUST' | 'LP' | 'LTD' | 'ASSOCIATION' | 'OTHER_ENTITY'
- `search` string
- `min_value` integer
- `zoning` string
- `top` boolean
- `tax_delinquent` boolean
- `limit` integer
- `offset` integer

## Response `200`

Entity-owned parcels or top-entity aggregates returned. Shape varies with the `top` parameter.

- union
  - object
    - `data` EntityOwnedParcel[], required
      - `county_fips` string, required
      - `state_fips` string, required
      - `parcel_id` string, required
      - `owner_name` string, nullable, required
      - `entity_type` 'LLC' | 'CORP' | 'TRUST' | 'LP' | 'LTD' | 'ASSOCIATION' | 'OTHER_ENTITY' | 'null', nullable, required
      - `address` string, nullable, required
      - `city` string, nullable, required
      - `state` string, nullable, required
      - `zip` string, nullable, required
      - `total_assessed_value` integer, nullable, required
      - `lot_size_acres` number, nullable, required
      - `year_built` integer, nullable, required
      - `zoning` string, nullable, required
      - `land_use_desc` string, nullable, required
      - `owner_address` string, nullable, required
      - `owner_city` string, nullable, required
      - `owner_state` string, nullable, required
      - `latitude` number, nullable, required
      - `longitude` number, nullable, required
    - `total` integer, required
    - `limit` integer, required
    - `offset` integer, required
    - `tax_delinquency_filter` TaxDelinquencyFilter: Present when `tax_delinquent=true` was applied.
      - `applied` boolean, required
      - `statuses` string[], required
      - `note` string, required
  - object
    - `data` EntityAggregate[]
      - `owner_name` string
      - `entity_type` string
      - `parcel_count` integer
      - `total_value` number, nullable
      - `states_arr` string[]
    - `summary` EntitySummary
      - `total_entities` integer
      - `total_parcels` integer
      - `llc_count` integer
      - `corp_count` integer
      - `trust_count` integer
      - `lp_count` integer
    - `total` integer
    - `limit` integer
    - `offset` integer

## Other responses

- `400`: One of county_fips, state_fips, search, or top is required.
- `401`: Missing, malformed or invalid credential.
- `402`: Monthly call cap reached (free tier, or a paid tier with the hard cap enabled).
- `405`: The endpoint exists but does not support this method. `Allow` lists the methods it does.
- `429`: Rate limit exceeded.
- `500`: Unexpected server error. The body never carries database or driver text.
- `503`: `tax_delinquent=true` before the tax delinquency layer's first load (`code: "tax_delinquency_unavailable"`).
- `504`: The query did not finish in time. Retry after `Retry-After` seconds or narrow the request.

---

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