# Skip Trace People Search (`brilliant_gum/skip-trace-people-search`) Actor

Find anyone in the US — phones, emails, addresses, relatives & aliases. Searches ThatsThem, Radaris & Spokeo simultaneously and merges results into one clean record. 4 search modes: name, phone, email, address.

- **URL**: https://apify.com/brilliant\_gum/skip-trace-people-search.md
- **Developed by:** [Yuliia Kulakova](https://apify.com/brilliant_gum) (community)
- **Categories:** Lead generation, Agents, Other
- **Stats:** 18 total users, 11 monthly users, 87.9% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.30 / person found

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

## Skip Trace People Search

![Skip Trace People Search](https://i.imgur.com/3BcGPFh.png)

Find anyone in the US — phone numbers, email addresses, home addresses, relatives, and aliases — all from a single search. Aggregates results from 3 major people search databases and merges them into one clean, structured record.

---

### What it does

Enter a name, phone number, email, or address and get back a comprehensive profile of the person — pulled from ThatsThem, Radaris, and Spokeo simultaneously. All three sources are queried, deduplicated, and merged so you get more data than any single site can offer.

Built for:
- **Investigators & skip tracers** — locate people who have moved or changed contact info
- **HR & background checks** — verify identity and contact details before hiring
- **Legal & collections** — find current addresses and phone numbers for service of process
- **Real estate** — identify property owners and their contact information
- **Sales & lead enrichment** — append phone and email data to your contact lists

---

### 4 search modes

| Mode | Input | What you get |
|---|---|---|
| **Name** | First name + last name (+ optional state/city) | Full profile from all 3 sources |
| **Phone** | Any US phone number | Owner identity, address history, relatives |
| **Email** | Email address | Identity, phones, addresses |
| **Address** | Street, city, state, ZIP | Residents at that address with full profiles |

---

### Output fields

Each person record contains:

| Field | Description |
|---|---|
| `fullName` | Full name |
| `firstName` / `lastName` | Split name fields |
| `age` | Age in years |
| `aliases` | Other names the person is known by (up to 10) |
| `currentAddress` | Most recent known address (street, city, state, ZIP) |
| `previousAddresses` | Address history (up to 10 locations) |
| `phoneNumbers` | All associated phone numbers (up to 15) |
| `emailAddresses` | All associated email addresses (up to 10) |
| `relatives` | Known relatives and associates |
| `profileUrls` | Direct links to the person's profile on each source |
| `dataSources` | Which sources contributed to this record |
| `searchQuery` | The input query that produced this result |
| `scrapedAt` | Timestamp of when the data was scraped |

---

### Input options

| Field | Description | Default |
|---|---|---|
| `searchType` | `name`, `phone`, `email`, or `address` | `name` |
| `firstName` | First name (for name search) | — |
| `lastName` | Last name (for name search) | — |
| `state` | US state abbreviation to narrow results | — |
| `city` | City to narrow results | — |
| `phone` | Phone number in any format | — |
| `email` | Email address | — |
| `street` | Street address | — |
| `zip` | ZIP code | — |
| `queries` | Array of queries for batch mode | — |
| `maxResults` | Max person records per query (1–20) | `5` |
| `sources` | Which sources to query | all 3 |

#### Batch mode

Search for multiple people in one run by passing a `queries` array:

```json
{
  "searchType": "name",
  "maxResults": 3,
  "queries": [
    { "firstName": "John", "lastName": "Smith", "state": "CA" },
    { "firstName": "Jane", "lastName": "Doe", "state": "NY", "city": "New York" }
  ]
}
````

***

### Example output

```json
{
  "fullName": "John H. Smith",
  "firstName": "John",
  "lastName": "Smith",
  "age": 64,
  "aliases": ["John A. Smith", "John G. Smith", "John Timothy Smith"],
  "currentAddress": {
    "street": "El Sereno Ave",
    "city": "Pasadena",
    "state": "CA",
    "zip": "91103"
  },
  "previousAddresses": [
    { "street": "Horseshoe Ct", "city": "Radcliff", "state": "KY", "zip": "40160" },
    { "street": "Mcallister St Apt", "city": "San Francisco", "state": "CA", "zip": "94115" }
  ],
  "phoneNumbers": [
    { "number": "(408) 509-1851", "type": "unknown" },
    { "number": "(408) 661-8030", "type": "unknown" }
  ],
  "emailAddresses": [
    "johndsmith56@yahoo.com",
    "jas1361@hotmail.com"
  ],
  "relatives": [
    { "name": "Renita Galloway" },
    { "name": "Ferlinda Shedrick" }
  ],
  "profileUrls": {
    "thatsThem": "https://thatsthem.com/name/John-Smith/CA",
    "radaris": "https://radaris.com/p/John/Smith/",
    "spokeo": "https://www.spokeo.com/John-Smith/California"
  },
  "dataSources": ["thatsThem", "radaris", "spokeo"],
  "scrapedAt": "2026-05-16T08:04:44.053Z"
}
```

***

### Pricing

**$0.30 per person found.**

You only pay for actual results — if a search returns 0 records, you're not charged per result. A small Actor start fee applies per run.

***

### Proxy requirement

This scraper requires **US residential proxies** — all three source sites are geofenced to US IP addresses and block datacenter traffic. Configure Apify Proxy with Residential + US country in the proxy settings before running.

***

### Integrations

Export results as JSON, CSV, or Excel. Connect to your workflow via:

- Apify API
- Webhooks
- Make (Integromat), n8n, Zapier

***

### FAQ

**Does it work for any US person?**
It searches publicly available records from three of the largest US people search databases. Results depend on what's indexed — common names and long-term US residents typically return the richest data.

**Can I search for multiple people at once?**
Yes — use the `queries` array in batch mode to search for many people in a single run.

**What if a source returns no results?**
The scraper tries all selected sources independently. If one fails or returns nothing, the others still contribute. The final record shows which sources provided data via `dataSources`.

**Is the data real-time?**
Data is fetched live from the source sites on every run. The underlying databases are updated regularly but may not reflect very recent changes.

**Why do I need a residential proxy?**
ThatsThem, Radaris, and Spokeo all block non-US and datacenter IP addresses. A US residential proxy is required for the scraper to access these sites.

# Actor input Schema

## `searchType` (type: `string`):

How to search for the person.

## `firstName` (type: `string`):

Person's first name (for name search).

## `lastName` (type: `string`):

Person's last name (for name search).

## `state` (type: `string`):

US state abbreviation to narrow results (for name/address search).

## `city` (type: `string`):

City to narrow results (for name/address search).

## `phone` (type: `string`):

Phone number to search (for phone search). Any format accepted.

## `email` (type: `string`):

Email address to search (for email search).

## `street` (type: `string`):

Street address to search (for address search).

## `zip` (type: `string`):

ZIP code (for address search).

## `queries` (type: `array`):

Array of query objects for batch mode. Each object should match the searchType fields. Example for name search: \[{"firstName":"John","lastName":"Smith","state":"NY"}]. When provided, single-query fields above are ignored.

## `sources` (type: `array`):

Which people search sites to query. Defaults to all 3 for maximum coverage.

## `maxResults` (type: `integer`):

Maximum number of person records to return per search query.

## `proxyConfiguration` (type: `object`):

US residential proxies are required — all 3 people search sites are US-geofenced and block datacenter IPs.

## Actor input object example

```json
{
  "searchType": "name",
  "firstName": "John",
  "lastName": "Smith",
  "state": "NY",
  "city": "New York",
  "phone": "2125551234",
  "email": "john@example.com",
  "street": "123 Main St",
  "zip": "10001",
  "queries": [
    {
      "firstName": "John",
      "lastName": "Smith",
      "state": "NY"
    },
    {
      "firstName": "Jane",
      "lastName": "Doe",
      "state": "CA",
      "city": "Los Angeles"
    }
  ],
  "sources": [
    "thatsThem",
    "radaris"
  ],
  "maxResults": 5
}
```

# Actor output Schema

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

Person's full name.

## `firstName` (type: `string`):

Person's first name.

## `lastName` (type: `string`):

Person's last name.

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

Person's age in years.

## `aliases` (type: `string`):

Array of alternative names the person is known by.

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

Most recent known address with street, city, state, zip.

## `previousAddresses` (type: `string`):

Array of previous known addresses.

## `phoneNumbers` (type: `string`):

Array of phone numbers associated with this person.

## `emailAddresses` (type: `string`):

Array of email addresses associated with this person.

## `relatives` (type: `string`):

Array of known relatives and associates.

## `profileUrls` (type: `string`):

Direct links to the person's profile on each source site.

## `dataSources` (type: `string`):

Which sources contributed data for this record (thatsThem, radaris, spokeo).

## `searchQuery` (type: `string`):

The input query that produced this result.

## `scrapedAt` (type: `string`):

ISO timestamp of when this record was scraped.

# 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 = {
    "firstName": "John",
    "lastName": "Smith"
};

// Run the Actor and wait for it to finish
const run = await client.actor("brilliant_gum/skip-trace-people-search").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 = {
    "firstName": "John",
    "lastName": "Smith",
}

# Run the Actor and wait for it to finish
run = client.actor("brilliant_gum/skip-trace-people-search").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 '{
  "firstName": "John",
  "lastName": "Smith"
}' |
apify call brilliant_gum/skip-trace-people-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=brilliant_gum/skip-trace-people-search",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Skip Trace People Search",
        "description": "Find anyone in the US — phones, emails, addresses, relatives & aliases. Searches ThatsThem, Radaris & Spokeo simultaneously and merges results into one clean record. 4 search modes: name, phone, email, address.",
        "version": "1.0",
        "x-build-id": "cvjtMX1u7OIHfd6OL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/brilliant_gum~skip-trace-people-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-brilliant_gum-skip-trace-people-search",
                "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/brilliant_gum~skip-trace-people-search/runs": {
            "post": {
                "operationId": "runs-sync-brilliant_gum-skip-trace-people-search",
                "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/brilliant_gum~skip-trace-people-search/run-sync": {
            "post": {
                "operationId": "run-sync-brilliant_gum-skip-trace-people-search",
                "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",
                "required": [
                    "searchType"
                ],
                "properties": {
                    "searchType": {
                        "title": "Search Type",
                        "enum": [
                            "name",
                            "phone",
                            "email",
                            "address"
                        ],
                        "type": "string",
                        "description": "How to search for the person.",
                        "default": "name"
                    },
                    "firstName": {
                        "title": "First Name",
                        "type": "string",
                        "description": "Person's first name (for name search)."
                    },
                    "lastName": {
                        "title": "Last Name",
                        "type": "string",
                        "description": "Person's last name (for name search)."
                    },
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "US state abbreviation to narrow results (for name/address search)."
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "City to narrow results (for name/address search)."
                    },
                    "phone": {
                        "title": "Phone Number",
                        "type": "string",
                        "description": "Phone number to search (for phone search). Any format accepted."
                    },
                    "email": {
                        "title": "Email Address",
                        "type": "string",
                        "description": "Email address to search (for email search)."
                    },
                    "street": {
                        "title": "Street Address",
                        "type": "string",
                        "description": "Street address to search (for address search)."
                    },
                    "zip": {
                        "title": "ZIP Code",
                        "type": "string",
                        "description": "ZIP code (for address search)."
                    },
                    "queries": {
                        "title": "Batch Queries (JSON)",
                        "type": "array",
                        "description": "Array of query objects for batch mode. Each object should match the searchType fields. Example for name search: [{\"firstName\":\"John\",\"lastName\":\"Smith\",\"state\":\"NY\"}]. When provided, single-query fields above are ignored."
                    },
                    "sources": {
                        "title": "Data Sources",
                        "type": "array",
                        "description": "Which people search sites to query. Defaults to all 3 for maximum coverage.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "thatsThem",
                                "radaris",
                                "spokeo"
                            ]
                        },
                        "default": [
                            "thatsThem",
                            "radaris",
                            "spokeo"
                        ]
                    },
                    "maxResults": {
                        "title": "Max Results Per Query",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of person records to return per search query.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "US residential proxies are required — all 3 people search sites are US-geofenced and block datacenter IPs."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
