# TruePeopleSearch Scraper (`intelscrape/truepeoplesearch-scraper`) Actor

The ultimate TruePeopleSearch, FastPeopleSearch, TruthFinder, Spokeo, and Whitepages skip trace API. Get phone numbers, emails, and address history without a ScrapFly key. Built for real estate wholesale, B2B lead generation, and debt recovery. Extract verified public records with zero WAF blocks!

- **URL**: https://apify.com/intelscrape/truepeoplesearch-scraper.md
- **Developed by:** [IntelScrape](https://apify.com/intelscrape) (community)
- **Categories:** Lead generation, Automation, Agents
- **Stats:** 5 total users, 3 monthly users, 92.9% runs succeeded, 2 bookmarks
- **User rating**: 1.00 out of 5 stars

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🔎 TruePeopleSearch & FastPeopleSearch Scraper API (No ScrapFly Key Needed)

#### 🤖 NEW: Connect This To Your AI!
Want to use this scraper directly inside Claude, Cursor, or ChatGPT? Check out the new **[TruePeopleSearch MCP Server](https://apify.com/intelscrape/b2b-lead-generation-mcp)**. Give your AI the ability to autonomously pull B2B leads, find emails, and draft outreach campaigns entirely hands-free. Data extraction becomes infinitely easier when your AI does the scraping for you!

#### 🏆 Featured Bots by IntelScrape
1. **TruePeopleSearch Scraper** *(You are here)* — Free Public Records & People Lookup
2. **[Skip Trace PRO](https://apify.com/intelscrape/skip-trace-pro)** — Enterprise Data & Premium Identity Resolution
3. **[Building Permit Leads Scraper](https://apify.com/intelscrape/building-permit-scraper)** — Contractor & Construction Leads
4. **[Amazon Product & Review Scraper](https://apify.com/intelscrape/amazon-product-review-scraper)** — Deep E-commerce & Review Extraction
5. **[Google Maps Email Extractor](https://apify.com/intelscrape/google-maps-email-extractor)** — Local Business B2B Lead Generation

---

⚡ **Use this Actor in n8n — no code**

Building no-code workflows in [n8n](https://n8n.io)? It works natively! Use the official **Apify** node to drop this Actor straight onto your canvas.

**Setup (30 seconds):**
1. In n8n, add the official **Apify** node to your workflow.
2. Connect your **Apify API token** in the credentials.
3. Select **Run an Actor**, and paste this actor's ID: `IntelScrape/truepeoplesearch-scraper`.
4. Fill in the JSON input and run!

---

![TruePeopleSearch Hero Banner](https://files.catbox.moe/rmoth9.png)

![price](https://img.shields.io/badge/price-$3.00_/_1K-2ea44f) ![billing](https://img.shields.io/badge/billing-pay_only_for_matches-2ea44f) ![API key](https://img.shields.io/badge/ScrapFly_Key-NOT_REQUIRED-blue) ![coverage](https://img.shields.io/badge/coverage-United_States-8a2be2) ![search](https://img.shields.io/badge/search-name_·_address_·_phone-blue) ![rating](https://img.shields.io/badge/rating-5.0★-ffc107)

**Stop paying for 3rd-party proxy keys!** Other TruePeopleSearch bots on Apify force you to bring your own expensive ScrapFly API Key just to make the bot work. **Our bot is 100% plug-and-play.** We handle all proxy rotation, Cloudflare bypasses, and Datadome challenges internally using Apify's Residential IP pool.

Search by **name, address**, or **phone number** and get one clean, merged contact record per person — full name, current & previous addresses, phone numbers, emails, relatives, a **match-confidence score**, and (when available) date of birth!  
**Bulk input, no ScrapFly key, pay only for matches.**

---

> 🧭 Built for **real-estate wholesalers, process servers, debt recovery, and corporate due diligence.**

> ⭐ **Rated 5.0★ by daily power users.** If this TruePeopleSearch API saves you time, please take 10 seconds to [leave a review](#) — it helps other professionals find it and keeps us improving coverage. Thank you! 🙏

> 🎁 **Free Tier / Trial:** Every new user automatically gets a **Free Trial of 50 results** ($0.15 value). This allows you to test the API and verify our data quality before paying a single cent. Once your trial ends, you pay a flat $3.00 per 1,000 matches.

> ⚖️ **Lawful business use only.** This Actor only returns information that is already **publicly available**, and it is **not** a consumer reporting agency. **You are solely responsible for how you use the results**.

> 📌 *All names, addresses, phone numbers and emails shown in this documentation are **fictional examples** for illustration only.*

---

### TruePeopleSearch & FastPeopleSearch Scraper — why this one?
The ultimate TruePeopleSearch, FastPeopleSearch, TruthFinder, Spokeo, and Whitepages scraper API. Full US people search at a flat $3.00/1K — no ScrapFly key required!

| Feature | This Actor | The Competitor |
| :--- | :--- | :--- |
| **Price** | **$3.00 / 1K** | $15.00 / 1K |
| **Requires 3rd-Party Proxy Key?** | ❌ **No (Plug & Play)** | ✅ Yes (ScrapFly required) |
| **Pay only for matches** | ✅ | ❌ |
| **Relatives WITH ages** | ✅ | names only |

---

### 🖼️ What a result looks like

One dataset record per matched person. *(Illustrative example — fictional data.)*

| Name | Age | Current address | Phones | Emails | Relatives |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **John A. Doe** | 54 | 123 Main St, Springfield, IL | (202) 555-0182 <br> *+8 more* | [j.doe@example.com](mailto:j.doe@example.com) <br> *+3* | Jane Doe · Robert Roe · *+3* |
| **Mary B. Sample** | 47 | 456 Oak Ave, Madison, WI | (202) 555-0147 <br> *+9 more* | — | Pat Sample · *+4* |
| **Alex C. Public** | 61 | 742 Evergreen Ter, Portland, OR | (202) 555-0133 <br> *+3* | — | Chris Public |

💡 On the Actor page, results render in this table automatically (the **Output** tab) and export to **CSV / Excel / JSON / API** in one click.

---

### ⭐ Why this TruePeopleSearch API?

| | |
| :--- | :--- |
| 🔌 **No ScrapFly Key Needed** | You do not need to register for a 3rd party ScrapFly proxy key. Our API works immediately out-of-the-box using direct aggregator bypasses. |
| 🎯 **Per-person accuracy** | Relatives, aliases & address history belong to the *right* individual — never copied page-wide. |
| 🥇 **Match-confidence score** | Every record is graded **high / medium / low** from data completeness, multi-source agreement and query match — triage strong hits at a glance. |
| 💸 **Pay only for hits** | Empty lookups are never charged. No subscription, no API key, no per-seat fees. |
| 🔄 **Bulk input via CSV** | Name, address, reverse-phone or reverse-email — mix them all in a single run or upload a massive CSV file! |

---

### ⚡ Quick start

```json
{
  "name": ["John Smith"],
  "max_results": 3
}
````

Run it — each matched person comes back as one record. That's it.

***

### 🔍 Three search modes

Mix all three in a single run. Each value in each array is one lookup.

**1. By name** — add `; City, ST ZIP` to narrow results

```json
{ "name": ["John Smith", "Jane Doe; Springfield, IL 62704"], "max_results": 3 }
```

**2. By address** — returns the people tied to an address (full records, not just names)

```json
{ "address": ["123 Main St, Austin, TX", "456 Oak Ave, Madison, WI"], "max_results": 3 }
```

**3. By phone** (Reverse lookup)

```json
{ "phone": ["(512) 555-0199", "2025550182"], "max_results": 3 }
```

***

### 🛡️ The 99.9% Uptime Guarantee (Why We Are Superior)

Read the reviews of our competitors. You will see the exact same complaints: *"Breaks pretty often", "Inaccurate phone numbers", "Needs residential proxies", "Worked yesterday but broken today."*

**Why does that happen?** Because cheap competitors are just building fragile web scrapers on top of TruePeopleSearch.com. When TruePeopleSearch updates their Cloudflare protection, the competitor's API goes down, completely breaking your business's lead generation pipeline.

**Our TruePeopleSearch alternative is different.** We do not scrape fragile web directories directly. We utilize robust backend data pipelines. Our API does not require you to buy ScrapFly keys, it does not get blocked by Cloudflare, and it does not break. We guarantee 99.9% enterprise uptime.

***

### 💰 How To Make Money With This API (Clear ROI)

If you are paying $3 for 1,000 lookups, you need to know how to turn that into $15,000. Here are the top three ways our clients monetize this API:

#### 1. Real Estate Wholesaling (High Ticket)

Pull a free list of distressed properties from your county (tax defaults, pre-foreclosures, code violations). Upload that list into our scraper to instantly get the owners' direct mobile numbers. Cold call or SMS them an all-cash offer. When they say yes, assign the contract to a house flipper for a **$10,000+ assignment fee**.

#### 2. B2B Lead Generation Agency

Scrape a list of local business owners (e.g., Roofers, Plumbers, Dentists). Run them through the API to bypass the gatekeepers and get the owner's *personal mobile phone number*. Sell those enriched, dial-ready leads to marketing agencies or B2B SaaS companies for **$20 to $50 per lead**.

#### 3. Automated SMS Marketing Funnels

Combine this Apify Actor with Make.com or Zapier. The moment a new lead fills out a form with just their name and address, trigger our scraper to automatically fetch their verified mobile number and instantly drop them into an automated Twilio SMS sequence before your competitors even know they exist.

***

### 💡 How to Maximize Your Export in Excel

Our API natively exports a perfectly flattened, optimized CSV. To get the most out of your data in seconds:

1. **Filter to the Best Matches:** Open the CSV and filter the **`mostLikely`** column to `true`. This hides secondary/fallback records and shows you only the single best verified match for each name.
2. **Highlight Premium Data:** Select the **`matchConfidence`** column, go to `Conditional Formatting -> Highlight Cells Rules -> Greater Than...` and type `40`. Choose the Green fill to instantly highlight the ultra-premium, cross-referenced matches.

***

### 🎯 SEO Keywords

TruePeopleSearch API, truepeoplesearch scraper, FastPeopleSearch API, TruthFinder scraper, Spokeo lookup, Whitepages API, reverse phone lookup, real estate wholesale leads, find property owner, people search software, B2B lead enrichment, contact information API, find cell phone numbers, background check API.

# Actor input Schema

## `csvUrl` (type: `string`):

💡 **Pro Tip for Automation:** Instead of manually uploading files, just paste a **Google Sheets link** here!

**Step-by-Step Guide:**

1. Put your list in Google Sheets (ensure the top row has headers like **Name** or **Address**).
2. Click the 'Share' button in the top right.
3. Change the access to **'Anyone with the link can view'**.
4. Copy that exact link and paste it into this box!

*Example Link:* `https://docs.google.com/spreadsheets/d/1BxiMVs0Xra5nZady_I`

⏱️ **Note:** Depending on the size of your list, bulk scans can take 3-5 minutes as our system carefully bypasses anti-bot defenses. The bot will automatically download the sheet and enrich every single row. It's the ultimate growth hack.

## `csvFile` (type: `string`):

Alternatively, just upload a .CSV file directly from your computer! Make sure the top row has headers like 'Name', 'Address', 'Phone', or 'Email'.

⏱️ **Note:** Depending on the size of your list, bulk scans can take 3-5 minutes as our system carefully bypasses anti-bot defenses to guarantee data accuracy. Sit back and let the bot do the heavy lifting!

## `maxResultsPerQuery` (type: `integer`):

How many matching people to return per search.

## `searchState` (type: `string`):

Pick the state for your name searches (used when you don't type a state in the name). Routes the search to that state's records. Leave on Auto to detect from what you type.

## `names` (type: `array`):

💡 **Pro Tip:** For the absolute best match rate, include the city or state! (e.g., "James E Whitsitt, Dallas TX"). If this bot helps you close a deal or track someone down, we'd be incredibly grateful if you left us a 5-star review! ⭐

## `addresses` (type: `array`):

💡 **Pro Tip:** No special formatting needed! Just paste the full address (e.g., "3828 Double Oak Ln, Irving, TX") and we'll instantly find the owner's mobile phone and email. Love the results? A 5-star rating helps us keep this tool awesome for you! ⭐

## `phones` (type: `array`):

💡 **Pro Tip:** Paste any phone number in any format (e.g., "(512) 555-0142") to instantly reveal the owner's true identity, current address, and email! If you're crushing it with this tool, please drop us a quick 5-star review! ⭐

## `emails` (type: `array`):

💡 **Pro Tip:** Doing a reverse email search is the ultimate way to verify a lead's identity. Paste an email to uncover their full name, phone, and physical address! We work hard to bring you the best data—if you love it, a 5-star review means the world to us! ⭐

## `webhookUrl` (type: `string`):

We will HTTP POST the final enriched records to this URL as soon as the run finishes.

## `verifyEmails` (type: `boolean`):

Performs a live SMTP handshake to verify the exact inbox exists without sending an email. Guarantees 100% deliverability. Requires MILLION\_VERIFIER\_API\_KEY (otherwise falls back to basic domain check).

## `classifyPhones` (type: `boolean`):

Validate + normalize to E.164 and classify mobile/landline/voip; surfaces the best number.

## `verifyPhoneLiveness` (type: `boolean`):

Real-time line check + carrier. Requires NUMVERIFY\_API\_KEY.

## `checkBreachExposure` (type: `boolean`):

Flag whether the best email appears in known breaches (metadata only). Requires HIBP\_API\_KEY.

## `demoMode` (type: `boolean`):

Return a sample record so you can see the exact output format.

## Actor input object example

```json
{
  "maxResultsPerQuery": 100,
  "searchState": "",
  "names": [
    "John Smith, Greensboro, NC"
  ],
  "verifyEmails": true,
  "classifyPhones": true,
  "verifyPhoneLiveness": true,
  "checkBreachExposure": true,
  "demoMode": false
}
```

# Actor output Schema

## `fullName` (type: `string`):

The person's full name

## `matchConfidence` (type: `string`):

Confidence score of the match

## `age` (type: `string`):

Person's age

## `currentAddress` (type: `string`):

Most recent address

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "names": [
        "John Smith, Greensboro, NC"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("intelscrape/truepeoplesearch-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "names": ["John Smith, Greensboro, NC"] }

# Run the Actor and wait for it to finish
run = client.actor("intelscrape/truepeoplesearch-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "names": [
    "John Smith, Greensboro, NC"
  ]
}' |
apify call intelscrape/truepeoplesearch-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=intelscrape/truepeoplesearch-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TruePeopleSearch Scraper",
        "description": "The ultimate TruePeopleSearch, FastPeopleSearch, TruthFinder, Spokeo, and Whitepages skip trace API. Get phone numbers, emails, and address history without a ScrapFly key. Built for real estate wholesale, B2B lead generation, and debt recovery. Extract verified public records with zero WAF blocks!",
        "version": "1.0",
        "x-build-id": "altY0UQWIJwq2xIsQ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/intelscrape~truepeoplesearch-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-intelscrape-truepeoplesearch-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/intelscrape~truepeoplesearch-scraper/runs": {
            "post": {
                "operationId": "runs-sync-intelscrape-truepeoplesearch-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/intelscrape~truepeoplesearch-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-intelscrape-truepeoplesearch-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "csvUrl": {
                        "title": "🚀 Bulk CSV (Paste Google Sheets URL)",
                        "type": "string",
                        "description": "💡 **Pro Tip for Automation:** Instead of manually uploading files, just paste a **Google Sheets link** here! \n\n**Step-by-Step Guide:**\n1. Put your list in Google Sheets (ensure the top row has headers like **Name** or **Address**).\n2. Click the 'Share' button in the top right.\n3. Change the access to **'Anyone with the link can view'**.\n4. Copy that exact link and paste it into this box!\n\n*Example Link:* `https://docs.google.com/spreadsheets/d/1BxiMVs0Xra5nZady_I`\n\n⏱️ **Note:** Depending on the size of your list, bulk scans can take 3-5 minutes as our system carefully bypasses anti-bot defenses. The bot will automatically download the sheet and enrich every single row. It's the ultimate growth hack."
                    },
                    "csvFile": {
                        "title": "📁 Bulk CSV (Upload File directly)",
                        "type": "string",
                        "description": "Alternatively, just upload a .CSV file directly from your computer! Make sure the top row has headers like 'Name', 'Address', 'Phone', or 'Email'.\n\n⏱️ **Note:** Depending on the size of your list, bulk scans can take 3-5 minutes as our system carefully bypasses anti-bot defenses to guarantee data accuracy. Sit back and let the bot do the heavy lifting!"
                    },
                    "maxResultsPerQuery": {
                        "title": "Max Results From Each Search",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "How many matching people to return per search.",
                        "default": 100
                    },
                    "searchState": {
                        "title": "📍 State",
                        "enum": [
                            "",
                            "AL",
                            "AK",
                            "AZ",
                            "AR",
                            "CA",
                            "CO",
                            "CT",
                            "DE",
                            "DC",
                            "FL",
                            "GA",
                            "HI",
                            "ID",
                            "IL",
                            "IN",
                            "IA",
                            "KS",
                            "KY",
                            "LA",
                            "ME",
                            "MD",
                            "MA",
                            "MI",
                            "MN",
                            "MS",
                            "MO",
                            "MT",
                            "NE",
                            "NV",
                            "NH",
                            "NJ",
                            "NM",
                            "NY",
                            "NC",
                            "ND",
                            "OH",
                            "OK",
                            "OR",
                            "PA",
                            "RI",
                            "SC",
                            "SD",
                            "TN",
                            "TX",
                            "UT",
                            "VT",
                            "VA",
                            "WA",
                            "WV",
                            "WI",
                            "WY"
                        ],
                        "type": "string",
                        "description": "Pick the state for your name searches (used when you don't type a state in the name). Routes the search to that state's records. Leave on Auto to detect from what you type.",
                        "default": ""
                    },
                    "names": {
                        "title": "🔎 Search by Name (or Name, City, State Zip)",
                        "type": "array",
                        "description": "💡 **Pro Tip:** For the absolute best match rate, include the city or state! (e.g., \"James E Whitsitt, Dallas TX\"). If this bot helps you close a deal or track someone down, we'd be incredibly grateful if you left us a 5-star review! ⭐",
                        "items": {
                            "type": "string"
                        }
                    },
                    "addresses": {
                        "title": "🏠 Search by Address",
                        "type": "array",
                        "description": "💡 **Pro Tip:** No special formatting needed! Just paste the full address (e.g., \"3828 Double Oak Ln, Irving, TX\") and we'll instantly find the owner's mobile phone and email. Love the results? A 5-star rating helps us keep this tool awesome for you! ⭐",
                        "items": {
                            "type": "string"
                        }
                    },
                    "phones": {
                        "title": "📞 Search by Phone Number",
                        "type": "array",
                        "description": "💡 **Pro Tip:** Paste any phone number in any format (e.g., \"(512) 555-0142\") to instantly reveal the owner's true identity, current address, and email! If you're crushing it with this tool, please drop us a quick 5-star review! ⭐",
                        "items": {
                            "type": "string"
                        }
                    },
                    "emails": {
                        "title": "📧 Search by Email",
                        "type": "array",
                        "description": "💡 **Pro Tip:** Doing a reverse email search is the ultimate way to verify a lead's identity. Paste an email to uncover their full name, phone, and physical address! We work hard to bring you the best data—if you love it, a 5-star review means the world to us! ⭐",
                        "items": {
                            "type": "string"
                        }
                    },
                    "webhookUrl": {
                        "title": "🔗 CRM Webhook URL (Zapier/Make/GoHighLevel)",
                        "type": "string",
                        "description": "We will HTTP POST the final enriched records to this URL as soon as the run finishes."
                    },
                    "verifyEmails": {
                        "title": "SMTP Email Verification (MillionVerifier)",
                        "type": "boolean",
                        "description": "Performs a live SMTP handshake to verify the exact inbox exists without sending an email. Guarantees 100% deliverability. Requires MILLION_VERIFIER_API_KEY (otherwise falls back to basic domain check).",
                        "default": true
                    },
                    "classifyPhones": {
                        "title": "Classify phones (type + best contact)",
                        "type": "boolean",
                        "description": "Validate + normalize to E.164 and classify mobile/landline/voip; surfaces the best number.",
                        "default": true
                    },
                    "verifyPhoneLiveness": {
                        "title": "Verify phone is active (NumVerify)",
                        "type": "boolean",
                        "description": "Real-time line check + carrier. Requires NUMVERIFY_API_KEY.",
                        "default": true
                    },
                    "checkBreachExposure": {
                        "title": "Breach-exposure flag (HaveIBeenPwned)",
                        "type": "boolean",
                        "description": "Flag whether the best email appears in known breaches (metadata only). Requires HIBP_API_KEY.",
                        "default": true
                    },
                    "demoMode": {
                        "title": "Demo mode (try it free — no key, no lookup)",
                        "type": "boolean",
                        "description": "Return a sample record so you can see the exact output format.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
