Skip Trace — People Search, Phones & Emails API
Pricing
from $3.00 / 1,000 matched person records
Skip Trace — People Search, Phones & Emails API
Research publicly available people and contact evidence by names, addresses, phones or emails. Bulk JSON/CSV/Excel API. PPE per1K: Free$6, Bronze$5, Silver$4, Gold+$3; start fee and usage extra.
Pricing
from $3.00 / 1,000 matched person records
Rating
5.0
(3)
Developer
Apivault Labs
Maintained by CommunityActor stats
5
Bookmarked
797
Total users
78
Monthly active users
0.28 hours
Issues response
8 hours ago
Last modified
Categories
Share
🔎 Skip Trace — Name, Address, Phone & Email People Lookup
Locate hard-to-find people across the United States. Search by name, address, phone number, or email and get one clean, merged contact record per person — full name, aliases, current & previous addresses, phone numbers (with E.164 format + a surfaced best phone), MX-checked emails, relatives, a match-confidence score (high/medium/low), source attribution, and (when available) date of birth, job title, education and a profile link. Bulk input, no API key, $6 per 1,000 matched records on Free; lower rates on paid Apify plans. Unmatched queries have no result charge; the small Actor Start charge and Apify platform usage may still apply.
🧭 Built for skip tracers, real-estate wholesalers, process servers, debt recovery, B2B lead enrichment, and corporate due diligence.
AI agent and MCP quick start
Hosted MCP tool: apivault_labs/skip-trace-people-finder
https://mcp.apify.com?tools=apivault_labs/skip-trace-people-finder
Choose exactly one lookup type for the first call, use max_results: 3, and
increase it only when the user asks for broader coverage:
{"workflow": "name","name": ["Jane Doe; Springfield, IL"],"max_results": 3,"outputPreset": "contacts","source": "auto","verifyEmails": true}
Input routing for agents:
| User intent | Input field |
|---|---|
| Find people by name and location | name |
| Find people associated with an address | street_citystatezip |
| Identify a phone owner | phone_number |
| Identify a person behind an email | email |
Use outputPreset: "contacts" to minimize MCP tokens, flat for CRM or
spreadsheet exports, and full when address history, relatives and all public
record metadata are required. Full remains the backwards-compatible default.
Empty input now returns a free INVALID_INPUT contract; the potentially paid
demo runs only when useDemoOnEmpty: true is set explicitly.
Each array entry is an independent lookup. Fields are OR requests and are never
paired row by row. Successful matched-person rows have success: true and are
billable. No-match, invalid, and temporarily unavailable status rows have
success: false and do not create a result charge. Actor Start and platform
usage may still apply. Always read SUMMARY; inspect ERRORS when the
status is PARTIAL_RESULTS, NO_RESULTS, or CHARGE_LIMIT_REACHED. Retry only
diagnostics where retryable is true.
This data can be stale or incorrect. Treat mostLikely and matchConfidence
as ranking signals, verify important facts independently, and never use the
Actor for credit, employment, housing, insurance, stalking, harassment, or
other FCRA-regulated or unlawful decisions.
🖼️ 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 · +8 more | j.doe@example.com · +3 | Jane Doe · Robert Roe · +3 |
| Mary B. Sample | 47 | 456 Oak Ave, Madison, WI | (202) 555-0147 · +9 more | — | Pat Sample · +4 |
| Alex C. Public | 61 | 742 Evergreen Ter, Portland, OR | (202) 555-0133 · +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.

