Skip to content

Beta · v0.5 Everything is free for 30 days, no card needed. Prices go up at launch. See pricing

List parcels in a county

GET
/v1/parcels
curl --request GET \
--url 'https://api.acresift.com/v1/parcels?county=37105&bbox=-79.25%2C35.42%2C-79.15%2C35.50&limit=100' \
--header 'Authorization: Bearer <token>'

Parcels in one county, optionally inside a map box and an acre range, in ParcelKey order. Page with cursor.

county
required

County GEOID: the 5-digit Census state + county FIPS code

string
/^(?!9)\d{5}$/
Example
37105

County GEOID: the 5-digit Census state + county FIPS code

bbox

West,south,east,north in WGS 84 degrees (RFC 7946 order)

string
/^-?\d+(\.\d+)?(,-?\d+(\.\d+)?){3}$/
Example
-79.25,35.42,-79.15,35.50

West,south,east,north in WGS 84 degrees (RFC 7946 order)

minAcres
number | null
maxAcres
number | null
limit

At most 500

integer
default: 100 >= 1 <= 500

At most 500

cursor

The next value from the previous page

string
/^\d{1,15}$/

The next value from the previous page

A page of parcels

Media typeapplication/json
object
data
required
Array<object>
object
ParcelKey
required

Acresift’s id for the parcel. Stable while the county keeps the parcel

string
ParcelNumber
required

The county’s parcel number (APN / PIN), as the county writes it

string | null
CountyGEOID
required
string
CountyOrParish
required
string | null
StateOrProvince
required

USPS state code

string
SubdivisionCode
required

ISO 3166-2 code

string
Country
required

ISO 3166-1 alpha-2

string
Allowed values: US
UnparsedAddress
required

Situs (the land’s own) address

string | null
City
required

City of the situs address as the county records it (a postal name, not town limits)

string | null
IncorporatedMunicipality
required

Town or city whose limits contain the parcel’s centre; null = unincorporated

string | null
Latitude
required

WGS 84 decimal degrees, centre of the parcel

number | null
Longitude
required
number | null
BoundingBox
required

RFC 7946 bbox: [west, south, east, north] in WGS 84

Array<number> | null
LotSizeAcres
required

Area of the mapped outline (GIS acres), not the deeded acreage

number | null
LotSizeHectares
required
number | null
LotSizeSource
required
string
Allowed values: GIS
LandUseCode
required

The county’s land use / property class code, unmapped

string | null
StructurePresentYN
required

The county records a building on the parcel

boolean | null
TaxAssessedValue
required

County assessed (tax) value, total of land and buildings

number | null
CurrencyCode
required

ISO 4217 currency of every money field

string
Allowed values: USD
OwnerName
required

Owner of record (public record)

string | null
OwnerMailingAddress
required

Where the tax bill goes, one line as the county writes it

string | null
LastSale
required
object
ClosePrice
required

Recorded sale price

number | null
CloseDate
required

ISO 8601 date

string | null
CurrencyCode
required

ISO 4217

string
Allowed values: USD
MarketSaleYN
required

True when ClosePrice is $1,000 or more; lower amounts are gifts and other non-market transfers

boolean
DeedBook
required
string | null
DeedPage
required
string | null
Provenance
required
object
SourceId
required

Id of the row in GET /v1/sources

string | null
SourceName
required
string | null
AsOf
required

ISO 8601 date or date-time the value was last pulled or computed

string | null
Building
required
object
YearBuilt
required
integer | null
LivingArea
required

Heated living area

number | null
LivingAreaUnits
required
string
Allowed values: Square Feet
LivingAreaSquareMeters
required
number | null
BedroomsTotal
required
number | null
BathroomsTotalDecimal
required

Full baths plus 0.5 per half bath, as the county records it

number | null
StoriesTotal
required
number | null
StructureType
required

Building type as the county writes it (not yet mapped to the RESO list)

string | null
Provenance
required
object
SourceId
required

Id of the row in GET /v1/sources

string | null
SourceName
required
string | null
AsOf
required

ISO 8601 date or date-time the value was last pulled or computed

string | null
Provenance
required
object
SourceId
required

Id of the row in GET /v1/sources

string | null
SourceName
required
string | null
AsOf
required

ISO 8601 date or date-time the value was last pulled or computed

string | null
next
required

Pass as cursor to get the next page; null on the last page

string | null
Example
{
"data": [
{
"ParcelKey": "37105012685",
"ParcelNumber": "954732057500",
"CountyGEOID": "37105",
"CountyOrParish": "Lee",
"StateOrProvince": "NC",
"SubdivisionCode": "US-NC",
"Country": "US",
"UnparsedAddress": "2021 COLON RD",
"Latitude": 35.47,
"Longitude": -79.18,
"LotSizeAcres": 17.49,
"LotSizeSource": "GIS",
"CurrencyCode": "USD",
"LastSale": {
"ClosePrice": 185000,
"CloseDate": "2021-06-14",
"CurrencyCode": "USD",
"Provenance": {
"SourceId": "metrics:37105",
"SourceName": "Site metrics: FEMA flood, NWI wetlands, 3DEP slope, NCDOT roads",
"AsOf": "2026-09-22"
}
},
"Building": {
"LivingArea": 1850,
"LivingAreaUnits": "Square Feet",
"Provenance": {
"SourceId": "metrics:37105",
"SourceName": "Site metrics: FEMA flood, NWI wetlands, 3DEP slope, NCDOT roads",
"AsOf": "2026-09-22"
}
},
"Provenance": {
"SourceId": "metrics:37105",
"SourceName": "Site metrics: FEMA flood, NWI wetlands, 3DEP slope, NCDOT roads",
"AsOf": "2026-09-22"
}
}
]
}

The request did not validate; errors lists each bad field

Media typeapplication/problem+json

RFC 9457 problem details (served as application/problem+json)

object
type
required
string
title
required
string
status
required
integer
detail
string
instance
string
errors

Validation problems, one per bad field

Array<object>
object
path
required
string
message
required
string
Example
{
"type": "https://acresift.com/docs/api/errors#not_found",
"title": "Not found",
"status": 404,
"detail": "No parcel 37105012685."
}

Missing, wrong or revoked API key

Media typeapplication/problem+json

RFC 9457 problem details (served as application/problem+json)

object
type
required
string
title
required
string
status
required
integer
detail
string
instance
string
errors

Validation problems, one per bad field

Array<object>
object
path
required
string
message
required
string
Example
{
"type": "https://acresift.com/docs/api/errors#not_found",
"title": "Not found",
"status": 404,
"detail": "No parcel 37105012685."
}

Rate limit reached; wait Retry-After seconds

Media typeapplication/problem+json

RFC 9457 problem details (served as application/problem+json)

object
type
required
string
title
required
string
status
required
integer
detail
string
instance
string
errors

Validation problems, one per bad field

Array<object>
object
path
required
string
message
required
string
Example
{
"type": "https://acresift.com/docs/api/errors#not_found",
"title": "Not found",
"status": 404,
"detail": "No parcel 37105012685."
}