# Skip Tracer — Address History & Relatives Finder (`0xgollum/skip-tracer`) Actor

Find people by name, phone, email or address and get their address history, known relatives and name variants from public records. Confidence-scored, mode-aware, and never charged on zero matches.

- **URL**: https://apify.com/0xgollum/skip-tracer.md
- **Developed by:** [0xGollum](https://apify.com/0xgollum) (community)
- **Categories:** Lead generation, Real estate
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 Tracer — Address History & Relatives Finder 🔍

**Look up anyone by name, phone, email, or address and get their address history, known relatives, name variants and location — from public people-search records.**

### Why Skip Tracing?

Skip tracing means locating someone (or confirming who they are) for legitimate purposes: debt recovery, serving legal documents, reconnecting with people, or verifying an identity. Doing it by hand across scattered public directories is slow. This actor automates the lookup and returns a clean, structured record per person.

### What You Get

Each matched person record includes:

| Field | Description |
|-------|-------------|
| **matched_name** | Full name and name variants as found in public records |
| **addresses** | Current + full historical address list (city, state, ZIP) |
| **current_address** | Best-supported current address |
| **relatives** | Known family members / associated people |
| **confidence** | Overall match confidence (0–1 scale) |
| **match_quality** | Tier: "high" (≥0.75), "medium" (≥0.45), or "low" |
| **phones / emails** | Included **when publicly available** (see coverage note below) |
| **sources** | Which sources corroborated this record |

**Zero matches above your confidence threshold are never billed** — you only pay for actual results returned.

### Data coverage — read this

This actor reads **public, free** people-search listings. Be aware of what that means in practice:

- **Always returned:** name (+ variants), full **address history**, **relatives**, city/state, and identity confirmation. This is the actor's core strength — great for confirming who someone is, where they've lived, and who they're connected to.
- **Phone numbers and emails:** returned **only when a source exposes them in full**. Many public listings **partially mask** phone/email behind a paywall; the actor deliberately drops masked/incomplete values rather than return junk. **Do not buy this actor expecting a guaranteed phone number for every lookup.**

If your use case is address history, relatives and identity verification, this actor is a strong fit. If you strictly need a guaranteed phone number every time, it may not be.

### Sources

Public, login-free people-search databases (no API keys required):
- **ThatsThem** — primary source; name / phone / email / address reverse lookups → address history, relatives, name variants.
- **TruePeopleSearch** and **FastPeopleSearch** — additional coverage where reachable (these are heavily bot-protected and may not respond on every run).

The actor automatically picks the right source(s) for each search mode to avoid wasted queries.

### Use Cases

- **Debt recovery & collections** — Find contact info for debtors
- **Missing persons investigations** — Locate individuals
- **Background verification** — Cross-check identity & contact data
- **CRM list cleaning** — Verify or enrich customer records with phone/email
- **Fraud detection** — Validate identities in bulk
- **Due diligence** — Research individuals in business transactions
- **Skip tracing services** — Resell as a white-label API

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| **search_mode** | string | "name" | Search by "name", "phone", "email", or "address" |
| **full_name** | string | — | Person's full name (required for name mode) |
| **city** | string | — | City (optional, improves accuracy) |
| **state** | string | — | 2-letter US state code (recommended for name mode) |
| **phone** | string | — | Phone number (required for phone mode) |
| **email** | string | — | Email address (required for email mode) |
| **street_address** | string | — | Full address (required for address mode) |
| **zip** | string | — | ZIP code (optional, helps pinpoint) |
| **queries** | array | [] | Batch array of query objects (overrides single query above) |
| **max_results_per_query** | integer | 3 | Max people to return per query (1–10) |
| **min_confidence** | number | 0.35 | Drop results below this confidence (0–1) |
| **include_relatives** | boolean | true | Include family members in output |
| **include_address_history** | boolean | true | Include previous addresses |
| **request_timeout_secs** | integer | 20 | HTTP timeout in seconds |

#### Single Query Example

```json
{
  "search_mode": "name",
  "full_name": "John Smith",
  "state": "NY",
  "min_confidence": 0.5,
  "max_results_per_query": 3
}
````

#### Batch Query Example

```json
{
  "queries": [
    {
      "search_mode": "phone",
      "phone": "5551234567"
    },
    {
      "search_mode": "email",
      "email": "john.smith@example.com"
    },
    {
      "search_mode": "name",
      "full_name": "Jane Doe",
      "state": "CA"
    }
  ],
  "min_confidence": 0.35,
  "max_results_per_query": 5
}
```

### Output

Each record in the dataset represents one matched person:

```json
{
  "matched_name": "John W. Smith",
  "confidence": 0.9,
  "match_quality": "high",
  "current_address": "W Sample Rd, Coral Springs, FL 33065",
  "addresses": [
    {"address": "W Sample Rd, Coral Springs, FL 33065", "confidence": 0.3},
    {"address": "NW 70th Way, Parkland, FL 33067", "confidence": 0.3},
    {"address": "Union Blvd, Lakewood, CO 80228", "confidence": 0.3}
  ],
  "relatives": ["Jason Smith", "Joy Smith McCourt"],
  "phones": [],
  "emails": [],
  "sources": ["thatsthem"],
  "query": {
    "search_mode": "name",
    "search_input": {"full_name": "John Smith", "state": "FL"}
  }
}
```

*(Real example output. `phones`/`emails` are empty here because the source masked them — see the Data coverage note above.)*

### Pricing

**$0.005 per matched person record returned.**

Example costs:

- 1 name search returning 3 matches = **$0.015**
- 100 lookups returning 60 matches = **$0.30**

**Queries with zero matches above your confidence threshold = $0.00** (you are never charged for failed searches).

### Tips

**Scheduling:** This actor is designed for batch/scheduled runs (hourly, daily, weekly) rather than real-time individual lookups. Use batch `queries` array for list-cleaning jobs to reduce run overhead.

**Accuracy vs. speed:** Stricter `min_confidence` (e.g., 0.6–0.75) returns fewer but more reliable matches; looser thresholds (e.g., 0.3–0.5) return more candidates but with lower certainty.

**Search mode choice:**

- **Name mode** works best with `state` (US addresses are state-specific) — returns address history + relatives.
- **Phone / email mode** — reverse lookup: give a number or address and identify the person + their address history.
- **Address mode** returns everyone associated with an address (residents, family, prior occupants).

**Batch sizes:** For large list-cleaning jobs, submit 100–500 queries per run and schedule multiple runs to stay within rate limits.

**Coverage:** The underlying data is US-centric (public records aggregated from US databases). International queries may return no results.

***

*This actor aggregates publicly available information from third-party people-search sites (TruePeopleSearch, FastPeopleSearch, ThatsThem) for informational and skip-tracing purposes only. It is **not** a consumer reporting agency and its output must **not** be used, in whole or in part, to determine eligibility for credit, insurance, employment, tenant screening, or any other purpose covered by the U.S. Fair Credit Reporting Act (FCRA) or similar regulations elsewhere. No geographic restriction is enforced on input, but coverage is strongest for U.S. persons and addresses because that is structurally where public-record aggregation exists — you are solely responsible for ensuring your use complies with all applicable laws in your jurisdiction (FCRA, GDPR, state data-broker laws, etc.). Use at your own risk and discretion.*

# Actor input Schema

## `search_mode` (type: `string`):

Used for the single top-level query below (ignored if 'queries' batch array is provided).

## `full_name` (type: `string`):

Required for name mode.

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

Optional, improves accuracy.

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

2-letter US state code recommended; strongly improves name-mode accuracy.

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

Required for phone mode.

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

Required for email mode.

## `street_address` (type: `string`):

Required for address mode.

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

Optional, helps pinpoint location.

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

Optional list of query objects (each with its own search\_mode + fields) to run in one job. Overrides the single top-level query fields above when non-empty.

## `max_results_per_query` (type: `integer`):

Maximum number of people to return per query.

## `min_confidence` (type: `number`):

Records below this confidence are dropped before output (and never billed).

## `include_relatives` (type: `boolean`):

Include related family members in results.

## `include_address_history` (type: `boolean`):

Include previous addresses in results.

## `request_timeout_secs` (type: `integer`):

HTTP request timeout.

## Actor input object example

```json
{
  "search_mode": "name",
  "full_name": "John Smith",
  "city": "",
  "state": "TX",
  "phone": "",
  "email": "",
  "street_address": "",
  "zip": "",
  "queries": [],
  "max_results_per_query": 3,
  "min_confidence": 0.35,
  "include_relatives": true,
  "include_address_history": true,
  "request_timeout_secs": 20
}
```

# 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 = {
    "full_name": "John Smith",
    "state": "TX"
};

// Run the Actor and wait for it to finish
const run = await client.actor("0xgollum/skip-tracer").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 = {
    "full_name": "John Smith",
    "state": "TX",
}

# Run the Actor and wait for it to finish
run = client.actor("0xgollum/skip-tracer").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 '{
  "full_name": "John Smith",
  "state": "TX"
}' |
apify call 0xgollum/skip-tracer --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Skip Tracer — Address History & Relatives Finder",
        "description": "Find people by name, phone, email or address and get their address history, known relatives and name variants from public records. Confidence-scored, mode-aware, and never charged on zero matches.",
        "version": "0.1",
        "x-build-id": "xom8BvfiLzDwDZeio"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/0xgollum~skip-tracer/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-0xgollum-skip-tracer",
                "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/0xgollum~skip-tracer/runs": {
            "post": {
                "operationId": "runs-sync-0xgollum-skip-tracer",
                "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/0xgollum~skip-tracer/run-sync": {
            "post": {
                "operationId": "run-sync-0xgollum-skip-tracer",
                "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": {
                    "search_mode": {
                        "title": "Search mode",
                        "enum": [
                            "name",
                            "phone",
                            "email",
                            "address"
                        ],
                        "type": "string",
                        "description": "Used for the single top-level query below (ignored if 'queries' batch array is provided).",
                        "default": "name"
                    },
                    "full_name": {
                        "title": "Full name",
                        "type": "string",
                        "description": "Required for name mode.",
                        "default": ""
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "Optional, improves accuracy.",
                        "default": ""
                    },
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "2-letter US state code recommended; strongly improves name-mode accuracy.",
                        "default": ""
                    },
                    "phone": {
                        "title": "Phone",
                        "type": "string",
                        "description": "Required for phone mode.",
                        "default": ""
                    },
                    "email": {
                        "title": "Email",
                        "type": "string",
                        "description": "Required for email mode.",
                        "default": ""
                    },
                    "street_address": {
                        "title": "Street address",
                        "type": "string",
                        "description": "Required for address mode.",
                        "default": ""
                    },
                    "zip": {
                        "title": "ZIP code",
                        "type": "string",
                        "description": "Optional, helps pinpoint location.",
                        "default": ""
                    },
                    "queries": {
                        "title": "Batch queries (optional)",
                        "type": "array",
                        "description": "Optional list of query objects (each with its own search_mode + fields) to run in one job. Overrides the single top-level query fields above when non-empty.",
                        "default": []
                    },
                    "max_results_per_query": {
                        "title": "Max matches per query",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum number of people to return per query.",
                        "default": 3
                    },
                    "min_confidence": {
                        "title": "Minimum confidence",
                        "minimum": 0,
                        "maximum": 1,
                        "type": "number",
                        "description": "Records below this confidence are dropped before output (and never billed).",
                        "default": 0.35
                    },
                    "include_relatives": {
                        "title": "Include relatives",
                        "type": "boolean",
                        "description": "Include related family members in results.",
                        "default": true
                    },
                    "include_address_history": {
                        "title": "Include address history",
                        "type": "boolean",
                        "description": "Include previous addresses in results.",
                        "default": true
                    },
                    "request_timeout_secs": {
                        "title": "Request timeout (seconds)",
                        "minimum": 5,
                        "maximum": 60,
                        "type": "integer",
                        "description": "HTTP request timeout.",
                        "default": 20
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
