Get property details by ID or APN
Retrieve a property by property ID, address ID, or APN. Returns the full record, including tax assessment, mortgage history, and current residents. A Whitepages identifier is 11 characters; anything else is read as an APN. An APN is unique only within a county, so one naming several properties returns a `409` listing the candidates.
Authorization
ApiKeyAuth API key for authentication. Get your key from the Whitepages developer portal.
In: header
Path Parameters
Whitepages property identifier (capital 'R' prefix), address identifier (capital 'A' prefix), or Assessor's Parcel Number. Whitepages identifiers are 11 characters; anything else is read as an APN. Percent-encode an APN that contains characters reserved in a URL path.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v3/property/RkzQlEj2kmg"{
"result": {
"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
}
}
}{
"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"
}{
"error": {
"code": 404,
"message": "Not Found",
"long_message": "Person id not found: PABcd12345e",
"meta": null
},
"wp_trace_id": "0c57473114bd49b3b3c4b585df624f2f"
}{
"error": {
"code": 400,
"message": "Short error message",
"long_message": "The request was malformed",
"meta": {
"field": "email",
"validation_error": "Invalid email format"
}
},
"wp_trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"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 Details
Pull the full record for a property by property ID, address ID, or parcel number
Property Search
Look up property records, ownership, and residents by address or parcel number
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.
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.
Look up what is known about a phone number GET
Retrieve the number's own facts and the parties associated with it. Several spellings of one number address this resource, so the canonical form goes out in `Content-Location` for a caller normalizing on their side. A path segment that is not a North American number is rejected before any upstream call.