OPA Property Data v1
This API exposes data on assessed property values based on information from the Office of Property Assessment (OPA). Currently in beta, subject to change.
API Keys
An API key is required for making requests to this API.
Registered users may request API keys and receive them instantly. Log in or register to request and manage API keys.
Paths
/address/{address}/
get /address/{address}/
Searches properties by address string. Returns an array of properties. Uses the City’s address validator to parse various address formats (ie. N or North and st or Street will all work).
SAMPLE - "/address/1234%20market%20st/?format=json"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
address |
path | Address to retrieve data for, e.g. "1234 market st". |
✓ | string |
sort |
query | Field on which to sort results (ex. market_value) |
— | string |
format |
query | Format of response (xml or json) |
— | string |
dir |
query | Direction of sorting (asc or desc) |
— | string |
limit |
query | Number of results returned |
— | number |
skip |
query | Number of results to skip (for pagination) |
— | number |
Code | Description | Schema | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
200 | An array of properties |
[array] | |||||||||
default | unexpected error |
|
/address/{address}/{unit}
get /address/{address}/{unit}
Searches properties by address string and, optionally, the unit. Returns an array of properties. Uses the City’s address validator to parse various address formats (ie. N or North and st or Street will all work).
SAMPLE - "/address/123%20S%20broad/1?format=json"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
address |
path | Address to retrieve data for |
✓ | string |
unit |
path | Unit at that address to retrieve data for |
✓ | string |
sort |
query | Field on which to sort results (ex. market_value) |
— | string |
format |
query | Format of response (xml or json) |
— | string |
dir |
query | Direction of sorting (asc or desc) |
— | string |
limit |
query | Number of results returned |
— | number |
skip |
query | Number of results to skip (for pagination) |
— | number |
Code | Description | Schema | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
200 | An array of properties |
[array] | |||||||||
default | unexpected error |
|
/block/{address}/
get /block/{address}/
Search properties by the city block of an address string. Returns an array of properties. Note that the trailing slash after the address string is still required when no unit is provided.
SAMPLE - "/block/1200%20market%20st/?format=json"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
address |
path | Address on the block you wish to retrieve data for. |
✓ | string |
sort |
query | Field on which to sort results (ex. market_value) |
— | string |
format |
query | Format of response (xml or json) |
— | string |
dir |
query | Direction of sorting (asc or desc) |
— | string |
limit |
query | Number of results returned |
— | number |
skip |
query | Number of results to skip (for pagination) |
— | number |
Code | Description | Schema | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
200 | An array of properties |
[array] | |||||||||
default | unexpected error |
|
/block/{address}/{unit}
get /block/{address}/{unit}
Search properties by the city block of an address string and unit. Returns an array of properties.
SAMPLE - "/block/1200%20market%20st/?format=json"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
address |
path | Address on the block you wish to retrieve data for. |
✓ | string |
unit |
path | Unit at the Address on the block you wish to retrieve data for. |
✓ | string |
sort |
query | Field on which to sort results (ex. market_value) |
— | string |
format |
query | Format of response (xml or json) |
— | string |
dir |
query | Direction of sorting (asc or desc) |
— | string |
limit |
query | Number of results returned |
— | number |
skip |
query | Number of results to skip (for pagination) |
— | number |
Code | Description | Schema | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
200 | An array of properties |
[array] | |||||||||
default | unexpected error |
|
/intersection/{street_a}/{street_b}
get /intersection/{street_a}/{street_b}
Searches properties near an intersection of two streets. Returns an array of properties.
SAMPLE - "/intersection/12th/market?format=json"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
street_a |
path | First street at the intersection. |
✓ | string |
street_b |
path | Second street at the intersection. |
✓ | string |
sort |
query | Field on which to sort results (ex. market_value) |
— | string |
format |
query | Format of response (xml or json) |
— | string |
dir |
query | Direction of sorting (asc or desc) |
— | string |
limit |
query | Number of results returned |
— | number |
skip |
query | Number of results to skip (for pagination) |
— | number |
Code | Description | Schema | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
200 | An array of properties |
[array] | |||||||||
default | unexpected error |
|
/account/{account_number}
get /account/{account_number}
View an individual property by its OPA Account Number. Returns a property object with more detail than those of the search methods.
SAMPLE - "/account/883309000?format=json"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
account_number |
path | Number of the account for which to retrieve data. |
✓ | string |
sort |
query | Field on which to sort results (ex. market_value) |
— | string |
format |
query | Format of response (xml or json) |
— | string |
dir |
query | Direction of sorting (asc or desc) |
— | string |
limit |
query | Number of results returned |
— | number |
skip |
query | Number of results to skip (for pagination) |
— | number |
Code | Description | Schema | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
200 | A single property |
[array] | |||||||||
default | unexpected error |
|
/property/{property_id}
get /property/{property_id}
View an individual property by its Property ID, an alternative primary key that is a concatenation of the street code, house number, and unit number. Returns a property object with more detail than those of the search methods. SAMPLE - "/property/5356001234"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
property_id |
path | Number of the account for which to retrieve data. |
✓ | string |
sort |
query | Field on which to sort results (ex. market_value) |
— | string |
format |
query | Format of response (xml or json) |
— | string |
dir |
query | Direction of sorting (asc or desc) |
— | string |
limit |
query | Number of results returned |
— | number |
skip |
query | Number of results to skip (for pagination) |
— | number |
Code | Description | Schema | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
200 | A single property |
[array] | |||||||||
default | unexpected error |
|
/nearby/{latitude}/{longitude}/
get /nearby/{latitude}/{longitude}/
Searches for properties within 200 feet of a latitude/longitude point. Property latitude/longitude points can be obtained via the other API methods. Note that the trailing slash after the longitude must be provided even if the radius is not specified.
SAMPLE - "/nearby/-75.1609758181729/39.9516618543639/"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
latitude |
path | Latitude value of the geographic point. |
✓ | string |
longitude |
path | Longitude value of the geographic point. |
✓ | string |
sort |
query | Field on which to sort results (ex. market_value) |
— | string |
format |
query | Format of response (xml or json) |
— | string |
dir |
query | Direction of sorting (asc or desc) |
— | string |
limit |
query | Number of results returned |
— | number |
skip |
query | Number of results to skip (for pagination) |
— | number |
Code | Description | Schema | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
200 | An array of properties |
[array] | |||||||||
default | unexpected error |
|
/nearby/{latitude}/{longitude}/{radius}
get /nearby/{latitude}/{longitude}/{radius}
Searches for properties within a specified rectangular radius of a latitude/longitude point. The radius is measured in feet. Property latitude/longitude points can be obtained via the other API methods.
SAMPLE - "/nearby/-75.1609758181729/39.9516618543639/400"
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
latitude |
path | Latitude value of the geographic point. |
✓ | string |
longitude |
path | Longitude value of the geographic point. |
✓ | string |
radius |
path | rectangular radius (in feet) of area around the point in which to search. |
✓ | string |
sort |
query | Field on which to sort results (ex. market_value) |
— | string |
format |
query | Format of response (xml or json) |
— | string |
dir |
query | Direction of sorting (asc or desc) |
— | string |
limit |
query | Number of results returned |
— | number |
skip |
query | Number of results to skip (for pagination) |
— | number |
Code | Description | Schema | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
200 | An array of properties |
[array] | |||||||||
default | unexpected error |
|
Models
Name | Required | Schema |
---|---|---|
code |
✓ | integer (int32) |
message |
✓ | string |