Regrid API Endpoints
Our API has several unique endpoints, each serving a purpose of querying against our vast parcel dataset to look up parcel records that best serve your location intelligence use cases.
Finding the parcel records you need can be achieved in many ways. In this article we describe each endpoint in detail. A special emphasis is on input parameters, input value types and output formats.
Remember, if you want to try our API now, you can always head over to the API Sandbox.
Parcels
There are many ways to find the parcel record or records you are interested in.
Each JSON endpoint begins with https://app.regrid.com/api/v2/
and continues with…
Point
Latitude and Longitude a.k.a. Reverse Geocoding
api/v2/parcels/point
This endpoint delivers parcel records using latitude and longitude points. You can add a radius
zone to the point or
points and limit
the amount of parcel records returned in the response. The parameter geojson
takes priority if lat
and lon
are used in the same request.
This endpoint has all the same parameters as api/v2/parcels/query
, but limited to no fields
param and only Point or MultiPoint GeoJSON types.
Tip:
When using an exact point, sometimes it will fall outside a parcel boundary. If a parcel is very close to a point, using the radius
parameter can help by creating a circular polygon around each point. Using a small radius on points is also helpful when some tools return points on parcel records that are literally in a street next to the parcel.
HTTP API request general form
GET /api/v2/parcels/point?lat=<y>&lon=<x>&token=<token>
Query parameters
token
: Your Regrid authorization token.lat
: Latitude pointlon
: Longitude pointradius
: (Default: 0, Maximum: 32000) Radius in meters for which all Parcel records will be returned if they are within the radius zone from latitude and longitude point.-
geojson
: Geographic data structure for Point and MultiPoint only. This parameter takes priority iflat
/lon
are used in the same request. offset_id
: ID from a previous query exceeding the limit, returns the next set of results up to limit.limit
: (optional) Default 20. Maximum number of Parcel Records to return. Max is 1000.return_count
: Set to true to enable count of parcels in query.return_geometry
: Default true. Features are returned without geometry values. This reduces the payload size significantly if only field data is required.return_custom
: Default false: A true value allows county-specific fields to be passed through beyond standard schema fields only.return_field_labels
: Default false: A true value shows the naming convention for each standardized schema field.return_stacked
: Default true: A false value returns the first parcel if geometries are identical.return_matched_buildings
: Set to false to disable building footprint data in the response. Default is true when supported by the account.return_matched_addresses
: Set to false to matched addresses data in the response. Default is true when supported by the account.return_enhanced_ownership
: Set to false to disable enhanced ownership data in the response. Default is true when supported by the account.
Response fields
parcels
: A GeoJSON Features Collection of Features, each containing the matched Parcel Records. An empty Feature Collection with no error means no Parcel Records could be matched.
Example API request
GET https://app.regrid.com/api/v2/parcels/point?lat=42.36511&lon=-83.073107&radius=250&token=<token>
Example results:
Address
api/v2/parcels/address
This endpoint delivers parcel records using an address within the United States and Puerto Rico. There can be multiple locations
within the United States and Puerto Rico with similar addresses, and therefore we suggest specifying the location within a State,
County and/or City by using the path
parameter.
HTTP API request general form
GET /api/v2/parcels/address?query=<address>&path=<path>&token=<token>
Query parameters
token
: Your Regrid authorization token.-
query
: A street address or partial address, starting at the beginning path
: Represents the path for the '/us/state_id/county_slug' as defined by the Regrid Standard Schema. This restricts the search to this area.limit
: (optional) Default 20. Maximum number of Parcel Records to return. Max is 1000.return_custom
: Default false: A true value allows county-specific fields to be passed through beyond standard schema fields only.return_field_labels
: Default false: A true value shows the naming convention for each standardized schema field.return_stacked
: Default true: A false value returns the first parcel if geometries are identical.return_matched_buildings
: Set to false to disable building footprint data in the response. Default is true when supported by the account.return_matched_addresses
: Set to false to matched addresses data in the response. Default is true when supported by the account.return_enhanced_ownership
: Set to false to disable enhanced ownership data in the response. Default is true when supported by the account.
Response fields
parcels
: A GeoJSON Features Collection of Features, sorted by descending relevance rank, containing the matched Parcel Records. An empty results set with no error means no Parcel Records could be matched.
Example request
GET https://app.regrid.com/api/v2/parcels/address?query=440%20burroughs&path=/us/mi/wayne/detroit&limit=15&token=<token>
Example results:
Assessor Parcel Number
api/v2/parcels/apn
This endpoint delivers parcel records using the Assessor Parcel Number (APN) which is assigned to each parcel by the respective county.
Multiple parcel records can be returned depending on the APN, therefore specify the location within a State, County and/or City by using the parameter path
.
An APN is also known as a Parcel Identification Number (PIN).
HTTP API request general form
GET /api/v2/parcels/apn?parcelnumb=<pin>&token=<token>
Query parameters
token
: Your Regrid authorization token.parcelnumb
: (required) The assessor's parcel number to look up. Non-alphanumeric characters will be removed when searching. Example: '26447580030140000'path
: Represents the path for the '/us/state_id/county_slug' as defined by the Regrid Standard Schema. This restricts the search to this area.limit
: (optional) Default 20. Maximum number of Parcel Records to return. Max is 1000.return_custom
: Default false: A true value allows county-specific fields to be passed through beyond standard schema fields only.return_field_labels
: Default false: A true value shows the naming convention for each standardized schema field.return_stacked
: Default true: A false value returns the first parcel if geometries are identical.return_matched_buildings
: Set to false to disable building footprint data in the response. Default is true when supported by the account.return_matched_addresses
: Set to false to matched addresses data in the response. Default is true when supported by the account.return_enhanced_ownership
: Set to false to disable enhanced ownership data in the response. Default is true when supported by the account.
Response fields
parcels
: A GeoJSON Features Collection of Features, sorted by descending relevance rank, containing the matched Parcel Records. An empty results set with no error means no Parcel Records could be matched.
Example request
GET https://app.regrid.com/api/v2/parcels/apn?parcelnumb=02001069-71&path=/us/mi/wayne/detroit&&limit=15&token=<token>
Example results:
Owner Name
api/v2/parcels/owner
This endpoint delivers parcel records using the owner name, either an individual or entity. Multiple parcel records can be returned, so limit
the response by using parameter limit
and specify the location within a State, County and/or City using the parameter path
.
These matches are based on the start of the name string. For example, if you are looking for a parcel owned by "Jones, Festus", you can search by "jon", "jone", "jones", etc. Searching for "fest", "festus", etc. will not match the parcel.
HTTP API request general form
GET /api/v2/parcels/owner?owner=<name>&path=<path>&token=<token>
Query parameters
token
: Your Regrid authorization token.owner
`: The owner name in Last, First format. Matches by prefix, you can pass just a last name to get any name beginning with that string. (Case insensitive, minimum 4 characters, required)path
: Represents the path for the '/us/state_id/county_slug' as defined by the Regrid Standard Schema. This restricts the search to this area.limit
: (optional) Default 20. Maximum number of Parcel Records to return. Max is 1000.return_custom
: Default false: A true value allows county-specific fields to be passed through beyond standard schema fields only.return_field_labels
: Default false: A true value shows the naming convention for each standardized schema field.return_stacked
: Default true: A false value returns the first parcel if geometries are identical.return_matched_buildings
: Set to false to disable building footprint data in the response. Default is true when supported by the account.return_matched_addresses
: Set to false to matched addresses data in the response. Default is true when supported by the account.return_enhanced_ownership
: Set to false to disable enhanced ownership data in the response. Default is true when supported by the account.
Response fields
parcels
: A GeoJSON Features Collection of Features, sorted by descending relevance rank, containing the matched Parcel Records. An empty results set with no error means no Parcel Records could be matched.
Example API request
GET https://app.regrid.com/api/v2/?owner=techone%20development&path=/us/mi/wayne/detroit&limit=15&token=<token>
Example results:
Query by Fields
api/v2/parcels/query
In addition to the primary identifiers in our dataset, our API is also queryable at a nationwide level using a subset of our 120+ schema fields that have been optimized for queries at scale. The following is the general form for this endpoint. See additional query endpoints in the OpenAPI Spec Sandbox for examples on each field type and our API Examples article. Multiple fields can be used in a single query (up to 4), to refine results.
Currently our parcel API is also queryable at a nationwide level by the following fields:
Field | Description |
---|---|
ll_gisacre | numeric / double precision |
ll_gissqft | numeric / integer |
usps_vacancy | text |
rdi | text |
ll_bldg_count | numeric / integer |
saleprice | numeric / double precision |
zoning | text |
lbcs_activity | numeric |
lbcs_function | numeric |
lbcs_structure | numeric |
lbcs_site | numeric |
lbcs_ownership | numeric |
saledate | date |
szip | text |
ll_uuid | uuid |
landval | numeric |
geoid | text |
owner | text |
parcelnumb | text |
state2 | text |
path | text |
county | text |
yearbuilt | numeric / integer |
improvval | numeric / double precision |
alt_parcelnumb1 | text |
census_block | text |
census_blockgroup | text |
census_tract | text |
census_school_district | text |
qoz | text |
ll_stack_uuid | uuid |
Example queries with supported keys and value formats
GET or POST /api/v1/query?fields[<field_name>][<operator>]=<value>...&token=<token_value>
Example API requests
Numeric field ll_gisacre
https://app.regrid.com/api/v1/query?fields[ll_gisacre][eq]=1000.2426&offset_id=1234&limit=5
https://app.regrid.com/api/v1/query?fields[ll_gisacre][ne]=100&fields[ll_gisacre][gt]=99.0&fields[ll_gisacre][lt]=200&fields[ll_gisacre][between]=[100, 300]
Text field zoning
https://app.regrid.com/api/v1/query?fields[zoning][ilike]=RS-1&fields[zoning][ne]=RS-1&fields[zoning][between]=["RS-1", "RS-14"]&fields[zoning][nin]=["RS-1", "RS-9", "MHPD", "RD-D", "AG-2"]&fields[zoning][order]=DESC
Date field saledate
https://app.regrid.com/api/v1/query?&fields[saledate][between]=["2020", "2021/04/22"]&fields[saledate][isnull]=false&limit=100
Boolean field struct
https://app.regrid.com/api/v1/query?fields[struct][ne]=false&fields[struct][eq]=true&fields[struct][isnull]=false
Example results format
Supported types and query parameters
All field types are supported. The operators available vary by field type:
Field Type | Operators |
---|---|
Number | eq, ne, isnull, between, gt, gte, lt, lte, in, nin, order |
Text | eq, ne, isnull, in, nin, ilike |
Date | eq, ne, isnull, between, gt, gte, lt, lte, in, nin, order |
Boolean | eq, ne, isnull |
All Types | limit, count, offset_id |
Operators on each field
fields[<field_name>][<operator>]
Operator | Description |
---|---|
eq | equal |
ne | not equal |
isnull | is null, takes boolean true/false values only |
between | between inclusive |
gt | greater than |
gte | greater than or equal |
lt | less than |
lte | less than or equal |
in | in set |
nin | not in set |
ilike | case insensitive, matches the given string within the text field value (ex %VALUE%) |
order | ASC/DESC |
Parameters for the entire query
fields[<field_name>][<operator>]
: Use a supported field name and operator as the parameter key, and a valid value to filter parcels.token
: Your Regrid authorization token.geojson
: A GeoJSON object with at least one geometry to filter results. The geometries can be no larger than 80 sq miles. If bothgeojson
andlat
-lon
are present,geojson
takes precedence. Accepted GeoJSON formats are: FeatureCollection, Feature or geometry. Supported geometries: Polygon, MultiPolygon, Point, MultiPoint, LineString and MultiLineString. Variations of geometry types are allowed in a FeatureCollection.radius
: (Default: 0, Maximum: 32000) Radius in meters for which all Parcel records will be returned if they are within the radius zone from latitude and longitude point. See Pagination section for details.offset_id
: ID from a previous query exceeding the limit, returns the next set of results up to limit.limit
: (optional) Default 20. Maximum number of Parcel Records to return. Max is 1000.-
path
: Represents a full or partial path as defined by the Regrid Standard Schema ('/us/state_id', '/us/state_id/county_slug', or '/us/state_id/county_slug/city_slug'), or a full parcel path string (like '/us/state_id/county_slug/city_slug/parcel_path_id')" return_count
: Set to true to enable count of parcels in query.return_geometry
: Default true. Features are returned without geometry values. This reduces the payload size significantly if only field data is required.return_custom
: Default false: A true value allows county-specific fields to be passed through beyond standard schema fields only.return_field_labels
: Default false: A true value shows the naming convention for each standardized schema field.return_stacked
: Default true: A false value returns the first parcel if geometries are identical.return_matched_buildings
: Set to false to disable building footprint data in the response. Default is true when supported by the account.return_matched_addresses
: Set to false to matched addresses data in the response. Default is true when supported by the account.return_enhanced_ownership
: Set to false to disable enhanced ownership data in the response. Default is true when supported by the account.
Pagination
If your request returns more than 1000 parcel records, you will need to use pagination for your query results.
Pagination is performed by including an offset_id
parameter with the integer id
from a previous query. Each parcel record has an id
for location in our database. You will need the id
of the last parcel record from your previous query to use in the next iteration of the pagination request. This request returns the remaining parcels up to the value of the limit
parameter.
To page results, the initial request needs to include the parameter offset_id=0
which indicates results need to be in ID order. The required id
is located at the root level of each parcel feature returned with id
key.
Example pagination first request
Give me the parcel records in Los Angeles County where the parcel acreage is greater than 2 acres. For reference, there are 228,122 parcels matching this query.
https://app.regrid.com/api/v1/query?fields[geoid][eq]=06037&fields[ll_gisacre][gt]=2&offset_id=0&limit=1000
Example pagination subsequent request
https://app.regrid.com/api/v1/query?fields[geoid][eq]=06037&fields[ll_gisacre][gt]=2&offset_id=155171239&limit=1000
The order
parameter is not allowed when paging, as is indicated by an error message if the query is invalid.
If a total count is needed, an initial query can be made with count=true
. Otherwise, successive pages can be requested until the results are less than the limit or empty.
Count
When the count
parameter is set to a boolean value of true
or false
, the results will be the entire dataset filtered by other optional operators on the field(s). When the boolean value is true
, there is no cost to return the total number of parcels for the query.
Requests with count
return an integer value in the following format.
Example results format
Limit is ignored when the count
operator is present.
Customize response payload
There are several flags available to reduce payload size.
return_geometry
: A list of features is returned with geometry values. Default true.return_custom
: County-specific custom fields are included in results. This can be used to retrieve only Standard Schema results. Default false.return_field_labels
: An object of Standard Schema field names and descriptions are returned within each feature. Default true.return_stacked
: A false value means only the first parcel is returned if geometries are identical. Default true.
Request format
Queries can be made as GET or POST requests. The examples below show the same query being made by both types of request.
GET request example
fields[ll_gisacre][eq]=1000.2426&fields[ll_gisacre][ne]=1000&limit=5
POST request example
Other considerations
- Date formats allowed: YYYY/MM/DD or MM/DD/YYYY Also, a value with a year only like "2022" will evaluate as "2022/01/01".
- Multiple operators are
AND
ed together. - Boolean and boolean-like fields (struct, usps_vacancy, rdi) can only be queried with a subset of operators (eq, ne, isnull).
Area Geometry Search
api/v2/parcels/area
Search for parcel records in a specific geographical area. This endpoint allows access to test of all our premium matched datasets with applicable API token. Accepted formats vary from GeoJSON Feature Collection of geometries (Polygon, MultiPolygon, Point, MultiPoint,
LineString and/or MultiLineString), or a Feature with a GeoJSON geometry or a direct GeoJSON geometry. The parameter geojson
takes priority if lat
/lon
is used in the same request. These parameters also accept an optional radius
parameter in meters to create a buffer
around the given geometries.
NOTE:
- When you add a radius, it can enlarge the requested area, potentially exceeding the maximum allowable size for a single request.
- This endpoint shares all parameters as Query by Fields except the
fields
param.
HTTP API request
POST or GET /api/v2/area
Query parameters
token
: Your Regrid authorization token.geojson
: A GeoJSON object with at least one geometry to filter results. The geometries can be no larger than 80 sq miles. If bothgeojson
andlat
-lon
are present,geojson
takes precedence. Accepted GeoJSON formats are: FeatureCollection, Feature or geometry. Supported geometries: Polygon, MultiPolygon, Point, MultiPoint, LineString and MultiLineString. Variations of geometry types are allowed in a FeatureCollection.radius
: (Default: 0, Maximum: 32000) Radius in meters for which all Parcel records will be returned if they are within the radius zone from latitude and longitude point.offset_id
: ID from a previous query exceeding the limit, returns the next set of results up to limit.-
limit
: (optional) Default 20. Maximum number of Parcel Records to return. Max is 1000. return_count
: Set to true to enable count of parcels in query.return_geometry
: Default true. Features are returned without geometry values. This reduces the payload size significantly if only field data is required.return_custom
: Default false: A true value allows county-specific fields to be passed through beyond standard schema fields only.return_field_labels
: Default false: A true value shows the naming convention for each standardized schema field.return_stacked
: Default true: A false value returns the first parcel if geometries are identical.return_matched_buildings
: Set to false to disable building footprint data in the response. Default is true when supported by the account.return_matched_addresses
: Set to false to matched addresses data in the response. Default is true when supported by the account.return_enhanced_ownership
: Set to false to disable enhanced ownership data in the response. Default is true when supported by the account.
Response fields
parcels
: A GeoJSON Features Collection of Features, each containing the matched Parcel Records. An empty Feature Collection with no error means no Parcel Records could be matched.area
: Total area of the searched polygon (inacres
,sq_meters
, andsq_miles
).count
: Total number of parcel records within the geometry(ies), ifreturn_count
is true.
Example request
POST /api/v2/area
Example response:
Typeahead (by Address)
api/v2/parcels/typeahead
This endpoint delivers a full address lookup and validation with corresponding unique identifier (ll_uuid
) for each parcel based on matching the query.
Please see the Typeahead API documentation for details about this feature, and contact our sales team at parcels@regrid.com for a demo or to enable your account.
Query parameters
token
: Your Regrid authorization token.query
: A street address or partial address, starting at the beginning
Additional Endpoints
Parcel Path
api/v2/parcels/path
This endpoint delivers a single parcel record based on the unique path
. This works well in combination with the
Typeahead API endpoint.
HTTP API request general form
GET /api/v2/parcel?path=<path>&token=<token>
Query parameters
token
: Your Regrid authorization token.path
: (required) The canonical path of the parcel in the Regrid system. For example, '/us/tx/dallas/northeast-dallas/6471'.return_custom
: Default false: A true value allows county-specific fields to be passed through beyond standard schema fields only.return_field_labels
: Default false: A true value shows the naming convention for each standardized schema field.return_stacked
: Default true: A false value returns the first parcel if geometries are identical.return_matched_buildings
: Set to false to disable building footprint data in the response. Default is true when supported by the account.return_matched_addresses
: Set to false to matched addresses data in the response. Default is true when supported by the account.return_enhanced_ownership
: Set to false to disable enhanced ownership data in the response. Default is true when supported by the account.
Example request
GET https://app.regrid.com/api/v2/parcel?path=/us/mi/wayne/detroit/364491&token=<token>
Example truncated results
Regrid ID
api/v2/parcels/<ll_uuid>
This endpoint delivers a single parcel record based on the Regrid id (ll_uuid
), as described in our parcel schema.
This works well in combination with the Typeahead API endpoint or any time you have an ll_uuid
of interest.
HTTP API request general form
GET /api/v2/parcels/<ll_uuid>?token=<token>
Query parameters
token
: Your Regrid authorization token.ll_uuid
: (required) The UUID retrieved from another Regrid API call. For example, 8b6f4f51-58ad-4969-93b3-fdfb348a7084.return_custom
: Default false: A true value allows county-specific fields to be passed through beyond standard schema fields only.return_field_labels
: Default false: A true value shows the naming convention for each standardized schema field.return_stacked
: Default true: A false value returns the first parcel if geometries are identical.return_matched_buildings
: Set to false to disable building footprint data in the response. Default is true when supported by the account.return_matched_addresses
: Set to false to matched addresses data in the response. Default is true when supported by the account.return_enhanced_ownership
: Set to false to disable enhanced ownership data in the response. Default is true when supported by the account.
Example API request
GET https://app.regrid.com/api/v2/parcels/16bc4f67-009a-496c-bd0a-9e9d55f5228b?token=<token>
Example results:
Schemas
Retrieve a json representation of our Schemas
Regrid Parcel Schema
api/v2/schemas/parcel
This endpoint retrieves the current Regrid Parcel Schema. You can use premium_only
to retrieve the schema listed for only premium fields.
premium_only
: Default returns all. Set totrue
to return schema for only premium fields andfalse
to return only Standard fields.
HTTP API request
GET /api/v2/schemas/parcel
Response fields
schema
: An object with details on all fields in the Regrid Parcel Schema
Example response:
Matched Buildings Schema
api/v2/schemas/building
This endpoint retrieves the current Regrid Matched Building Footprints schema.
Matched Addresses Schema
api/v2/schemas/address
This endpoints retrieves the current Regrid Matched Secondary Addresses
Enhanced Ownership Schema
schemas/enhanced_ownership
This endpoint retrieves the current Regrid Enhanced Ownership Schema.
Metadata
County Metadata (Verse)
api/v2/verse
This endpoint retrieves all records from our verse schema. These records are counties in the United States and Puerto Rico that tell the last time we did a full data pull from the source. Occasionally these records are of cities when that is how data is reported.
Note for bulk data customers: This endpoint may reflect data updates before they are available in bulk files. The verse file included with your bulk data deliveries will always reflect the current state of data available to you.
HTTP API request general form
GET /api/v2/verse
Query parameters
return_geometry
: Default true. Features are returned without geometry values. This reduces the payload size significantly if only field data is required.
Example API request
GET https://app.regrid.com/api/v2/verse?return_geometry=true
Example results
Example response:
API Account Usage
api/v2/usage
Check your current API usage stats to see how many requests, parcel records, and tiles have been used.
You can see full history with the parameter return_full_history
or specify a specific date range.
HTTP API request general form
GET /api/v2/usage?token=<token>
Query parameters
token
: Your Regrid assigned authorization token.return_full_history
(optional): Set totrue
if you would like API usage history that goes beyond your current monthly cycle.begin_date
: (optional) Date type formatted as 'YYYY/MM/DD' returns the usage from the specified beginning date to current date unlessend_date
` is used.end_date
: (optional) Date type formatted as 'YYYY/MM/DD' returns the usage for all usage up until the specified ending date unlessbegin_date
is used and when.
Response fields
cycle_dates
: The start and end date of the current cycle.cycle_usage
: Counts ofrequests
,results
, andtiles
used during the current cycle.full_history
: An array of stats for previous cycles. Only included if the optionalfull_history
query param is set totrue
.
Example request:
GET https://app.regrid.com/api/v2/usage?token=<token>&full_history=true
Example response:
Report Data Issues
api/v2/report
You can report issues to Regrid of specific parcel records or general areas to us using this report endpoint. Reports help us prioritize updates. However, we cannot apply data received to this endpoint directly to our parcel data or respond individually to specific reports.
HTTP API request general form
POST /api/v2/report?token=<token>
Query parameters
token
: Your Regrid authorization token.path
: Represents the path for the '/us/state_id/county_slug' as defined by the Regrid Standard Schema. This restricts the search to this area.ll_uuid
(optional): The ll_uuid of a parcel, if the report is for a specific parcelcomment
(optional): String describing the issuedetails
(optional): A hash with details on specific fields. This hash only accepts standard column names as keys.
Response fields
message
: Message on the status of the report.id
: ID of the new report.
Example request
POST https://app.regrid.com/api/v2/report?token=YOUR_TOKEN_HERE
Example response