# Skip Trace Scraper (`happitap/skip-trace-scraper`) Actor

Ultimate People Search & Skip Trace Scraper | Professional US-based skip tracing tool to find contact information, historical addresses, and relatives for any individual using their name, address, phone number, or email.

- **URL**: https://apify.com/happitap/skip-trace-scraper.md
- **Developed by:** [HappiTap](https://apify.com/happitap) (community)
- **Categories:** Lead generation
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Ultimate People Search & Skip Trace Scraper

**Professional US-based skip tracing tool to find contact information, historical addresses, and relatives for any individual using their name, address, phone number, or email.**

Extract comprehensive people data including phone numbers, email addresses, current and previous addresses, age, and relatives information. Perfect for skip tracing, background checks, contact verification, and people search operations.

### What can Ultimate People Search & Skip Trace Scraper do?

- ✅ **Find Contact Information** - Extract phone numbers and email addresses for any individual
- ✅ **Historical Addresses** - Get current location and complete address history
- ✅ **Relatives & Associates** - Discover family members and known associates
- ✅ **Multiple Search Methods** - Search by name, address, phone, or email
- ✅ **Export formats** - JSON, CSV, Excel, HTML
- ✅ **Integrations** - API, webhooks, Make, Zapier
- ✅ **No coding required** - Simple interface with example inputs

### Why use skip tracing?

Skip tracing data is valuable for:

- 🎯 **Debt Collection** - Locate individuals for debt recovery and payment collection
- 📊 **Legal Services** - Find witnesses, defendants, or parties for legal proceedings
- 📍 **Real Estate** - Contact property owners, heirs, or potential buyers/sellers
- 🔍 **Background Checks** - Verify identity and contact information
- 💼 **Sales & Marketing** - Enrich contact databases with verified information
- 👥 **Genealogy Research** - Find relatives and family connections

### What data can you extract?

| Data Field | Description | Example |
|------------|-------------|---------|
| **Full Name** | Complete name of the individual | "James E Whitsitt" |
| **Age** | Current age | 45 |
| **Location** | Current city and state | "Dallas, TX" |
| **Phone Numbers** | All associated phone numbers | \["469-555-0123", "214-555-4567"] |
| **Email Addresses** | Known email addresses | \["james@example.com"] |
| **Current Address** | Full current address with details | "123 Main St, Dallas, TX 75201" |
| **Previous Addresses** | Complete address history | Array of historical addresses |
| **Relatives** | Family members and associates | \["Mary Whitsitt", "John Whitsitt"] |

### How to scrape people search data

1. **Click "Try for free"** to start the Actor
2. **Enter your search queries** - Add names, addresses, phones, or emails (one per line)
3. **Configure options** - Set max results per query and concurrency
4. **Start the scraper** - Click Start and wait for results
5. **Download results** - Export as JSON, CSV, or Excel

### Input

Configure your skip trace search with flexible query options. Click **Input** tab for all options.

Key settings:

- **Search Queries** - Array of search terms (name with location, address, phone, or email)
- **Max Results** - Maximum number of individuals to extract per query (1-10)
- **Proxy Configuration** - Residential proxies (mandatory for avoiding blocks)
- **Max Concurrency** - Number of concurrent browser instances (1-5)

#### Input example

```json
{
  "queries": [
    "James E Whitsitt; Dallas, TX",
    "469-555-0123",
    "john.doe@example.com",
    "123 Main Street; Austin, TX"
  ],
  "maxResults": 1,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  },
  "maxConcurrency": 2
}
```

### Output

You can download data in multiple formats:

- **JSON** - For developers and API integration
- **CSV** - For Excel and spreadsheet analysis
- **Excel** - Ready-to-use spreadsheet with all data
- **HTML** - Human-readable web page

#### Output example

```json
{
  "fullName": "James E Whitsitt",
  "age": 45,
  "location": "Dallas, TX",
  "address": {
    "street": "123 Main St",
    "city": "Dallas",
    "state": "TX",
    "zip": "75201"
  },
  "phoneNumbers": [
    "469-555-0123",
    "214-555-4567"
  ],
  "emailAddresses": [
    "james.whitsitt@example.com"
  ],
  "previousAddresses": [
    "456 Oak Ave, Houston, TX 77001",
    "789 Pine Rd, Austin, TX 78701"
  ],
  "relatives": [
    "Mary Whitsitt",
    "John Whitsitt",
    "Sarah Johnson"
  ],
  "inputQuery": "James E Whitsitt; Dallas, TX",
  "scrapedAt": "2026-01-27T09:45:00.000Z"
}
```

### How much does it cost to scrape people search data?

**Free tier**: $5 in credits = ~1,000 person records

**Pricing**: $0.005 per person record extracted + $0.00005 per Actor start

**Cost estimates**:

- 100 records: ~$0.50
- 500 records: ~$2.50
- 1,000 records: ~$5.00
- 5,000 records: ~$25.00

**Tips to reduce costs**:

- Limit `maxResults` to only what you need
- Use specific search queries to avoid duplicate results
- Reduce `maxConcurrency` if you're not in a hurry
- Filter results in your application rather than extracting everything

### Is it legal to scrape people search data?

Yes, scraping publicly available data is legal. This Actor only extracts information that is already publicly accessible on people search websites.

**Best practices**:

- Use ethically and responsibly
- Respect privacy and data protection laws (GDPR, CCPA, etc.)
- Only use for legitimate purposes (debt collection, legal services, etc.)
- Review target site's Terms of Service
- Do not use for harassment, stalking, or illegal activities

**Note**: You are responsible for ensuring your use case complies with applicable laws and regulations.

### Troubleshooting

#### No results found

- Verify the search query format matches examples
- Try different query variations (full name vs. first/last name)
- Check if the person exists in public records databases
- Ensure residential proxies are enabled

#### Actor times out or fails

- Reduce `maxConcurrency` to 1-2 for better stability
- Ensure residential proxies are configured correctly
- Check if you have sufficient Apify credits
- Try running with fewer queries first to test

#### Incomplete data

- Some fields may not be available for all individuals
- Try multiple search methods (name, phone, email) for the same person
- Public records availability varies by state and individual

#### Proxy errors

- Residential proxies are mandatory for people search sites
- Ensure `apifyProxyGroups` includes "RESIDENTIAL"
- Check your Apify proxy subscription and limits

### Use cases

#### Debt Collection & Recovery

Locate individuals who owe debts by searching their last known information. Extract current addresses, phone numbers, and relatives to facilitate contact and recovery efforts.

#### Legal & Process Serving

Find defendants, witnesses, or parties involved in legal proceedings. Verify current addresses for process serving and legal notifications.

#### Real Estate & Property Research

Contact property owners, heirs, or potential buyers. Research property history and ownership through address searches.

#### Background Verification

Verify identity, contact information, and address history for employment screening, tenant verification, or due diligence.

#### Sales & Marketing Enrichment

Enrich your contact database with verified phone numbers, emails, and addresses. Improve contact rates and data quality.

### People Search Data Alternative

Comparison with manual searches:

- ✅ **Automated bulk processing** vs manual one-by-one searches
- ✅ **Cost-effective** vs expensive per-search fees
- ✅ **Structured data export** vs manual copy-paste
- ✅ **API integration** vs web interface only
- ✅ **Multiple search methods** in one tool

### Integrations

Connect with 1000+ apps:

- **Google Sheets** - Auto-update spreadsheets with new records
- **Slack** - Get notifications when searches complete
- **Webhooks** - Send data to your CRM or database
- **API** - Programmatic access for custom integrations
- **Make/Zapier** - No-code workflow automation

### Support and feedback

- 📧 **Issues?** Use the Issues tab above
- 💬 **Questions?** Check troubleshooting section first
- 🔧 **Custom solution?** Contact Apify support for enterprise needs
- ⭐ **Feedback?** Rate this Actor and leave a review

### Related Actors

- **Google Maps Scraper** - Extract business contact information
- **LinkedIn Scraper** - Professional profile data extraction
- **Email Finder** - Verify and find email addresses

***

**License**: Apache-2.0 | **Version**: 1.0.0 | **Category**: Skip Tracing & People Search

**Disclaimer**: This tool is for legitimate business purposes only. Users are responsible for compliance with all applicable laws and regulations.

# Actor input Schema

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

Array of search queries. Supported formats: 'Full Name; City, State', 'Street Address; City, State', 'Phone Number', or 'Email Address'.

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

Maximum number of individuals to extract per query.

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

Residential proxies are mandatory for people search sites to avoid immediate blocks.

## `maxConcurrency` (type: `integer`):

Maximum number of concurrent browser instances.

## Actor input object example

```json
{
  "queries": [
    "James E Whitsitt; Dallas, TX",
    "469-555-0123"
  ],
  "maxResults": 1,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxConcurrency": 2
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing skip trace results with contact information, addresses, and relatives

# 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 = {
    "queries": [
        "James E Whitsitt; Dallas, TX",
        "469-555-0123"
    ],
    "maxResults": 1,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    },
    "maxConcurrency": 2
};

// Run the Actor and wait for it to finish
const run = await client.actor("happitap/skip-trace-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 = {
    "queries": [
        "James E Whitsitt; Dallas, TX",
        "469-555-0123",
    ],
    "maxResults": 1,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
    "maxConcurrency": 2,
}

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

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

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

```

## CLI example

```bash
echo '{
  "queries": [
    "James E Whitsitt; Dallas, TX",
    "469-555-0123"
  ],
  "maxResults": 1,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxConcurrency": 2
}' |
apify call happitap/skip-trace-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,happitap/skip-trace-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/RjEx95eccuDEeQq4I/builds/KW8fOZkhhDtO1Ee3A/openapi.json
