Get a property's details
const url = 'https://example.com/api/public/v1/properties/7234891/';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/public/v1/properties/7234891/ \ --header 'Authorization: Bearer <token>'Returns parcel details including geometry centroid, owner, situs address, acreage, year built, zoning, and market valuation.
Cost: 10 tokens per call.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Land Insights numeric parcel identifier (also returned as property_id in search and filter responses).
Examples
Sample PropertyID
7234891Responses
Section titled “ Responses ”Full parcel detail — locked field list.
Mirrors the data exposed by the in-app parcel detail serializer, minus
internal plumbing (cache/dedup hashes, backup_zip5) and the raw
slope/elevation arrays. Field names are snake_case public aliases over the
PascalCase assessor columns; help text names the source where it isn’t
obvious.
object
Land Insights numeric identifier for the parcel. Stable.
Assessor’s Parcel Number — the county-assigned property identifier.
Sequence number distinguishing multiple records sharing an APN.
Previous or alternate APN.
Flag indicating the APN recently changed.
County tax account / bill number.
5-digit county FIPS code (2-digit state FIPS + 3-digit county FIPS).
First American general property-class code (e.g. Residential, Commercial, Office).
Geographic centroid (point-on-surface) of the parcel as [longitude, latitude] in WGS84 (EPSG:4326). May be null if geometry is unavailable.
Parcel boundary polygon as a GeoJSON geometry object (WGS84). Null when geometry is unavailable.
object
Parcel acreage as reported by the county assessor (source field LotSizeAcres). This is the authoritative legal/recorded acreage. For the acreage measured from the parcel polygon, see calculated_acres.
Parcel acreage computed from the parcel geometry (source field CalculatedAcres): the GIS area of the polygon in acres, rounded to two decimals. May differ from the assessor-reported acres due to surveying or geometry differences, and is null when geometry is unavailable.
Parcel area in square feet, per the assessor.
Physical street address of the parcel (situs).
Situs house number.
Situs house-number suffix (e.g. ‘1/2’).
Pre-directional of the situs street (e.g. ‘N’).
Situs street name.
Situs street suffix/mode (e.g. ‘ST’, ‘RD’).
Post-directional of the situs street (e.g. ‘SW’).
Situs unit type (e.g. ‘APT’, ‘STE’).
Situs unit number.
Situs city.
Situs two-letter US state code.
Situs 5-digit ZIP code.
Situs ZIP+4 extension.
USPS carrier route code for the situs address.
Assessor-provided situs latitude (WGS84).
Assessor-provided situs longitude (WGS84).
Geocoding match-quality status code for the situs coordinates.
US Census tract.
US Census block.
Land-use description, resolved from the assessor land-use code.
State-normalized land-use code.
County-specific land-use code (raw).
Zoning code as recorded by the county assessor. Codes are not standardized across counties — interpret in county context.
Flag indicating a mobile/manufactured home on the parcel.
Name of the school district the parcel falls within.
Assessor topography code.
Assessor water-service code.
Lot code.
Lot number.
Land lot.
Block.
Section.
District.
Legal unit.
Municipality.
Subdivision name.
Subdivision phase number.
Subdivision tract number.
PLSS meridian.
Reference to the assessor’s parcel map.
Free-text legal description of the parcel.
Full name of the primary owner of record (raw string from assessor; typically uppercase, may include corporate suffixes like ‘LLC’).
Full name of the secondary owner of record, if any.
Set when the primary owner is a corporate entity.
Primary owner first name.
Primary owner middle name.
Primary owner last name (or entity name).
Primary owner name suffix.
Set when the secondary owner is a corporate entity.
Secondary owner first name.
Secondary owner middle name.
Secondary owner last name (or entity name).
Secondary owner name suffix.
‘Y’ when the owner occupies the parcel; blank/null otherwise.
Ownership-rights code for the primary owner.
Owner’s full mailing street address.
Mailing house number.
Mailing house-number suffix.
Mailing street pre-directional.
Mailing street name.
Mailing street suffix/mode (e.g. ‘ST’, ‘RD’).
Mailing street post-directional.
Mailing unit type.
Mailing unit number.
Mailing city.
Mailing two-letter US state code.
Mailing 5-digit ZIP code.
Mailing ZIP+4 extension.
USPS carrier route code for the mailing address.
Do-not-mail flag for the owner mailing address.
Set when the mailing address is outside the US.
Assessor’s total assessed value, in whole US dollars.
Assessor’s assessed land value, in whole US dollars.
Assessor’s assessed improvement value, in whole US dollars.
Assessor’s most recent total market value estimate, in whole US dollars.
Assessor’s market land value, in whole US dollars.
Assessor’s market improvement value, in whole US dollars.
Improvement value as a percentage of total value — a vacancy signal (low percentage suggests little/no structure).
Annual property tax amount, in US dollars (source TaxAmt).
Tax year for tax_amount.
Earliest year the parcel became tax-delinquent; null if current.
Year of the assessor market-value estimate.
Year of the assessed values.
Tax rate area code governing the parcel.
Homestead exemption flag.
Veteran exemption flag.
Disabled exemption flag.
Widow/widower exemption flag.
Senior exemption flag.
School/college exemption flag.
Religious exemption flag.
Welfare exemption flag.
Public-utility exemption flag.
Cemetery exemption flag.
Hospital exemption flag.
Library exemption flag.
Building square footage considered most representative for assessment/comparison; the source area is named by building_area_indicator (e.g. Living, Adjusted, Gross).
Code naming which area was used to populate building_area.
Total building square footage on the parcel.
Total living area sq ft.
Ground-floor sq ft.
Gross area sq ft.
Adjusted area sq ft.
Year the primary structure was built, per the assessor. Null for vacant land or unrecorded structures.
Effective year built (after major renovations).
Number of bedrooms.
Total number of rooms.
Calculated total bathroom count.
Number of full bathrooms.
Number of partial bathrooms.
Assessor air-conditioning code.
Assessor heating code.
Number of garage/parking spaces.
Assessor building-quality code.
Assessor roof-cover code.
Assessor number-of-stories code.
Assessor building-style code.
Number of residential units.
Number of buildings/structures on the parcel.
Number of commercial units.
True when the parcel appears to have a structure (per the vacancy heuristic over building square footage and year built).
Internal transaction id for the most recent sale.
Recording document number for the most recent sale.
Deed book (current sale).
Deed page (current sale).
Recording date of the most recent sale (YYYYMMDD).
Contract date of the most recent sale (YYYYMMDD).
Deed/document type description for the most recent sale.
Most recent sale price, in whole US dollars.
Description of the sale-price code (e.g. full value, partial).
Primary buyer in the most recent sale.
Secondary buyer in the most recent sale.
Primary seller in the most recent sale (prior owner).
Secondary seller in the most recent sale.
Recording document number for the first concurrent mortgage.
Mortgage 1 book.
Mortgage 1 page.
Recording date of the first concurrent mortgage (YYYYMMDD).
Loan amount of the first concurrent mortgage, in whole USD.
Lender on the first concurrent mortgage.
Term of the first concurrent mortgage.
Interest rate (%) of the first concurrent mortgage.
Due date of the first concurrent mortgage (YYYYMMDD).
Loan-type description for the first concurrent mortgage.
Financing-type description for the first concurrent mortgage.
Recording document number for the second concurrent mortgage.
Mortgage 2 book.
Mortgage 2 page.
Recording date of the second concurrent mortgage (YYYYMMDD).
Loan amount of the second concurrent mortgage, in whole USD.
Lender on the second concurrent mortgage.
Term of the second concurrent mortgage.
Interest rate (%) of the second concurrent mortgage.
Due date of the second concurrent mortgage (YYYYMMDD).
Loan-type code for the second concurrent mortgage.
Financing-type code for the second concurrent mortgage.
Internal transaction id for the prior sale.
Recording document number for the prior sale.
Deed book (prior sale).
Deed page (prior sale).
Recording date of the prior sale (YYYYMMDD).
Contract date of the prior sale (YYYYMMDD).
Deed/document type code for the prior sale.
Prior sale price, in whole US dollars.
Sale-price code for the prior sale.
Primary buyer in the prior sale.
Secondary buyer in the prior sale.
Primary seller in the prior sale.
Secondary seller in the prior sale.
Recording document number for the prior first mortgage.
Prior mortgage 1 book.
Prior mortgage 1 page.
Recording date of the prior first mortgage (YYYYMMDD).
Loan amount of the prior first mortgage, in whole USD.
Lender on the prior first mortgage.
Term of the prior first mortgage.
Interest rate (%) of the prior first mortgage.
Due date of the prior first mortgage (YYYYMMDD).
Loan-type code for the prior first mortgage.
Financing-type code for the prior first mortgage.
Primary HOA name.
True when the parcel belongs to a primary HOA.
Secondary HOA name.
True when the parcel belongs to a secondary HOA.
True when the most recent transfer was between family members.
Date the source record was last edited, changed, or updated.
Source record change type (Update / Change / Insert / Delete).
True when the owner’s mailing state differs from the parcel’s.
True when the owner’s mailing county differs from the parcel’s.
True when the owner’s mailing ZIP differs from the parcel’s.
Building square footage estimated from overlapping structures.
Percentage of the parcel area overlapping mapped wetlands.
Percentage of the parcel area within a mapped flood zone.
True when no qualifying public road borders the parcel.
Total length of road frontage along the parcel, in feet.
True when the parcel falls within incorporated city limits.
Count of other parcels in the database with the same mailing address as the current owner — a rough portfolio-size signal.
Examples
Rural vacant parcel (abridged — full detail has many more fields)
{ "property_id": 7234891, "apn": "07111-04-006", "fips": 8023, "point": [ -105.42, 37.2 ], "shape": { "type": "Polygon", "coordinates": [ [ [ -105.421, 37.198 ], [ -105.419, 37.198 ], [ -105.419, 37.201 ], [ -105.421, 37.201 ], [ -105.421, 37.198 ] ] ] }, "acres": 5, "calculated_acres": 5.13, "owner_name": "SMITH JOHN", "situs_address": null, "situs_city": "SAN LUIS", "situs_state": "CO", "situs_zip": "81152", "land_use": "Vacant Land", "year_built": null, "zoning": "AG", "assessed_total_value": 9800, "market_total_value": 12400, "land_locked": false, "wetlands_percent": 0, "owner_parcel_count": 3}Validation error.
object
object
Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, validation_error, not_found, method_not_allowed, rate_limited, internal_error.
Human-readable description of the error.
Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.
Present on validation errors only: maps each rejected field to its list of messages.
object
Example generated
{ "error": { "code": "example", "message": "example", "request_id": "example", "details": {} }}Missing or invalid credentials.
object
object
Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, validation_error, not_found, method_not_allowed, rate_limited, internal_error.
Human-readable description of the error.
Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.
Present on validation errors only: maps each rejected field to its list of messages.
object
Example generated
{ "error": { "code": "example", "message": "example", "request_id": "example", "details": {} }}A Pro subscription or higher API tier is required.
object
object
Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, validation_error, not_found, method_not_allowed, rate_limited, internal_error.
Human-readable description of the error.
Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.
Present on validation errors only: maps each rejected field to its list of messages.
object
Example generated
{ "error": { "code": "example", "message": "example", "request_id": "example", "details": {} }}Authenticated but not permitted.
object
object
Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, validation_error, not_found, method_not_allowed, rate_limited, internal_error.
Human-readable description of the error.
Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.
Present on validation errors only: maps each rejected field to its list of messages.
object
Example generated
{ "error": { "code": "example", "message": "example", "request_id": "example", "details": {} }}Resource not found.
object
object
Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, validation_error, not_found, method_not_allowed, rate_limited, internal_error.
Human-readable description of the error.
Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.
Present on validation errors only: maps each rejected field to its list of messages.
object
Example generated
{ "error": { "code": "example", "message": "example", "request_id": "example", "details": {} }}Rate limit exceeded.
object
object
Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, validation_error, not_found, method_not_allowed, rate_limited, internal_error.
Human-readable description of the error.
Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.
Present on validation errors only: maps each rejected field to its list of messages.
object
Example generated
{ "error": { "code": "example", "message": "example", "request_id": "example", "details": {} }}Internal error.
object
object
Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, validation_error, not_found, method_not_allowed, rate_limited, internal_error.
Human-readable description of the error.
Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.
Present on validation errors only: maps each rejected field to its list of messages.
object
Example generated
{ "error": { "code": "example", "message": "example", "request_id": "example", "details": {} }}