Search properties by address or APN
Search properties by address or by Assessor's Parcel Number. Nothing matching is a `404` carrying an empty `results` array, so a caller parses one shape either way. Each result links to its full record on the details endpoint, which is where `assessed_info` and mortgage history come from.
Authorization
ApiKeyAuth API key for authentication. Get your key from the Whitepages developer portal.
In: header
Query Parameters
Street address line
City name
Two-letter state code
Five-digit ZIP code
Assessor's Parcel Number. Unique within a county rather than nationally, so it can match several properties. Cannot be combined with address parameters.
Five-digit county FIPS code. Narrows the search to one county, whether it names a parcel number or an address.
Latitude of a point to search around. Supply with lng
Longitude of a point to search around. Supply with lat
Radius around the geopoint in miles, defaulting to 1
Keep only results that are the address supplied or an address in the same building
One-based page number
Results per page
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v3/property/"{
"results": [
{
"property_id": "string",
"address_id": "string",
"apn": "string",
"property_address": {
"full_address": "string",
"line1": "string",
"city": "string",
"state": "string",
"zip": "string",
"house": "string",
"street": "string",
"street_type": "string",
"county": "string"
},
"mailing_address": {
"full_address": "string",
"line1": "string",
"city": "string",
"state": "string",
"zip": "string",
"house": "string",
"street": "string",
"street_type": "string",
"county": "string"
},
"geolocation": {
"lat": 0,
"lng": 0
},
"property_purpose": "string",
"owner_occupied": "string",
"is_vacant": true,
"year_built": 0,
"effective_year_built": 0,
"living_sqft": 0,
"lot_sqft": 0,
"ground_floor_sqft": 0,
"basement_sqft": 0,
"basement_type": "string",
"stories": 0,
"bedrooms": 0,
"bathrooms": 0,
"has_pool": true,
"garage_type": "string",
"roof_covering": "string",
"heating_fuel": "string",
"condition": "string",
"build_quality": "string",
"ownership_info": {
"owner_type": "string",
"person_owners": [],
"business_owners": [],
"sale_date": "string",
"last_sale_amount": 0,
"mortgages": [
{
"amount": 0,
"date": "string",
"due_date": "string",
"term": 0,
"rate": 0,
"rate_type": "string"
}
]
},
"residents": [],
"assessed_info": {
"market_value": 0,
"assessed_value": 0,
"property_tax_amount": 0,
"property_tax_percent": 0
},
"match_score": 0,
"distance_miles": 0,
"match_type": "exact",
"confidence_score": 0,
"result_metadata": {
"details_url": "string",
"residents": {
"displayed": 0,
"additional": 0
},
"person_owners": {
"displayed": 0,
"additional": 0
},
"business_owners": {
"displayed": 0,
"additional": 0
}
}
}
],
"metadata": {
"result_count": 0,
"page": 0,
"page_size": 0
}
}{
"error": {
"code": 400,
"message": "Bad Request",
"long_message": "Invalid person ID format: 'sdf'. Person ID must start with 'P' followed by exactly 10 alphanumeric characters. Example: 'PABcd12345e' or 'P1234567890'.",
"meta": null
},
"wp_trace_id": "3b0b537a60d84057817bb40563ca5c99"
}{
"message": "Forbidden"
}{
"results": [
{
"property_id": "string",
"address_id": "string",
"apn": "string",
"property_address": {
"full_address": "string",
"line1": "string",
"city": "string",
"state": "string",
"zip": "string",
"house": "string",
"street": "string",
"street_type": "string",
"county": "string"
},
"mailing_address": {
"full_address": "string",
"line1": "string",
"city": "string",
"state": "string",
"zip": "string",
"house": "string",
"street": "string",
"street_type": "string",
"county": "string"
},
"geolocation": {
"lat": 0,
"lng": 0
},
"property_purpose": "string",
"owner_occupied": "string",
"is_vacant": true,
"year_built": 0,
"effective_year_built": 0,
"living_sqft": 0,
"lot_sqft": 0,
"ground_floor_sqft": 0,
"basement_sqft": 0,
"basement_type": "string",
"stories": 0,
"bedrooms": 0,
"bathrooms": 0,
"has_pool": true,
"garage_type": "string",
"roof_covering": "string",
"heating_fuel": "string",
"condition": "string",
"build_quality": "string",
"ownership_info": {
"owner_type": "string",
"person_owners": [],
"business_owners": [],
"sale_date": "string",
"last_sale_amount": 0,
"mortgages": [
{
"amount": 0,
"date": "string",
"due_date": "string",
"term": 0,
"rate": 0,
"rate_type": "string"
}
]
},
"residents": [],
"assessed_info": {
"market_value": 0,
"assessed_value": 0,
"property_tax_amount": 0,
"property_tax_percent": 0
},
"match_score": 0,
"distance_miles": 0,
"match_type": "exact",
"confidence_score": 0,
"result_metadata": {
"details_url": "string",
"residents": {
"displayed": 0,
"additional": 0
},
"person_owners": {
"displayed": 0,
"additional": 0
},
"business_owners": {
"displayed": 0,
"additional": 0
}
}
}
],
"metadata": {
"result_count": 0,
"page": 0,
"page_size": 0
}
}{
"error": {
"code": 422,
"message": "Unprocessable Entity",
"long_message": "The request contains semantic errors and cannot be processed",
"meta": null
},
"wp_trace_id": "7e5f2c9a1d8b4e6f9c0a3b5d7e1f2a4c"
}{
"message": "Too Many Requests",
"error": "usage_cap_exceeded",
"error_instance_id": "1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed",
"limit": 1000,
"used": 1000,
"reset_at": "2026-09-01T00:00:00+00:00",
"upgrade_url": "https://www.whitepages.com/billing/manage-plan/pro-api"
}{
"error": {
"code": 500,
"message": "Internal Server Error",
"long_message": "An internal server error occurred",
"meta": null
},
"wp_trace_id": "9c1a4e7f2b8d4c6a9e0f3b5d7c1a2e4f"
}Related
Property Search
Look up property records, ownership, and residents by address or parcel number
Find Sets of Properties
Page through property search results, filter them, and search a radius around a point
Search by Parcel Number
Look up a property by its assessor parcel number and resolve a number used in more than one county
Property V2 → V3
Field mapping and behavior changes when moving from /v2/property to /v3/property.
Billing
Understand how API usage is tracked and billed.
Gets person details by id GET
Retrieve detailed person information by Whitepages person ID.
Get the owners of a property GET
Retrieve the entities that own a property. Owners are split by entity class into `person_owners` and `business_owners`, with `owner_type` naming the classes present. The lists report completeness rather than a count, so check `result_metadata.person_owners.complete` before reading one as the whole ownership record.