⚖️ Legal & Acceptable Use — public data only, not a CRA, you're responsible for lawful use.
⭐ Why this Skip Trace
| 🎯 Per-person accuracy | Records are assembled per candidate; independently review identity and associations before relying on them. |
| 🧩 Multi-source coverage | Cross-references multiple public-records sources with automatic fallback, with field availability depending on the sources that respond. |
| 🏅 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. |
| ✅ Corroborated records | Each record shows how many independent sources agreed on it — support for a manual review, not independent identity verification. |
| ✅ Verified contacts | Emails are MX-checked for domain mail routing; mailbox deliverability is not guaranteed; phones are normalized to E.164, with a single best phone / best email surfaced. |
| ⏱️ Real-time | Live source lookups can be enriched with prior cached and archived observations; freshness and coverage vary. |
| 💸 Result billing only for hits | Unmatched queries have no result charge. Actor Start and platform usage may still apply. No subscription or per-seat fee. |
| 🔁 4 modes, bulk input | Name, address, reverse-phone or reverse-email — mix them all in a single run. |
⚡ Quick start
{"name": ["John Smith"],"max_results": 3}
Run it — each matched person comes back as one record. That's it.
Ready-to-run Tasks
- Find a person by name and city
- Find the property owner behind an address
- Reverse phone lookup
- Append phones and emails to a contact list
Twelve public Tasks cover name, address, phone, email, bulk and CRM-ready workflows. They use small result limits so you can verify match quality before scaling up.
✅ What you get per person
- 👤 Full name + aliases / name variants
- 🏠 Current and previous addresses
- 📞 Phone numbers + E.164 normalized list + a surfaced best phone
- ✉️ Emails + MX-checked domain mail routing + a surfaced best email (when available)
- 👪 Relatives / associates
- 🏅 Match-confidence —
confidence(high / medium / low) + numericmatchConfidence0-100 for sorting/filtering - 🥇
mostLikelyflag — the single best record per lookup, for one clean row per person - 🧾 Corroboration — how many independent public-records sources agreed on the record
- 🎂 Date of birth, job title & education (when the public record exposes them)
- 📊
flatOutputoption — flattened columns for clean CSV / Excel / Sheets / CRM export
Result pricing depends on your Apify plan: $6 / 1,000 on Free, $5 on Bronze, $4 on Silver and $3 on Gold or higher. Only delivered matches incur result charges; Actor Start and platform/proxy usage are separate.
🔍 Four search modes
Mix all four in a single run. Each value in each array is one independent OR lookup. Fields are not paired row by row: a name and an address entered in different fields create two separate searches. For address-only jobs, leave the name field empty.
1. By name — add ; City, ST ZIP to narrow results
{ "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)
{ "street_citystatezip": ["123 Main St; Springfield, IL 62704"], "max_results": 3 }
3. By phone (reverse lookup) — returns the likely owner + their full contact record
{ "phone_number": ["(202) 555-0182"], "max_results": 1 }
4. By email (reverse lookup) — find the person behind an email address
{ "email": ["jane.doe@example.com"], "max_results": 1 }
🗂️ Data coverage per person
Records are assembled from multiple public-records people-search sources and merged into one clean record per person, combining:
- Names, aliases & name variants
- Current + previous addresses (with geo when available)
- Phones (E.164 normalized) & MX-checked email domains
- Relatives / associates, date of birth, address history
- Job title, education & other firmographics when the record exposes them
Every record's dataSources field tells you how many independent sources
corroborated it — the more sources agree, the higher the confidence.
🎚️ Data coverage
Choose how hard the Actor looks with the source input:
| Mode | source | What it does |
|---|---|---|
| Comprehensive (default) | auto | Searches available sources with automatic fallback; the returned match can have missing fields. |
| Maximum | merge | Cross-references responding sources and merges available fields per candidate; completeness is not guaranteed. |
| Standard | default | Compatibility alias of Comprehensive (auto); searches available sources. |
📤 Output (JSON)
Illustrative example — fictional data.
{"success": true,"searchOption": "Name Search","confidence": "high","matchConfidence": 92,"mostLikely": true,"name": "John A. Doe","age": "54","born": "1971-03-08","currentAddress": "123 Main St, Springfield, IL 62704","previousAddresses": ["456 Oak Ave, Madison, WI 53703"],"phones": ["(202) 555-0182", "(202) 555-0147"],"phonesE164": ["+12025550182", "+12025550147"],"bestPhone": "+12025550182","emails": ["j.doe@example.com"],"emailsVerified": ["j.doe@example.com"],"emailsDetailed": [{ "email": "j.doe@example.com", "deliverable": true }],"bestEmail": "j.doe@example.com","aliases": ["Johnny Doe"],"relatives": ["Jane Doe", "Robert Roe"],"jobTitle": "Operations Manager","education": "State University","linkedin": "https://linkedin.com/in/example-profile","dataSources": ["public records (2 sources cross-referenced)"],"source": "public-records"}
⚙️ Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
name | array | — | Full names (optionally Name; City, ST ZIP) |
street_citystatezip | array | — | Addresses to resolve to people |
phone_number | array | — | Phone numbers for reverse lookup |
email | array | — | Email addresses for reverse lookup |
source | enum | auto | Data coverage: auto (Comprehensive), merge (Maximum), default (Standard) |
max_results | int | 1000 in the current input schema | 1–1000 matched people per input; raw runtime fallback is 100 when schema defaults are not applied. Always set a small explicit limit |
verifyEmails | bool | true | Check found email domains for MX records (DNS only; no mailbox verification) |
maxRetries | int | 2 | Retries on a transient source response |
timeout | int | 25 | Seconds per request |
At least one of name, street_citystatezip, phone_number, or email is required.
💰 Pricing
| Apify plan | Per matched result | Per 1,000 matched records |
|---|---|---|
| Free | $0.006 | $6 |
| Bronze | $0.005 | $5 |
| Silver | $0.004 | $4 |
| Gold | $0.003 | $3 |
| Platinum | $0.003 | $3 |
| Diamond | $0.003 | $3 |
These are Apify subscription-plan discounts, not volume tiers within a run. Apify currently maps Platinum and Diamond event rates to Gold. Check the Store Pricing tab for the effective rate. The existing Actor Start event remains $0.00005 per memory unit (one up to1GB, then one per extraGB). Users also pay Apify platform/proxy usage.
✔️ Pay-per-result — unmatched queries have no result charge; Actor Start and platform usage may still apply. ✔️ No separate product subscription or per-seat fee; Apify authentication is required for API/MCP access.
💡 Use cases
| 🧾 Skip tracing | Locate debtors, defendants, beneficiaries, lost contacts |
| 🏘️ Real-estate wholesaling | Reach the property owner behind an address |
| 📨 Process serving | Find a current address for lawful service |
| 💳 Debt recovery & collections | Locate account holders |
| 🧠 B2B data enrichment | Append phones / addresses to a contact list |
| 🔎 Due diligence & fraud | Verify identity, history and associates |
📝 Notes
- US coverage. Results depend on what the public sources expose.
- Records with no match are returned with
"success": falseand are not charged. - Every run starts with a
recordType: "notice"record, and every result carries acomplianceNoticefield restating the acceptable-use terms. - Opt-out honoured: anyone who requests removal (see Legal §7) is added to a suppression list and is dropped from results before being returned or charged.
📝 Recent changes
| Version | Date | Changes |
|---|---|---|
| 0.8.12 | 2026-06-23 | Anti-abuse hardening: reject "A B" style two-letter names, accept name apostrophes (O'Brien), accept phone extensions (x123), require state/ZIP in address. |
| 0.8.7 | 2026-06-22 | Opt-out suppression list. |
| 0.8.6 | 2026-06-22 | Input validation — skip junk inputs instantly. |
Choose an output for your workflow
| Output | Best starting point |
|---|---|
| Contacts | Small candidate review and compact API/MCP results |
| Flat | CSV, spreadsheet and CRM field mapping |
| Full | Available address history, provenance and nested metadata |
See the active pricing table above for plan rates and resource costs; no subscription or competitor-cost equivalence is implied.
⚡ Use this Actor in n8n — no code
Building no-code workflows in n8n? Install our publisher-maintained community node and drop this Actor straight onto your canvas:
📦
n8n-nodes-apivault-skip-traceReady workflow:examples/quickstart-workflow.jsonSetup: in n8n go to Settings → Community Nodes → Install, paste
n8n-nodes-apivault-skip-traceand confirm → add the new node to your workflow → paste your Apify API token → fill in the input and run.
Python and review-first playbook
- Install
apivault-skip-tracefrom PyPI. - Open the maintained Python SDK examples.
- Follow the review-first contact-enrichment playbook.
These are thin clients to the hosted Actor. Start with 1–3 results, verify the match independently, and keep a manual approval step before CRM import or outreach.
⭐ Found this useful?
If Skip Trace delivered useful results, an honest review helps other users understand where it works well. If something did not work, use the Actor issue channel instead so it can be investigated. Never include personal data in a public review.
👉 Leave a review for Skip Trace →
Thank you! 🙏
⚖️ Legal & Acceptable Use
Please read this section carefully. By running this Actor you accept these terms in full. If you do not agree, do not use the Actor.
Bottom line: this is a neutral tool that retrieves already-public information. You — the user — decide what to search and how to use the results, so you alone are responsible and liable for that use. Any unlawful, harmful, harassing or otherwise prohibited use is solely your responsibility, and you agree to indemnify the operator against any resulting claims.
1. Public information only. This Actor returns information that is already publicly available through people-search and public-records sources. It performs no hacking, account access, or retrieval of private/protected data.
2. Not a Consumer Reporting Agency. This Actor and its operator are not a consumer reporting agency (CRA) as defined by the U.S. Fair Credit Reporting Act (FCRA), and the data is not a "consumer report." You may NOT use this Actor or its output, in whole or in part, to make decisions about a person's eligibility for:
- credit or loans,
- employment, hiring, promotion, or retention,
- housing, rental, or tenant screening,
- insurance, or
- any other purpose regulated by the FCRA.
3. You are the responsible party. You act as the data controller for every search you run. You are solely responsible for using the data lawfully and for complying with all applicable laws and regulations, including but not limited to the FCRA, the Driver's Privacy Protection Act (DPPA), the Gramm-Leach-Bliley Act (GLBA), the Telephone Consumer Protection Act (TCPA), and state privacy laws such as the CCPA/CPRA and similar statutes. You confirm you have a legitimate, lawful purpose for each lookup and the right to process the data you submit and receive.
4. Prohibited uses — your sole liability. You may not use this Actor to:
- stalk, harass, threaten, intimidate, or harm any person,
- "dox" or publicly expose an individual,
- discriminate against any person on the basis of a protected characteristic,
- engage in identity theft, fraud, or any unlawful surveillance, or
- violate any person's privacy rights or any platform's terms of service.
If you use the Actor or its output for any unlawful or prohibited purpose, you do so entirely at your own risk and are solely liable for the consequences. The operator does not monitor, endorse, or take part in your use of the results.
5. No affiliation. This Actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by any people-search website, data provider, or any company whose name may appear in results.
6. Accuracy / "AS IS". Public-records data can be incomplete, outdated, or inaccurate, and records may belong to a different person with a similar name. Results are provided "AS IS," without warranties of any kind, express or implied, including accuracy, completeness, or fitness for a particular purpose. Always independently verify before relying on any result.
7. Data-subject requests / opt-out. This Actor does not own, host, or control the underlying records, so it cannot delete them from the original source websites — to remove the data at the source, contact the website that publishes it. However, you can ask to be excluded from this Actor's results: open an issue on this Actor's page on Apify (the Issues tab) with your full name plus state/ZIP (or a phone number or email address to match on). We add you to a suppression list, and the Actor stops returning you in any search — usually within a few days.
8. Limitation of liability & indemnification. To the maximum extent permitted by law, the operator is not liable for any damages arising from your use of this Actor, and you agree to defend, indemnify and hold the operator harmless from any and all claims, losses, fines, or liabilities — including reasonable legal fees — resulting from your use or misuse of the Actor or its output, or your breach of these terms or of any law.
If you are unsure whether your intended use is permitted, consult your own legal counsel before running this Actor.
Release 1.3 — source diagnostics and reverse-phone matching
SUMMARY.sourceHealth reports attempted source outcomes (ok, empty, unavailable). Blocked sources can produce partial or empty results; no source is guaranteed. Reverse-phone records must contain the queried number, including after enrichment with historical cache entries. A page without an exact phone match creates no paid person record. Source name searches can follow at most three supported result pages; this is bounded collection, not a promise to exhaust every result. Standard now uses Comprehensive coverage.
Prepare a bulk skip-trace job without mixing lookup types
Use this people lookup Actor to investigate an existing, lawful US contact question. A name with city/state, a known address, a phone number and an email are separate search routes. Choose the route matching your source list; do not spread one person's identifiers across arrays expecting a combined match.
| Starting information | Route | Review the returned evidence |
|---|---|---|
| Name and US locality | name | Name variation, locality and source context |
| Full street address and state/ZIP | address | Association with the address, which can be historical |
| US phone number | phone | Exact queried phone match; ownership can change |
| Existing email address | Source association; a mail-domain check is not identity proof |
The following are input-format examples, not evidence that a fictional name, example address or reserved phone number will produce a match. Use data you are entitled to process and start with an explicit small limit.
Name and locality, contacts output
{"workflow": "name","name": ["Jane Doe; Springfield, IL"],"max_results": 3,"outputPreset": "contacts","verifyEmails": true}
Address-only lookup, flat output for review
{"workflow": "address","street_citystatezip": ["123 Main St; Springfield, IL 62704"],"max_results": 3,"outputPreset": "flat"}
Reverse phone lookup
{"workflow": "phone","phone_number": ["(202) 555-0182"],"max_results": 1,"outputPreset": "contacts","verifyEmails": false}
Reverse email lookup
{"workflow": "email","email": ["jane.doe@example.com"],"max_results": 1,"outputPreset": "contacts"}
Understand match quality before importing contacts
| Result signal | What it helps with | What it does not prove |
|---|---|---|
| success | Separate matched results from diagnostic rows | That every field is current or correct |
| confidence, matchConfidence | Rank results for manual review | A calibrated identity probability |
| mostLikely | Identify the highest-ranked candidate | A uniquely established person |
| dataSources | Inspect provenance and cross-source support | Independent official certification |
| phonesE164, bestPhone | Normalize and choose a candidate phone | Current subscriber ownership or ability to receive calls |
| emailsVerified, emailsDetailed | Understand the Actor's DNS-based email checks | SMTP acceptance or inbox deliverability |
| previousAddresses, relatives | Review supporting context where available | A current residence or verified relationship |
MX checks inspect domain mail routing. Even an address in emailsVerified
or a legacy deliverable field must not be presented as a successfully
contacted mailbox. Unknown or stale data remains possible. Keep provenance
and your review decision alongside any exported contact.
Read the run outcome and control repeat costs
The Dataset can contain notices and unmatched diagnostics alongside useful matches. Count paid people using the delivered successful match records and the run's charged events, not the raw number of dataset rows. Read SUMMARY and ERRORS to distinguish NO_RESULTS, partial source availability and a charge-limit stop. Do not turn an unavailable source into a negative fact about a person.
max_results bounds matched output per independent lookup; it is not a
guarantee of that many people. When several input values are supplied, total
possible output and fees can exceed a single lookup's limit. Set both a small
result limit and an Apify maximum total charge before a batch.
For a ten-match standard-memory run, event arithmetic is $0.06005 on Free, $0.05005 on Bronze, $0.04005 on Silver or $0.03005 on Gold and higher, plus user-paid platform/proxy usage. Unsuccessful searches can still consume resources. Re-reading the same finished dataset is different from starting another search; preserve run IDs before retrying a failed download.
Frequently asked questions about bulk people lookup
Is this an instant identity verification service?
It is a public-source lookup and enrichment tool. Ranking and corroboration help organize a review; they do not establish identity, certify an address or replace independent checks. The acceptable-use restrictions below apply.
Does a blank phone or email mean none exists?
No. Sources may omit, block, suppress or lack a field. A missing value only describes the available result. Source health is relevant when deciding whether a retry could produce additional evidence.
How should I import results into a CRM or spreadsheet?
Use Flat output for straightforward columns, preserve the search input and source context, and review candidates before replacing an existing contact. Different source queries can concern the same person; do not assume that independent array entries are unique contacts. The linked Python playbook and n8n workflow provide a review-first starting point.
Is another scraping provider key required?
The standard hosted workflow does not require a third-party provider key. Optional unblocker settings are a separate user configuration. Access to the hosted Actor through REST, MCP or community clients requires Apify authentication and applicable Actor/platform charges.
n8n and developer integrations
Use this Actor in your automation or application with the existing community integrations below. An Apify account and API token are required; Actor and platform charges follow the current pricing.
- n8n community node: n8n-nodes-apivault-skip-trace. Install package name
n8n-nodes-apivault-skip-tracein a self-hosted n8n instance that permits community packages. - n8n source and usage: GitHub.
- Python client and examples: GitHub.
- n8n source and usage: GitHub.
These are community packages. Publication on npm does not establish n8n verification or availability in n8n Cloud. Review the linked package README for supported inputs and setup.