- Print
- DarkLight
- PDF
LightBox APN Lookup Documentation
- Print
- DarkLight
- PDF
Purpose
The purpose for this service is to locate properties based on an APN (Assessor Parcel Number)
Endpoints to support
- Search by APN alone
- Search by APN and County fips
- Autocomplete / Type ahead / Suggest
- Health check
Requirements
The LightBox APIs are hosted in the cloud and therefore have no platform requirements. Application requirements include:- A network connection to the LightBox API server
- Ability to parse JavaScript Object Notation (JSON) API responses
- Secure HTTPS connection
- LightBox authentication key
- LightBox authentication key
Connecting your account
When your LightBox user account is created, a unique API key is also generated. The API key should be kept secret at all times and can only be used for API requests. The key is required in all API calls.
To retrieve your unique API key:
- Log in to the LightBox Developer Portal
- Select Apps from the menu bar
- In your approved App, note your API key (under Consumer Key)
Performing API requests
All API requests must be made over secure HTTPS connections. Requests made over HTTP will fail.
The base URL of the API server that all API requests will be made to is: https://api.lightboxre.com/ followed by a version number https://api.lightboxre.com/v1
Authentication
LightBox APIs uses a token-based authentication. All requests to the LightBox APIs must be authenticated. The token to be passed via an HTTP header with key 'x-api-key' and value <Your authentication token>
Pass your unique API key in the authorization header of every LightBox API call. LightBox uses this information to authenticate your identify and determine whether you have sufficient permissions to complete the operation. curl -X GET -H ‘x-api-key: (api_key)’ https://api.lightboxre.com/
API Requests
Lookup APN (Assessor Parcel Number)
Use this endpoint when a fips code is unavailable. This will return all APNs that match the APN.
GET /apns/us/{apn}
Example requests
curl -X GET -H ‘x-api-key: (api_key)’ https://api.lightboxre.com/v1/apns/us/120-591-02
https://api.lightboxre.com/v1/apns/us/120-591-02
Parameters
Parameter | Type | Description | Usage |
---|---|---|---|
apn | path | APN (Assessor Parcel Number) to lookup | required |
Response
Media type: application/json
Lookup APN (Assessor Parcel Number) within a county
Use this endpoint when a fips code is available. This will return all APNs that match the APN within the county identified by the county fips code.
GET /apns/us/{fips}/{apn}
Example requests
curl -X GET -H ‘x-api-key: (api_key)’ https://api.lightboxre.com/v1/apns/us/06059/120-591-02
https://api.lightboxre.com/v1/apns/us/06059/120-591-02
Parameters
Parameter | Type | Description | Usage |
---|---|---|---|
fips | path | 5 digit County fips code | required |
apn | path | APN (Assessor Parcel Number) to lookup | required |
Response
Media type: application/json
APN Autocomplete (Type ahead / autocomplete / suggest)
Use this endpoint when implementing a type ahead service for your end users.
GET /apns/us/_autocomplete?text=
Example requests
curl -X GET -H ‘x-api-key: (api_key)’ https://api.lightboxre.com/v1/apns/us/_autocomplete?text=120-591-02
https://api.lightboxre.com/v1/apns/us/_autocomplete?text=120-591-02
Parameters
Parameter | Type | Description | Usage |
---|---|---|---|
text | query | partial apn | required |
limit | query | number to limit the number of results returned. default = 10 | optional |
fips | query | fips code to limit searching based within a county | optional |
Response
Media type: application/json
API Response
For each endpoint other then the tile requests the response will stay consistent.
{
"$ref": "string",
"$metadata": {
"recordSet": {
"totalRecords": 99
}
},
"apnRefs": [
{
"fips": "06059",
"apn": "120-591-02",
"apnTrimmed": "12059102",
"apnSource": "APN",
"location": {
"streetAddress": "23143 CHERRY AVE",
"locality": "LAKE FOREST",
"regionCode": "CA",
"County": "Orange",
"postalCode": "92630",
"postalCodeExt": "4537",
"countryCode": "US",
"representativePoint": {
"longitude": "-81.837226",
"latitude": "31.561204",
"geometry": {
"wkt": "POINT (-81.837226 31.561204)"
}
},
"geometry": {
"wkt": "POLYGON ((-81.8365421725088 31.5596747515072, -81.8355565061132 31.5610626320997, -81.8364392839369 31.5616482123836, -81.8357284404849 31.5626443382122, -81.836177340647 31.563062093173, -81.8362075467813 31.5630433905261, -81.8364970920146 31.5633371666179, -81.8372640580123 31.5619214017416, -81.8387065277034 31.5619493777545, -81.8388961980706 31.5611991216801, -81.8391036517067 31.5604310780129, -81.8365421725088 31.5596747515072))"
}
},
"parcels": [
{
"$ref": "string",
"id": "string"
}
],
"assessments": [
{
"$ref": "string",
"id": "string"
}
]
}
]
}
HTTP Error Codes
200 | The request succeeded. |
201 | The object was created successfully |
202 | Accepted, no content |
204 | Successful, no content |
204 | The server has successfully fulfilled the request and that there is no additional content to send in the response payload body. Typically returned on a DELETE |
400 | One or more of the request parameters were invalid. |
401 | The client must authenticate itself to get the requested response. Note: This could also be due to your trial key has expired. |
404 | The server cannot find the requested resource. This can also mean that the endpoint is valid but the resource itself does not exist. |
429 | Too many requests were made in a short period of time, or you have exceeded your request-lot pool. |
500 | The server has encountered an error it does not know how to handle. |
503 | Service Unavailable. |