---
title: "Resolve a batch of parcels"
method: POST
path: "/v1/parcel/batch"
tags: ["parcel"]
---

# Resolve a batch of parcels

`POST /v1/parcel/batch`

## Request

- Base URL: `http://localhost:3030`
- URL: `http://localhost:3030/v1/parcel/batch`
- Auth: HTTP bearer

Looks up many parcels in one request, each by address, parcel number or point. Results come back
in the order sent.

## Request body

- BatchRequest: Parcels to look up in one request.
  - `item` Locator[], required: The lookups, between 1 and 500.
    - `address` string, nullable: A street address, with city or postal code where known. A state or city in the address limits matches to parcels there.
    - `apn` string, nullable: A parcel number, as published. Requires `jurisdiction` or `fips`.
    - `jurisdiction` string, nullable: A jurisdiction id.
    - `fips` string, nullable: A Census GEOID: 2 digits for a state or 5 for a county. The county of `apn`, or the area to search within.
    - `lat` number, nullable: Latitude, in WGS 84. Requires `lon`.
    - `lon` number, nullable: Longitude, in WGS 84. Requires `lat`.
    - `parcel` string, nullable: A parcel id.

## Response `200`

The parcel batch.

- Batch: The results of a batch of parcel lookups.
  - `object` 'parcel_batch', required: The object's type. Always `parcel_batch`.
  - `item` BatchItem[], required: One result per lookup, in the order sent.
    - `input` Locator, required: One parcel to look up. Send exactly one of `address`, `apn`, `lat` with `lon`, or `parcel`.
      - `address` string, nullable: A street address, with city or postal code where known. A state or city in the address limits matches to parcels there.
      - `apn` string, nullable: A parcel number, as published. Requires `jurisdiction` or `fips`.
      - `jurisdiction` string, nullable: A jurisdiction id.
      - `fips` string, nullable: A Census GEOID: 2 digits for a state or 5 for a county. The county of `apn`, or the area to search within.
      - `lat` number, nullable: Latitude, in WGS 84. Requires `lon`.
      - `lon` number, nullable: Longitude, in WGS 84. Requires `lat`.
      - `parcel` string, nullable: A parcel id.
    - `status` 'matched' | 'ambiguous' | 'unmatched' | 'invalid', required: Result status. One of `matched`, `ambiguous` (several parcels match, or the best match differs from the address sent; `parcel` is the best), `unmatched` or `invalid`.
    - `detail` string, nullable: Why the lookup is `invalid`. Null otherwise.
    - `candidates` integer, required: Number of matching parcels.
    - `match` Match: How a search parameter matched the parcel.
      - `method` 'address' | 'apn' | 'point' | 'id', required: Match method. One of `address`, `apn`, `point` or `id`.
      - `score` number, required: Match confidence, between 0 and 1. `1` is exact. For an address, `1` means the house number, street name, street type, direction, and any unit, city and ZIP code sent all agree.
      - `matched` string, nullable: The value matched against, such as the parcel's address. Null when not applicable.
    - `parcel` Parcel: A parcel: a piece of land with its assessor's record.
      - `object` 'parcel', required: The object's type. Always `parcel`.
      - `id` string, required: A parcel id.
      - `number` Number, required: The parcel number the assessor keys the parcel by.
        - `scheme` string, required: Identifier scheme, such as `apn`, `pin` or `cad_prop_id`.
        - `value` string, required: The identifier, as published.
        - `normalized` string, required: The identifier in upper case, without spaces. The form `apn` matches against.
      - `identifiers` ParcelIdentifier[], required: Every parcel identifier, primary first.
        - `scheme` string, required: Identifier scheme, such as `apn`, `pin`, `cad_prop_id` or `cad_geo_id`.
        - `value` string, required: The identifier, as published.
        - `normalized` string, required: The identifier in upper case, without spaces. The form `apn` matches against.
        - `primary` boolean, required: Whether this is the parcel's primary identifier, in `number`.
      - `jurisdiction` ParcelJurisdictionRef, required: The jurisdiction that assesses the parcel.
        - `id` string, required: A jurisdiction id.
        - `name` string, required: The jurisdiction's common name.
        - `type` string, required: Kind of jurisdiction, in local terms, such as `county`, `parish`, `city` or `town`.
        - `fips` string, nullable: The Census GEOID. Null outside the US.
        - `href` string, required: The object's path in the API.
      - `within` ParcelWithin[], required: The jurisdictions that contain `jurisdiction`, largest first.
        - `id` string, required: A jurisdiction id.
        - `name` string, required: The jurisdiction's common name.
        - `tier` 'national' | 'region' | 'subregion' | 'local', required: Level of government. One of `national`, `region` (a state or province), `subregion` (a county or district) or `local` (a city, town, village or township).
        - `type` string, required: Kind of jurisdiction, in local terms, such as `county`, `parish`, `city` or `town`.
        - `fips` string, nullable: The Census GEOID. Null outside the US.
      - `status` string, required: Parcel status. Always `active`.
      - `type` Code, required: A coded value, as published, with its standard equivalent.
        - `code` string, nullable: Code, as published.
        - `description` string, nullable: Meaning of the code, as published. Null when not published.
        - `standard` string, nullable: Standard value, shared across jurisdictions. Null when not yet classified.
      - `area` Area, required: A parcel's size.
        - `sq_m` number, required: Area in square meters, measured from the boundary.
        - `acres` number, required: Area in acres, measured from the boundary. Used by `min_acres` and `max_acres`.
        - `stated_acres` number, nullable: Deeded or legal area in acres, as published. Null when not published.
      - `centroid` ParcelPoint, required: A point in WGS 84.
        - `lat` number, required: Latitude, in WGS 84.
        - `lon` number, required: Longitude, in WGS 84.
      - `addresses` ParcelAddress[], required: Addresses on the parcel, main address first. Empty when none are published.
        - `raw` string, required: Full address on one line: every line it is published on, in order, joined with a comma.
        - `recipient` string, nullable: Care-of or attention line, as published. Null when there is none.
        - `street_line_1` string, nullable: First street line: house number and street, or a PO box. Null when not published.
        - `street_line_2` string, nullable: Second street line: apartment, suite, unit or building. Null when there is none.
        - `street_number` string, nullable: House number. Null when not published.
        - `street_name` string, nullable: Street name, without its type. Null when not published.
        - `unit` string, nullable: Unit number. Null when there is none.
        - `locality` string, nullable: City, town or village. Null when not published.
        - `region` string, nullable: State, as its two-letter abbreviation. Null when not published.
        - `postal_code` string, nullable: ZIP or postal code. Null when not published.
        - `point` ParcelPoint: A point in WGS 84.
          - `lat` number, required: Latitude, in WGS 84.
          - `lon` number, required: Longitude, in WGS 84.
        - `role` string, required: Address role. Always `site`, the address of the property itself.
        - `primary` boolean, required: Whether this is the parcel's main address.
      - `owners` Owner[], required: Owners of record, in published order. Empty when none are published.
        - `name` string, required: Owner name, as published. One name can cover several people.
        - `kind` Code: A coded value, as published, with its standard equivalent.
          - `code` string, nullable: Code, as published.
          - `description` string, nullable: Meaning of the code, as published. Null when not published.
          - `standard` string, nullable: Standard value, shared across jurisdictions. Null when not yet classified.
        - `order` integer, nullable: Position in the list of owners, as published. Null when there is one owner.
        - `mailing` Address: A postal address, as published, with its parts where they are published separately.
          - `raw` string, required: Full address on one line: every line it is published on, in order, joined with a comma.
          - `recipient` string, nullable: Care-of or attention line, as published. Null when there is none.
          - `street_line_1` string, nullable: First street line: house number and street, or a PO box. Null when not published.
          - `street_line_2` string, nullable: Second street line: apartment, suite, unit or building. Null when there is none.
          - `street_number` string, nullable: House number. Null when not published.
          - `street_name` string, nullable: Street name, without its type. Null when not published.
          - `unit` string, nullable: Unit number. Null when there is none.
          - `locality` string, nullable: City, town or village. Null when not published.
          - `region` string, nullable: State, as its two-letter abbreviation. Null when not published.
          - `postal_code` string, nullable: ZIP or postal code. Null when not published.
          - `point` ParcelPoint: A point in WGS 84.
            - `lat` number, required: Latitude, in WGS 84.
            - `lon` number, required: Longitude, in WGS 84.
      - `assessment` Assessment, required: The latest assessment of the parcel.
        - `tax_year` integer, nullable: Tax year of the assessment. Null when not published.
        - `class` LandUseCode: A land use or property class code, as published, with its standard land use.
          - `code` string, nullable: Code, as published.
          - `description` string, nullable: Meaning of the code, as published. Null when not published.
          - `standard` 'residential' | 'residential.single_family' | 'residential.multi_family' | 'residential.condominium' | 'residential.mobile_home' | 'residential.common_area' | 'commercial' | 'commercial.retail' | 'commercial.office' | 'commercial.lodging' | 'commercial.recreation' | 'commercial.parking' | 'industrial' | 'industrial.manufacturing' | 'industrial.warehouse' | 'industrial.mining' | 'agricultural' | 'agricultural.timber' | 'vacant' | 'vacant.residential' | 'vacant.commercial' | 'vacant.industrial' | 'institutional' | 'institutional.government' | 'institutional.religious' | 'institutional.education' | 'institutional.health' | 'institutional.cemetery' | 'open_space' | 'open_space.conservation' | 'open_space.water' | 'open_space.recreation' | 'utility' | 'mixed' | 'exempt' | 'mineral_rights', nullable: Land use, shared across jurisdictions: a category, or a category and a kind joined by a dot. Null when the code is not classified.
        - `use` LandUseCode: A land use or property class code, as published, with its standard land use.
          - `code` string, nullable: Code, as published.
          - `description` string, nullable: Meaning of the code, as published. Null when not published.
          - `standard` 'residential' | 'residential.single_family' | 'residential.multi_family' | 'residential.condominium' | 'residential.mobile_home' | 'residential.common_area' | 'commercial' | 'commercial.retail' | 'commercial.office' | 'commercial.lodging' | 'commercial.recreation' | 'commercial.parking' | 'industrial' | 'industrial.manufacturing' | 'industrial.warehouse' | 'industrial.mining' | 'agricultural' | 'agricultural.timber' | 'vacant' | 'vacant.residential' | 'vacant.commercial' | 'vacant.industrial' | 'institutional' | 'institutional.government' | 'institutional.religious' | 'institutional.education' | 'institutional.health' | 'institutional.cemetery' | 'open_space' | 'open_space.conservation' | 'open_space.water' | 'open_space.recreation' | 'utility' | 'mixed' | 'exempt' | 'mineral_rights', nullable: Land use, shared across jurisdictions: a category, or a category and a kind joined by a dot. Null when the code is not classified.
        - `value` Value: Assessed values, by basis.
          - `market` MarketValue: Market values, in US dollars.
            - `land` number, nullable: Land value. Null when not published.
            - `improvement` number, nullable: Improvement value. Null when not published.
            - `total` number, nullable: Total market value. Null when not published.
          - `assessed` BasisTotal: A total value, in US dollars.
            - `total` number, nullable: Total value. Null when not published.
          - `taxable` BasisTotal: A total value, in US dollars.
            - `total` number, nullable: Total value. Null when not published.
        - `exemptions` Exemption[]: Tax exemptions. Empty when there are none.
          - `type` string, nullable: Exemption type, as published. Null when not published.
          - `code` string, nullable: Exemption code, as published. Null when not published.
          - `description` string, nullable: Meaning of the code, as published. Null when not published.
          - `standard` string, nullable: Standard value, shared across jurisdictions. Null when not yet classified.
          - `amount` number, nullable: Amount exempted, in US dollars. Null when not published.
          - `percentage` number, nullable: Share exempted, between 0 and 1. Null when not published.
      - `buildings` Building[], required: Buildings on the parcel, main building first. Empty when none are published.
        - `building_number` string, nullable: Building or card number on the parcel, as published. Null when not published.
        - `type` string, nullable: Building type, as published. Null when not published.
        - `description` string, nullable: Building description, as published. Null when not published.
        - `use_code` string, nullable: Building use code, as published. Null when not published.
        - `value` number, nullable: Market value of the building, in US dollars. Null when not published.
        - `year_built` integer, nullable: Year built. Null when not published.
        - `effective_year_built` integer, nullable: Effective year built, after major renovation. Null when not published.
        - `building_area_sq_ft` number, nullable: Gross building area, in square feet. Null when not published.
        - `living_area_sq_ft` number, nullable: Living area, in square feet. Null when not published.
        - `stories` number, nullable: Number of stories. Null when not published.
        - `unit_count` integer, nullable: Number of units. Null when not published.
        - `bedroom_count` number, nullable: Number of bedrooms. Null when not published.
        - `full_bath_count` number, nullable: Number of full bathrooms. Null when not published.
        - `half_bath_count` number, nullable: Number of half bathrooms. Null when not published.
        - `construction_type` string, nullable: Construction type, as published. Null when not published.
        - `quality_code` string, nullable: Construction quality code, as published. Null when not published.
        - `quality_description` string, nullable: Construction quality, as published. Null when not published.
        - `condition_code` string, nullable: Condition code, as published. Null when not published.
        - `condition_description` string, nullable: Condition, as published. Null when not published.
        - `garage_type` string, nullable: Garage type, as published. Null when not published.
        - `basement_type` string, nullable: Basement type, as published. Null when not published.
        - `fireplace` boolean, nullable: Whether the building has a fireplace. Null when not published.
        - `percent_complete` number, nullable: Share of construction complete, as a percentage. Null when not published.
        - `heating_type` string, nullable: Heating type, as published. Null when not published.
        - `style` string, nullable: Building style, as published. Null when not published.
        - `room_count` number, nullable: Number of rooms. Null when not published.
        - `bath_count` number, nullable: Number of bathrooms, with a half bath counted as `0.5`. Null when not published.
        - `exterior_wall` string, nullable: Exterior wall material, as published. Null when not published.
        - `roof_cover` string, nullable: Roof covering, as published. Null when not published.
        - `roof_type` string, nullable: Roof shape, as published. Null when not published.
        - `foundation_type` string, nullable: Foundation type, as published. Null when not published.
        - `cooling_type` string, nullable: Cooling type, as published. Null when not published.
        - `heating_fuel` string, nullable: Heating fuel, as published. Null when not published.
        - `fireplace_count` number, nullable: Number of fireplaces. Null when not published.
        - `garage_area_sq_ft` number, nullable: Garage area, in square feet. Null when not published.
        - `basement_area_sq_ft` number, nullable: Basement area, in square feet. Null when not published.
        - `basement_finished_area_sq_ft` number, nullable: Finished basement area, in square feet. Null when not published.
        - `year_remodeled` integer, nullable: Year of the last remodel. Null when not published.
      - `sales` Sale[], required: Recorded sales of the parcel, most recent first. Empty when none are published.
        - `date` string, date, nullable: Sale date. Null when not published.
        - `month` string, nullable: Month of the sale, as `YYYY-MM`. Set wherever `date` is, and on its own where only the month is published. Null when not published.
        - `recording_date` string, date, nullable: Recording date of the deed. Null when not published.
        - `price` number, nullable: Sale price, in US dollars. Null when not disclosed.
        - `document_number` string, nullable: Recorded document number. Null when not published.
        - `deed_type` Code: A coded value, as published, with its standard equivalent.
          - `code` string, nullable: Code, as published.
          - `description` string, nullable: Meaning of the code, as published. Null when not published.
          - `standard` string, nullable: Standard value, shared across jurisdictions. Null when not yet classified.
        - `book` string, nullable: Deed book. Null when not published.
        - `page` string, nullable: Deed page. Null when not published.
        - `qualification` Code: A coded value, as published, with its standard equivalent.
          - `code` string, nullable: Code, as published.
          - `description` string, nullable: Meaning of the code, as published. Null when not published.
          - `standard` string, nullable: Standard value, shared across jurisdictions. Null when not yet classified.
        - `grantor` string, nullable: Seller, as published. Null when not published.
        - `grantee` string, nullable: Buyer, as published. Null when not published.
        - `transfer_tax` number, nullable: Transfer tax paid on the deed, in US dollars. Null when not published.
        - `vacant_land` boolean, nullable: Whether the land was vacant at the sale. Null when not published.
        - `new_construction` boolean, nullable: Whether the sale was of new construction. Null when not published.
        - `deed_reference` string, nullable: Deed book and page, printed as one reference. Null when not published.
        - `document_url` string, nullable: Link to the recorded deed. Null when not published.
      - `legal` Legal, required: The legal description and its parts, as published.
        - `description` string, nullable: Full legal description, as published.
        - `subdivision` string, nullable: Subdivision name. Null when not published.
        - `plat_name` string, nullable: Plat name. Null when not published.
        - `plat_book` string, nullable: Plat book. Null when not published.
        - `plat_page` string, nullable: Plat page. Null when not published.
        - `block` string, nullable: Block. Null when not published.
        - `lot` string, nullable: Lot. Null when not published.
        - `section` string, nullable: Section, in the public land survey. Null when not published.
        - `township` string, nullable: Township, in the public land survey. Null when not published.
        - `range` string, nullable: Range, in the public land survey. Null when not published.
      - `geometry` Geometry, required: A GeoJSON geometry in WGS 84, longitude first.
        - `type` string, required: Geometry type. One of `Polygon` or `MultiPolygon`.
        - `coordinates` unknown[], required: Coordinates, as `[longitude, latitude]` positions nested by geometry type.
          - unknown
      - `match` Match, required: How a search parameter matched the parcel.
        - `method` 'address' | 'apn' | 'point' | 'id', required: Match method. One of `address`, `apn`, `point` or `id`.
        - `score` number, required: Match confidence, between 0 and 1. `1` is exact. For an address, `1` means the house number, street name, street type, direction, and any unit, city and ZIP code sent all agree.
        - `matched` string, nullable: The value matched against, such as the parcel's address. Null when not applicable.
      - `as_of` string, date, required: Date of the most recent update to this parcel.
      - `href` string, required: The object's path in the API.
  - `matched` integer, required: Number of lookups with status `matched`.
  - `ambiguous` integer, required: Number of lookups with status `ambiguous`.
  - `unmatched` integer, required: Number of lookups with status `unmatched`.
  - `invalid` integer, required: Number of lookups with status `invalid`.

## Other responses

- `401`: `credential_missing`, `credential_invalid` or `credential_expired`. The request has no valid credential.
- `402`: `quota_exhausted`. The credit balance is too low for this request. Nothing is charged.
- `403`: `scope_missing`, `person_required`, `api_key_not_accepted` or `entitlement_missing`. The credential or plan does not allow this request. `detail` names the reason.
- `422`: `parameter_invalid`, `id_malformed` or a cursor code. A parameter is missing or invalid. `errors` lists each one.
- `429`: `rate_limited`. Too many requests. Retry after the `Retry-After` interval. Nothing is charged.
- `501`: `not_available`. Parcel data is not available yet.

---

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