Locate hard-to-find people in the US by name, address, or phone. Get back full names, age, current and previous addresses, phone numbers, emails, relatives, aliases, and a public profile link.
Pay-as-you-go, no monthly subscription. The people-search logic runs server-side on Apify; this SDK is a thin client you drive with your own Apify API token.
Lawful B2B use only. Do not use this data for decisions covered by the FCRA (credit, employment, insurance, housing, or tenant screening).
Built by apivault_labs — see all our actors.
pip install git+https://github.com/apivault-labs/skip-trace-people-finder-python.gitfrom skip_trace import SkipTraceClient
client = SkipTraceClient(api_token="apify_api_xxxxxx") # or set APIFY_API_TOKEN
# By name (optionally narrow with "; City, ST ZIP")
people = client.search_by_name("James E Whitsitt", tier="basic")
for p in people:
print(p.get("name"), p.get("age"), p.get("currentAddress"))
# Reverse phone lookup
owners = client.search_by_phone("(214) 321-5304")
# Who lives at an address
residents = client.search_by_address("2551 Pinebluff Dr; Dallas, TX 75228")- Create a free account at apify.com
- Go to Apify Console → Settings → Integrations and copy your API token
- Pass it as
api_token=or set theAPIFY_API_TOKENenvironment variable
A free Apify account includes monthly usage credits, so you can try it without a card.
| Tier | Price | Returns |
|---|---|---|
basic |
$7 / 1,000 | name, age, current address, phones, profile link |
premium |
$15 / 1,000 | everything in Basic + phone line types, full address history, emails, relatives, aliases, work/education hints, net-worth estimate |
You only pay for the people actually returned. Estimate before you run:
client.estimate_cost(500, tier="basic") # -> 3.5
client.estimate_cost(500, tier="premium") # -> 7.5Run a lookup with any combination of inputs. Returns a list of people records.
Convenience wrappers:
search_by_name(*names, tier=..., max_results=...)search_by_address(*addresses, ...)search_by_phone(*phones, ...)
Extra options (passed through to all of the above):
use_residential(defaultTrue) — fall back to residential IPs when the source blocks datacenter IPsmax_concurrency(default4) — parallel lookupsmax_retries(default2) — retries on transient anti-bot responsestimeout_per_request(default25) — seconds per page fetch
filter_with_phone(people)filter_with_email(people)— premium tierfilter_by_min_age(people, min_age)filter_by_state(people, "TX", "OK")
best_phone(person)— first available phone numberestimate_cost(expected_results, tier)
{
"name": "James E Whitsitt",
"age": 58,
"currentAddress": "2551 Pinebluff Dr, Dallas, TX 75228",
"phones": ["(214) 321-5304"],
"profileUrl": "https://radaris.com/p/James/Whitsitt/..."
}See the examples/ folder:
quickstart.py— search by namereverse_phone_lookup.py— identify phone ownersaddress_residents.py— people at an address (real-estate outreach)premium_deep_profile.py— relatives, history, emails, net worthbulk_crm_export.py— bulk lookup → CSV for HubSpot/Pipedrive/Salesforce
- Real-estate / investor outreach — turn a property address into owner contacts
- Debt collection & skip tracing — relocate people who moved
- B2B lead enrichment — append phone/email to a name in your CRM
- Process serving / investigations — confirm a current address
- Skip Trace actor on Apify
- All actors by apivault_labs
- Prefer no-code? Use the n8n community node
skip-trace skip-tracing people-search people-finder reverse-phone-lookup address-lookup contact-finder lead-generation real-estate-leads debt-collection whitepages-alternative spokeo-alternative beenverified-alternative truepeoplesearch-alternative apify python-sdk