# Documentation # Getting Started The Whitepages API provides access to comprehensive person and property data. Whether you're verifying identities, enriching customer records, or researching properties, our API delivers the data you need. ## Get Your API Key To access the API, you'll need an API key. Sign up for a **free trial** at [whitepages.com/pro-api](https://www.whitepages.com/pro-api). Your API key authenticates all requests and tracks usage for billing. Never expose it in client-side code or public repositories. If your key is compromised, contact [support@whitepages.com](mailto:support@whitepages.com) for a replacement. ## Available APIs ## Making Requests All API requests require your API key in the `X-Api-Key` header: ```bash curl 'https://api.whitepages.com/v1/person?name=John%20Smith' \ --header 'X-Api-Key: YOUR_API_KEY' ``` Responses are returned in JSON format. Each successful request that returns data consumes one billable query. ## Next Steps Ready to make your first API call? Start with the [Person Search](/documentation/person-search) tutorial. # Getting a Trial API Key This guide walks you through the process of signing up for a free trial API key. The trial gives you access to all API endpoints so you can evaluate the service before committing to a paid plan. ## Step 1: Visit the API Page Go to [whitepages.com/pro-api](https://www.whitepages.com/pro-api) to access the API signup page. API Landing Page You'll see the "Get API Access" form on the right side of the page. ## Step 2: Enter Your Contact Information The first form requires three pieces of information: * **Full Name** - Your full name * **Business Email Address** - A valid business email address (required for trial approval) * **Phone Number** - Your phone number in the format (555) 555-5555 Signup Form Fill in your details and click the **Start for Free** button. Form Filled Using a business email address (e.g., [yourname@company.com](mailto:yourname@company.com)) rather than a personal email increases your chances of trial approval and faster processing. ## Step 3: Provide API Usage Details After submitting your contact information, you'll be asked to provide more details about your API needs: Second Form Stage Fill out the following fields: * **Anticipated Monthly API Calls** - Select your expected usage volume * **Do you have a technical resource for implementation?** - Indicate if you have development resources * **Who is the end user for the data?** - Select who will be using the data (Internal Staff, Businesses you serve, Consumers, or Other) * **Briefly describe how you plan to use the API** - Provide a short description of your use case Second Form Filled Click **Access API Trial** to submit your request. The trial signup does not require a credit card. You can evaluate the API completely free during the trial period. ## Step 4: Check Your Email After submitting the form, you'll see a confirmation message: Confirmation Check your email for instructions on how to activate your trial key. ## Step 5: Start Using Your API Key Once you receive your API key, you can start making requests immediately. Include your key in the `X-Api-Key` header: ```bash curl 'https://api.whitepages.com/v1/person?name=John%20Smith' \ --header 'X-Api-Key: YOUR_API_KEY' ``` Never share your API key publicly or commit it to version control. If your key is compromised, contact [support@whitepages.com](mailto:support@whitepages.com) immediately. ## Trial Limitations The trial API key includes: * Access to all API endpoints * Limited number of queries for evaluation purposes * Full response data (no field restrictions) For production use or higher query volumes, visit the [API Pricing](https://www.whitepages.com/pro-api/pricing) page. ## Next Steps # Guides In-depth guides for integrating and using the Whitepages API. Detailed guides are under development. # Property Search The Property Search API returns ownership and resident information for a given property. Use it to identify property owners, find current residents, or verify property details. **V2 API Available**: We recommend using the [V2 Property API](/references/property-v2/search_property_v2) for new integrations. The V2 API provides improved data structure and additional features. ## Make Your First Request ### Send a Request Search for property details by address using the V2 API: ```bash title="Request" curl 'https://api.whitepages.com/v2/property/?street=1600%20Pennsylvania%20Ave%20NW&city=Washington&state_code=DC' \ --header 'X-Api-Key: YOUR_API_KEY' ``` Replace `YOUR_API_KEY` with your actual API key. ### Review the Response A successful request returns property details with owner and resident information: ```json title="Response" { "result": { "property_id": "RVMKL8l80mK", "apn": "0187-S000-0802", "property_address": { "full_address": "1600 Pennsylvania Ave NW Washington, DC 20500", "line1": "1600 Pennsylvania Ave NW", "city": "Washington", "state": "DC", "zip": "20500", "house": "1600", "street": "Pennsylvania", "street_type": "Ave", "county": "District of Columbia" }, "mailing_address": { "full_address": "1600 Pennsylvania Ave NW Washington, DC 20500", "line1": "1600 Pennsylvania Ave NW", "city": "Washington", "state": "DC", "zip": "20500", "house": "1600", "street": "Pennsylvania", "street_type": "Ave", "county": "District of Columbia" }, "geolocation": { "lat": 38.897697, "lng": -77.034392 }, "ownership_info": { "owner_type": "Business", "business_owners": [ { "name": "United States Of America" } ], "person_owners": [ { "id": "PX3vr2aM2E3", "name": "Donald Duck", "current_addresses": [ { "full_address": "1600 Pennsylvania Ave NW # 666 Washington, DC 20500" } ], "phones": [ { "number": "12015215520", "type": "Landline" } ], "emails": [ { "email": "sample.email@gmail.com" } ] } ] }, "residents": [ { "id": "PX3vr2aM2E3", "name": "Donald Duck", "current_addresses": [ { "full_address": "1600 Pennsylvania Ave NW # 666 Washington, DC 20500" } ], "phones": [ { "number": "12015215520", "type": "Landline" } ], "emails": [ { "email": "sample.email@gmail.com" } ] } ] } } ``` The response includes the verified property with geolocation, property owners, and current residents. ## Request Parameters | Parameter | Required | Description | Example | | ------------ | -------- | --------------------- | -------------------------- | | `street` | No\* | Street address | `1600 Pennsylvania Ave NW` | | `city` | No\* | City name | `Washington` | | `state_code` | No\* | Two-letter state code | `DC` | | `zipcode` | No\* | ZIP code | `20500` | At least one parameter is required. Include multiple parameters for more precise results. **Example with ZIP code:** ``` https://api.whitepages.com/v2/property/?street=1600%20Pennsylvania%20Ave%20NW&zipcode=20500 ``` **Example by property ID:** ``` https://api.whitepages.com/v2/property/RVMKL8l80mK ``` ## What's Next You've completed the getting started tutorials. Explore the [References](/references) section for complete API documentation. # Purchasing the API This guide walks you through the process of purchasing a paid Whitepages Pro API subscription. Paid plans offer higher query limits and are suitable for production use. ## Step 1: Visit the Pricing Page Go to [whitepages.com/pro-api/pricing](https://www.whitepages.com/pro-api/pricing) to view available plans. Pricing Page You'll see three options: * **14-Day Trial** - Free access with 50 queries to evaluate the API * **Pro API Plan** - Paid plans with 1,000 to 30,000 queries per month * **Higher-Volume Plans** - Enterprise plans for 50,000+ queries per month ## Step 2: Select Your Plan ### Monthly vs Annual Billing Use the toggle at the top to switch between **Monthly** and **Annual** billing. Annual plans offer a 15% discount. ### Choose Your Query Volume For the Pro API Plan, select your monthly query volume from the dropdown. Options range from 1,000 to 30,000 queries per month. Click **Get Pro Access** to proceed to checkout. For volumes above 30,000 queries per month, select "Higher-Volume Plans" and [schedule a meeting](https://www.getclockwise.com/c/ewang-whitepages-com/quick-meeting) with our sales team. ## Step 3: Complete the Checkout Form After clicking "Get Pro Access", you'll be taken to the secure checkout page. Checkout Page ### Account Details Fill in the following information: * **Email Address** - Your business email where the API key will be sent * **Company Name** - Your company or organization name If you already have a Whitepages consumer account, you must use a different email address for your API account. You can either use a separate business email or add `+api` to your existing email (e.g., `yourname+api@company.com`) to create a new API account. * **Company Address** - Your business address - **Use Case** - Select how you plan to use the API: - Contact Enrichment - Identity Verification - Reverse Phone Lookup - Property & Owner Research - Other - **Phone** - Your contact phone number Your account confirmation and billing receipts will be sent to this email address. Make sure it's correct before submitting. ### Payment Information Enter your payment details: * **Cardholder Name** - Name as it appears on your card * **Card Number** - Your credit card number (Visa, Mastercard, American Express, or Discover accepted) * **Expiration Date** - Card expiration month and year * **CVV** - The 3 or 4 digit security code on your card * **Billing ZIP Code** - The ZIP code associated with your billing address Checkout Form Filled ## Step 4: Review and Submit Before submitting, review your order summary on the right side of the page: * Verify the plan name and query volume * Check the monthly price * Note that sales tax may be added based on your location Check the box to agree to the recurring charges, then click **Submit Order**. You can cancel your subscription at any time by contacting Whitepages customer support. There are no long-term contracts for monthly plans. ## Step 5: Copy Your API Key After successful payment, your API key will be displayed on the confirmation screen. Your API key is only shown once after purchase. Copy it immediately and store it in a secure location such as a password manager or secrets vault. You will not receive your API key via email. ## Using Your API Key Include your API key in the `X-Api-Key` header with every request: ```bash curl 'https://api.whitepages.com/v1/person?name=John%20Smith' \ --header 'X-Api-Key: YOUR_API_KEY' ``` Never share your API key publicly or commit it to version control. If your key is compromised, contact [support@whitepages.com](mailto:support@whitepages.com) immediately. ## Managing Your Subscription To manage your subscription, upgrade your plan, or view usage statistics: 1. Log in at [whitepages.com/auth/login](https://www.whitepages.com/auth/login) 2. Navigate to your account dashboard 3. View billing history and current usage For billing questions or to cancel your subscription, contact customer support at (800) 916-7806 or visit [support.whitepages.com](https://support.whitepages.com/hc/en-us). ## Next Steps # Authentication import { Callout } from "fumadocs-ui/components/callout"; All API requests require a valid API key provided in the `X-Api-Key` header. ## API Key Include your API key in every request using the `X-Api-Key` header: ```bash curl -X GET "https://api.whitepages.com/v1/person/" \ -H "X-Api-Key: your-api-key-here" ``` Keep your API key secure. Do not expose it in client-side code or public repositories. ## Obtaining an API Key Contact our support team at [support@whitepages.com](mailto:support@whitepages.com) for API key provisioning and management. ## Error Responses If authentication fails, you will receive a `403 Forbidden` response: ```json { "message": "Forbidden" } ``` Common causes for authentication errors: * Missing `X-Api-Key` header * Invalid or revoked API key * API key not authorized for the requested endpoint # Billing import { Callout } from "fumadocs-ui/components/callout"; API usage is tracked and billed based on successful requests. ## Billing Rules | Response Type | Billable | | ------------------ | -------- | | 2xx (Success) | Yes | | 4xx (Client Error) | Yes | | 5xx (Server Error) | No | | 429 (Rate Limit) | No | Only requests to Person and Property endpoints are charged. Account endpoints are not billable. ## Billable Requests All `2xx` (success) and `4xx` (client error) responses from Person and Property endpoints are charged to your account. ## Non-Billable Requests The following responses are **not** charged: * `5xx` (server error) responses - issues on our end * `429` (rate limit) responses - when you've exceeded rate limits ## Billing Period Usage is calculated from the start of the month in UTC time. Your billing cycle resets on the 1st of each month at 00:00 UTC. ## Usage Reports Detailed usage reports are available through the [Account Usage](/references/account/get_account_usage_data) endpoint. You can query: * Daily request counts * Usage over custom date ranges (up to 90 days) * Total requests for a time period ## Support For billing inquiries, quota adjustments, or plan changes, please contact our team at [support@whitepages.com](mailto:support@whitepages.com). # Routes import { Cards, Card } from "fumadocs-ui/components/card"; The Whitepages API provides comprehensive access to person and property data with enterprise-grade authentication and usage tracking. Before using the API, review the [Authentication](/references/authentication), [Rate Limits](/references/rate-limits), and [Billing](/references/billing) documentation. ## Account API Account management endpoints for retrieving usage statistics. ## Person API Search for individuals by name, phone number, and address. ## Property V2 API # Python SDK import { Callout } from "fumadocs-ui/components/callout"; The Python SDK is coming soon. # Rate Limits import { Callout } from "fumadocs-ui/components/callout"; API usage is rate-limited to ensure system stability and fair usage across all customers. ## Rate Limit Behavior When you exceed the rate limit, the API returns a `429 Too Many Requests` status code with retry information. ```json { "message": "Too Many Requests" } ``` When you receive a 429 response, wait before retrying your request. Implement exponential backoff in your application for best results. ## Monthly Query Limits Your API plan includes a monthly query limit. When exceeded, you will receive: ```json { "message": "Limit Exceeded" } ``` This indicates you have hit your monthly query limit. You can either: * Wait until the next month when your limit resets * Contact support for additional queries or a plan upgrade ## Best Practices * **Implement retry logic** with exponential backoff for 429 responses * **Cache responses** when appropriate to reduce API calls * **Monitor usage** via the [Account Usage](/references/account/get_account_usage_data) endpoint * **Batch requests** where possible to optimize your quota ## Rate Limit Increases For rate limit increases or quota adjustments, please contact our team at [support@whitepages.com](mailto:support@whitepages.com). # TypeScript SDK import { Callout } from "fumadocs-ui/components/callout"; The TypeScript SDK is coming soon. # Filter by Age Range Use the `min_age` and `max_age` parameters to filter person search results by age range. This is useful when you need to find individuals within a specific age bracket. ## Basic Usage Add `min_age` and/or `max_age` to your request to filter results: ```bash title="Request" curl 'https://api.whitepages.com/v1/person?name=John%20Smith&min_age=25&max_age=45' \ --header 'X-Api-Key: YOUR_API_KEY' ``` This returns only records for individuals between 25 and 45 years old. ## Parameters | Parameter | Type | Description | | --------- | ------- | -------------------------------------- | | `min_age` | integer | Minimum age (inclusive). Must be 18-65 | | `max_age` | integer | Maximum age (inclusive). Must be 18-65 | Age filters are restricted to individuals between 18 and 65 years old. Values outside this range will return an error. ## Examples ### Filter by Minimum Age Filter for individuals 21 years or older: ```bash curl 'https://api.whitepages.com/v1/person?name=Jane%20Doe&city=Chicago&state_code=IL&min_age=21' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Filter by Maximum Age Filter for individuals 40 or younger: ```bash curl 'https://api.whitepages.com/v1/person?last_name=Johnson&state_code=FL&max_age=40' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Filter by Age Range Filter for individuals between 25 and 55: ```bash curl 'https://api.whitepages.com/v1/person?name=Michael%20Williams&zipcode=90210&min_age=25&max_age=55' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ## Combining with Other Filters Age filters work alongside all other person search parameters: ```bash curl 'https://api.whitepages.com/v1/person?first_name=Sarah&last_name=Miller&city=Seattle&state_code=WA&min_age=30&max_age=50' \ --header 'X-Api-Key: YOUR_API_KEY' ``` Age filtering relies on available data. Some records may not have age information and will be excluded from filtered results. ## Response The response format remains the same as a standard person search. Age filters only affect which records are returned, not the structure of the response. ```json title="Response" [ { "id": "P1234567890", "name": "John Smith", "aliases": ["Johnny Smith"], "is_dead": false, "current_addresses": [ { "id": "A9876543210", "address": "456 Oak Ave, Chicago, IL 60601" } ], "historic_addresses": [ { "id": "A1234567890", "address": "789 Pine St, Chicago, IL 60602" } ], "owned_properties": [], "phones": [{ "number": "(312) 555-0123", "type": "mobile", "score": 88 }], "emails": ["jsmith@example.com"], "date_of_birth": "1992-07-22", "linkedin_url": "https://linkedin.com/in/jsmith", "company_name": "Tech Solutions Inc", "job_title": "Product Manager", "relatives": [{ "id": "P0987654321", "name": "Mary Smith" }] } ] ``` # Person Search The Person Search API finds matching records in the Whitepages dataset based on name, location, phone number, or address. Use it to verify identities, find contact information, or enrich customer data. ## Make Your First Request ### Send a Request Search for a person by name and location: ```bash title="Request" curl 'https://api.whitepages.com/v1/person?name=John%20Smith&city=New%20York&state_code=NY' \ --header 'X-Api-Key: YOUR_API_KEY' ``` Replace `YOUR_API_KEY` with your actual API key. ### Review the Response A successful request returns matching person records: ```json title="Response" [ { "id": "P1234567890", "name": "John Smith", "aliases": ["Johnny Smith", "J. Smith"], "is_dead": false, "current_addresses": [ { "id": "A9876543210", "address": "123 Main St, New York, NY 10001" } ], "historic_addresses": [ { "id": "A1234567890", "address": "456 Oak Ave, Brooklyn, NY 11201" } ], "owned_properties": [ { "id": "R5432109876", "address": "123 Main St, New York, NY 10001" } ], "phones": [{ "number": "(212) 555-0198", "type": "mobile", "score": 92 }], "emails": ["john.smith@example.com"], "date_of_birth": "1985-03-15", "linkedin_url": "https://linkedin.com/in/johnsmith", "company_name": "Acme Corp", "job_title": "Software Engineer", "relatives": [{ "id": "P0987654321", "name": "Jane Smith" }] } ] ``` Each record includes identifiers, addresses, phone numbers, emails, employment information, and linked property and relative records when available. Each phone number includes a **score** indicating **relative confidence** in the record's accuracy. A Higher score means that a number is more likely to be accurate than a lower score. ## Request Parameters Combine any of these parameters to refine your search: | Parameter | Description | Example | | ------------------------------ | --------------------------------------------------------- | ------------- | | `name` | Full or partial name | `John Smith` | | `first_name` | First name | `John` | | `middle_name` | Middle name | `Robert` | | `last_name` | Last name | `Smith` | | `phone` | Phone number | `2125550198` | | `street` | Street address | `123 Main St` | | `city` | City name | `New York` | | `state_code` | Two-letter state code | `NY` | | `zipcode` | ZIP code | `10001` | | `min_age` | Minimum age filter (18-65) | `25` | | `max_age` | Maximum age filter (18-65) | `55` | | `include_historical_locations` | Include historical addresses in search (default: `false`) | `true` | The API uses **AND logic**, meaning all parameters must match. For example, `first_name=John` will return records named John. `first_name=John&last_name=Smith` will only return those same records that also have the last name Smith. **Example with multiple parameters:** ``` https://api.whitepages.com/v1/person?name=John%20Smith&zipcode=10001 ``` ## Response Codes | Status | Description | Billable | | ----------------------- | ----------------------------- | -------- | | `200 OK` | Request successful | Yes | | `400 Bad Request` | Missing or invalid parameters | No | | `403 Forbidden` | Invalid API key | No | | `404 Not Found` | No matching record (by id) | Yes | | `429 Too Many Requests` | Rate limit exceeded | No | | `5xx` | Server error | No | **Note**: A `200 OK` status means the request was processed successfully, but it doesn't guarantee results were found. Check the response body to see if any records were returned. ## Next Steps Learn how to look up property ownership and resident data in the [Property Search](/documentation/property-search) tutorial. # Search for Person by Partial Name When you only have partial name information, use the individual name parameters (`first_name`, `middle_name`, `last_name`) to search more precisely than using the combined `name` parameter. ## When to Use Partial Name Search Use individual name parameters when: * You only know a person's first or last name * You need to search across variations of a name * You want more control over which parts of a name to match ## Search by Last Name Only Find all people with a specific last name in a location: ```bash title="Request" curl 'https://api.whitepages.com/v1/person?last_name=Smith&city=Seattle&state_code=WA' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ## Search by First and Last Name When you know both first and last name but want to match regardless of middle name: ```bash title="Request" curl 'https://api.whitepages.com/v1/person?first_name=John&last_name=Smith&state_code=NY' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ## Include Middle Name for Precision For more precise matching when you have complete name information: ```bash title="Request" curl 'https://api.whitepages.com/v1/person?first_name=John&middle_name=Robert&last_name=Smith&zipcode=10001' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ## Combining with Location Parameters For best results, always include at least one location parameter: | Combination | Use Case | | -------------------------------------- | --------------------------- | | `last_name` + `state_code` | Broad search within a state | | `last_name` + `city` + `state_code` | City-level search | | `first_name` + `last_name` + `zipcode` | Precise local search | ## Name Parameter vs Individual Parameters | Parameter | Behavior | | -------------------------- | ------------------------------------------------------ | | `name` | Matches against the full name field, flexible ordering | | `first_name` + `last_name` | Matches each field specifically, more precise | Use `name` for convenience when you have a full name string. Use individual parameters when you need precise control or only have partial information. # Search by Address Use address parameters to find people associated with a specific location. By default, searches match only current addresses. Enable `include_historical_locations` to also search historical addresses. ## Basic Usage Search for people at a specific address: ```bash title="Request" curl 'https://api.whitepages.com/v1/person?street=123%20Main%20St&city=Seattle&state_code=WA' \ --header 'X-Api-Key: YOUR_API_KEY' ``` This returns people whose **current address** matches the search criteria. ## Include Historical Addresses To search both current and historical addresses, set `include_historical_locations=true`: ```bash title="Request" curl 'https://api.whitepages.com/v1/person?street=123%20Main%20St&city=Seattle&state_code=WA&include_historical_locations=true' \ --header 'X-Api-Key: YOUR_API_KEY' ``` This returns people who currently live at the address **or** have previously lived there. ## Parameters | Parameter | Type | Default | Description | | ------------------------------ | ------- | ------- | -------------------------------------- | | `street` | string | — | Street address | | `city` | string | — | City name | | `state_code` | string | — | Two-letter state code | | `zipcode` | string | — | ZIP code | | `include_historical_locations` | boolean | `false` | Include historical addresses in search | ## Examples ### Search by ZIP Code Only Find people in a specific ZIP code: ```bash curl 'https://api.whitepages.com/v1/person?zipcode=98101' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Search by City and State Find people in a specific city: ```bash curl 'https://api.whitepages.com/v1/person?city=Portland&state_code=OR' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Find Previous Residents Find anyone who has ever lived at an address: ```bash curl 'https://api.whitepages.com/v1/person?street=456%20Oak%20Ave&city=Denver&state_code=CO&zipcode=80202&include_historical_locations=true' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Combine with Name Search Find a specific person at an address: ```bash curl 'https://api.whitepages.com/v1/person?name=John%20Smith&street=789%20Pine%20St&city=Austin&state_code=TX&include_historical_locations=true' \ --header 'X-Api-Key: YOUR_API_KEY' ``` Historical address data varies by record. Some individuals may have extensive address history while others may only have current address information available. ## Response The response includes both current and historical addresses for each person found: ```json title="Response" [ { "id": "P1234567890", "name": "John Smith", "aliases": ["Johnny Smith"], "is_dead": false, "current_addresses": [ { "id": "A9876543210", "address": "123 Main St, Seattle, WA 98101" } ], "historic_addresses": [ { "id": "A1234567890", "address": "456 Oak Ave, Portland, OR 97201" }, { "id": "A2345678901", "address": "789 Pine St, San Francisco, CA 94102" } ], "owned_properties": [ { "id": "R5432109876", "address": "123 Main St, Seattle, WA 98101" } ], "phones": [{ "number": "(206) 555-0198", "type": "mobile", "score": 92 }], "emails": ["john.smith@example.com"], "date_of_birth": "1985-03-15", "linkedin_url": "https://linkedin.com/in/johnsmith", "company_name": "Acme Corp", "job_title": "Software Engineer", "relatives": [{ "id": "P0987654321", "name": "Jane Smith" }] } ] ``` When `include_historical_locations=true`, the search matches against both `current_addresses` and `historic_addresses`. The response always includes both fields regardless of the search setting. # Search by Radius Use the `radius` parameter to find people within a specific distance of a location. This enables proximity-based searches, such as finding all people within 10 miles of a given address or city. ## Basic Usage Search for people within a radius of a location: ```bash title="Request" curl 'https://api.whitepages.com/v1/person?city=Seattle&state_code=WA&radius=10' \ --header 'X-Api-Key: YOUR_API_KEY' ``` This returns people whose **current address** is within 10 miles of Seattle, WA. ## How It Works When you provide a `radius` parameter along with location information, the API: 1. **Geocodes the location** - Converts your address, city, or ZIP code into geographic coordinates (latitude/longitude) 2. **Searches by distance** - Finds people whose addresses fall within the specified radius 3. **Returns results** - Ordered by relevance and distance The API automatically geocodes your location. If geocoding fails (e.g., invalid address), the search gracefully falls back to standard address matching without distance filtering. ## Parameters | Parameter | Type | Default | Description | | ------------------------------ | ------- | ------- | --------------------------------------------- | | `radius` | number | — | Search radius in miles (maximum: 100) | | `street` | string | — | Street address for center point | | `city` | string | — | City name for center point | | `state_code` | string | — | Two-letter state code for center point | | `zipcode` | string | — | ZIP code for center point | | `include_historical_locations` | boolean | `false` | Include historical addresses in radius search | The maximum allowed radius is **100 miles**. Requests with larger values will be rejected. ## Examples ### Search by City with Radius Find people within 5 miles of downtown Portland: ```bash curl 'https://api.whitepages.com/v1/person?city=Portland&state_code=OR&radius=5' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Search by ZIP Code with Radius Find people within 1 miles of a specific ZIP code: ```bash curl 'https://api.whitepages.com/v1/person?zipcode=98101&radius=1' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Search by Full Address with Radius Find people within 0.1 miles of a specific street address: ```bash curl 'https://api.whitepages.com/v1/person?street=123%20Main%20St&city=Seattle&state_code=WA&zipcode=98101&radius=0.1' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Include Historical Addresses Find people who currently live or have previously lived within 10 miles of a location: ```bash curl 'https://api.whitepages.com/v1/person?city=Austin&state_code=TX&radius=10&include_historical_locations=true' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Combine with Name Search Find a specific person within a radius: ```bash curl 'https://api.whitepages.com/v1/person?name=John%20Smith&city=Denver&state_code=CO&radius=25' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ## Location Specification You can specify the center point for radius searches in several ways: ### Street Address (Most Precise) Provide a full street address for the most accurate center point: ```bash curl 'https://api.whitepages.com/v1/person?street=456%20Oak%20Ave&city=Boston&state_code=MA&radius=5' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### City and State Use city and state for a broader center point (typically the city center): ```bash curl 'https://api.whitepages.com/v1/person?city=San%20Francisco&state_code=CA&radius=20' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### ZIP Code Use a ZIP code as the center point: ```bash curl 'https://api.whitepages.com/v1/person?zipcode=10001&radius=3' \ --header 'X-Api-Key: YOUR_API_KEY' ``` * **Street addresses** provide the most precise center point - **ZIP codes** use the geographic center of the ZIP code area - **City/State** combinations use the city center coordinates For best results, provide as much location detail as possible. ## Response The response format is identical to standard person searches, including all address, phone, and demographic information: ```json title="Response" [ { "id": "P1234567890", "name": "John Smith", "aliases": ["Johnny Smith"], "is_dead": false, "current_addresses": [ { "id": "A9876543210", "address": "789 Pine St, Seattle, WA 98102" } ], "historic_addresses": [ { "id": "A1234567890", "address": "456 Oak Ave, Seattle, WA 98101" } ], "owned_properties": [ { "id": "R5432109876", "address": "789 Pine St, Seattle, WA 98102" } ], "phones": [{ "number": "(206) 555-0198", "type": "mobile", "score": 92 }], "emails": ["john.smith@example.com"], "date_of_birth": "1985-03-15", "linkedin_url": "https://linkedin.com/in/johnsmith", "company_name": "Acme Corp", "job_title": "Software Engineer", "relatives": [{ "id": "P0987654321", "name": "Jane Smith" }] } ] ``` The response does not include the calculated distance from the center point. Results are ordered by relevance score, which factors in distance along with other matching criteria. ## Error Handling ### Graceful Degradation If the location cannot be geocoded (e.g., invalid address or service unavailable), the API automatically falls back to standard address matching without distance filtering: ```bash # If geocoding fails, this behaves like a standard city/state search curl 'https://api.whitepages.com/v1/person?city=InvalidCity&state_code=XX&radius=10' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Radius Too Large Requests with radius values exceeding 100 miles will return a validation error: ```json title="Error Response" { "error": { "code": 400, "message": "Bad Request", "long_message": "Request validation failed. Validation failed for field 'query -> radius'. Please check the provided data.", "meta": null }, "wp_trace_id": "10860e0010134c52833b9a3cdbdacfd3" } ``` ## Best Practices ### Choose Appropriate Radius * **Urban areas**: Use smaller radii (2-10 miles) for more targeted results * **Suburban areas**: Use medium radii (10-25 miles) to cover broader regions * **Rural areas**: Use larger radii (25-100 miles) to account for lower population density ### Combine with Other Filters Radius searches work well with other parameters: ```bash # Find people aged 30-40 within 15 miles of a location curl 'https://api.whitepages.com/v1/person?city=Chicago&state_code=IL&radius=15&min_age=30&max_age=40' \ --header 'X-Api-Key: YOUR_API_KEY' ``` ### Performance Considerations * Larger radii return more results but will take longer to process * Combining radius with name or other filters improves performance * Consider whether you need to use radius or if other filters like city and state would be sufficient For best performance, combine radius searches with additional filters like name, age range, or phone number to narrow down results. # Retrieve usage data for a specific time range {/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} # Gets person details by id {/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} # Search for a person by name, phone number, and address {/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} # Get property details by address {/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} # Get property by ID {/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} # Search for property by address {/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}