TruePeopleSearch — People Search Scraper avatar

TruePeopleSearch — People Search Scraper

Pricing

from $4.00 / 1,000 record scrapeds

Go to Apify Store
TruePeopleSearch — People Search Scraper

TruePeopleSearch — People Search Scraper

Scrape free US people data from TruePeopleSearch. Search by name, reverse phone, reverse email or reverse address, batching many lookups per run. Results carry name, age and current city by default; switch on detailed results for phones, emails, full and past addresses, relatives and associates.

Pricing

from $4.00 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

243

Total users

33

Monthly active users

2 days ago

Last modified

Share

TruePeopleSearch People Search Scraper

Scrape free US people data from TruePeopleSearch. Returns name, age, birth month and year, other names used, phone numbers, email addresses, current and past addresses, property details, relatives, associates, and business connections for any person in their public records database.

Supports four search modes: find people by name, reverse-lookup a phone number, reverse-lookup an email address, or reverse-lookup a street address. Paste your lists of names, numbers, emails and addresses (or TruePeopleSearch links) and get one run for the lot. The site's bot protection is cleared for you automatically.


TruePeopleSearch Scraper Features

  • Extracts 31 fields per profile — name, age, birth date, aliases, phones, emails, current address with its coordinates and property record, past addresses, relatives, associates, business connections, deceased flag
  • Supports four search modes: name search, reverse phone lookup, reverse email lookup, and reverse address lookup (by city and state, or by ZIP code)
  • Returns only the state you ask for in a name search, and only the age band you set with ageMin and ageMax — people outside them are never returned or billed
  • Paste lists of names, phones, emails and addresses, or TruePeopleSearch links (a profile link returns that one person in full), and mix them in one run
  • wirelessOnly keeps just the mobile numbers, and each person's bestPhone is picked out for you
  • Every number comes in international form (e164) alongside the line type, carrier and last-reported month
  • Handles pagination automatically across multi-page result sets
  • Returns structured arrays for multi-value fields (phones, emails, relatives, past addresses)
  • Clears the site's bot protection automatically — no manual bypass needed
  • Respects your maxItems limit as a hard total for the run, batches included, so the bill is the one you asked for

What Would You Use This For?

  • Lead generation — Pull contact info (phone, email, address) for a list of names programmatically
  • Reverse phone lookups — Identify who owns an unknown number, including their current city and relatives
  • Background research — Find current and past addresses, age, and associates for a specific person
  • Skip tracing — Locate individuals using partial name + state combinations
  • Data enrichment — Append phone and email data to a name-and-city list at scale
  • Journalism / OSINT — Surface public record connections between individuals

How TruePeopleSearch Scraper Works

  1. You provide a name (or phone, email or address) and optional location, age and phone-type filters
  2. The actor submits the search to TruePeopleSearch and parses the result listing
  3. Each match is saved from that listing with name, age, current city and state, and the profile URL
  4. If you turn on detailed, it also opens each person's profile page for phone numbers, emails, the full street address, past addresses, relatives, associates, business connections, employment and education, aliases and property details
  5. Results are saved to the Apify dataset, one record per person

Summary and detailed results

The actor returns summary records by default and detailed records on request. Detailed records carry much more about each person and cost more accordingly.

Summary (default)Detailed ("detailed": true)
Name, ageyesyes
Current city and stateyesyes
Profile URLyesyes
Full street addressnoyes
Phone numbersnoyes
Email addressesnoyes
Past addressesnoyes
Relatives, associatesnoyes
Business connections (company, since)noyes
Employment and education historynoyes
Phone line type, carrier, last reportednoyes
Best phone to call, numbers in +1 formnoyes
Current address coordinatesnoyes
Deceased flag and date of deathnoyes
Address dates and countynoyes
Relatives' ages, profile links, spouse flagnoyes
Other names used, birth month and yearnoyes
Property details for the current addressnoyes
Match confirmation (searchedValueMatched)noyes
Billed per person1 record3 records

Every record carries detailLevel, either "summary" or "full", so you can tell the two apart without checking which fields are present.

Which to use. Summary is enough when you need to know who a number or address belongs to, and it costs a third as much. Turn on detailed when you need to contact the person, or when you need searchedValueMatched — that confirmation is only available on a detailed record.

{
"searchMode": "phone",
"phone": "5551234567",
"detailed": true,
"maxItems": 1
}

Input

Tip: bulk runs (many searches) — set memory to 4 GB for ~3× throughput. Single lookups — leave the default.

{
"searchMode": "name",
"firstName": "John",
"lastName": "Smith",
"state": "NY",
"maxItems": 10
}

Reverse Phone Lookup

{
"searchMode": "phone",
"phone": "5551234567",
"maxItems": 5
}

Reverse Address Lookup

{
"searchMode": "address",
"address": "123 Main St",
"city": "Austin",
"state": "TX",
"maxItems": 5
}

Reverse Email Lookup

{
"searchMode": "email",
"email": "jane.doe@example.com",
"detailed": true,
"maxItems": 5
}

Reverse Address Lookup by ZIP code

{
"searchMode": "address",
"address": "350 5th Ave",
"zip": "10118",
"maxItems": 5
}

Age band and wireless numbers only

{
"searchMode": "name",
"firstName": "John",
"lastName": "Smith",
"state": "NY",
"ageMin": 40,
"ageMax": 70,
"detailed": true,
"wirelessOnly": true,
"maxItems": 10
}

People outside the age band, or whose age the site does not show, are skipped and not billed. With wirelessOnly, a person with no mobile number is skipped and not billed too.

Drop plain lists straight in. They all go into the same run, in this order: searches, names, phones, emails, addresses, startUrls.

{
"names": ["Jane Doe, Denver, CO", "John Smith | NY"],
"phones": ["5167817770"],
"emails": ["jane.doe@example.com"],
"addresses": ["350 5th Ave, New York, NY", "350 5th Ave, 10118"],
"startUrls": ["https://www.truepeoplesearch.com/find/person/p9abc123def456"],
"maxItems": 20,
"maxItemsPerSearch": 3
}

A name is "First Last", optionally followed by a city and state, a state, or a ZIP code (middle names are ignored). An address is the street, then city and state or a ZIP code. A profile link in startUrls returns that one person as a full record, billed as a detailed record (3). A results link runs that search. A line that cannot be read is reported and skipped; the rest of the run carries on.

Batch — several people in one run

Pass searches to look up many people in a single run. Each entry takes the same fields as a single search, searchMode is inferred from the fields you give, and anything you set at the top level is inherited by every entry. Batching is much faster than one run per person — the site's bot protection is cleared once for the whole batch instead of once per person.

{
"searches": [
{ "phone": "5551234567" },
{ "phone": "5551234568" },
{ "firstName": "John", "lastName": "Smith", "state": "NY" }
],
"maxItems": 3,
"maxItemsPerSearch": 1
}

maxItems caps the whole run: that input returns at most 3 records in total, whatever the searches turn up. maxItemsPerSearch then guarantees each entry a share of that budget, so an early number that is linked to a dozen people cannot use it all up and leave the last entry with nothing. One record per person is maxItems equal to the number of entries, with maxItemsPerSearch: 1.

FieldTypeDefaultDescription
searchModestringnameSearch mode: name, phone, email, or address
firstNamestring—First name (required for name mode)
lastNamestring—Last name (required for name mode)
citystring—City (optional for name mode, required for address mode)
statestring—US state abbreviation (e.g. CA, TX, NY) — a name search returns only this state
zipstring—5-digit ZIP code: stands in for city and state in address mode; lists nearby people first in a name search
phonestring—Phone number, digits only (required for phone mode), e.g. 5551234567
emailstring—Email address (required for email mode)
addressstring—Street address (required for address mode), e.g. 123 Main St
namesarray—Paste list: people to look up, e.g. Jane Doe, Denver, CO
phonesarray—Paste list: phone numbers to look up
emailsarray—Paste list: email addresses to look up
addressesarray—Paste list: addresses to look up, e.g. 350 5th Ave, 10118
startUrlsarray—Paste list: TruePeopleSearch profile or results links
ageMin, ageMaxinteger—Only people in this age band are returned and billed
wirelessOnlybooleanfalseNeeds detailed. Keeps only mobile numbers; a person with none is skipped
searchesarray—Batch: a list of searches to run together, instead of one run per person
detailedbooleanfalseAlso open each person's profile page (3 billed records per person instead of 1)
maxItemsinteger10Maximum person records the run returns and is billed for, in total
maxItemsPerSearchintegermaxItemsBatch only: the most records any one search entry may take from that total

Changed for batch runs. maxItems used to apply per search entry, so 10 numbers with maxItems: 1 returned 10 records. It is now the total for the run — the same meaning it has everywhere else — so that input returns 1. To get one record per person, set maxItems to the number of entries and maxItemsPerSearch to 1. Single searches are unaffected.


TruePeopleSearch Scraper Output Fields

A summary record (the default) — one billed record per person:

{
"fullName": "John A Smith",
"age": 45,
"currentAddress": "Brooklyn, NY",
"profileUrl": "https://www.truepeoplesearch.com/find/person/p9abc123def456",
"detailLevel": "summary",
"searchIndex": 1,
"searchedFor": "phone 5551234567",
"source": "truepeoplesearch"
}

A detailed record ("detailed": true) — three billed records per person:

{
"fullName": "John A Smith",
"age": 45,
"born": "March 1981",
"alsoKnownAs": [
"John Allen Smith",
"Johnny Smith"
],
"currentAddress": "742 Example St Apt 3B, Brooklyn, NY 11201",
"currentAddressProperty": {
"bedrooms": "3",
"bathrooms": "2",
"squareFeet": "1,850",
"yearBuilt": "1962",
"estimatedValue": "$910,000",
"lastSaleDate": "04/12/2011",
"occupancyType": "Owner Occupied"
},
"pastAddresses": [
"88-10 Example Blvd, Queens, NY 11373",
"PO Box 1234, Bronx, NY 10451"
],
"phones": [
"(212) 555-0123",
"(718) 555-0456"
],
"emails": [
"jsmith@example.com"
],
"relatives": [
"Jane Smith",
"Robert Smith"
],
"associates": [
"Michael Johnson"
],
"businessConnections": [
{
"name": "Smith Home Services LLC",
"address": "100 Example Ave Brooklyn Ny 11201",
"since": "Dec 2014"
}
],
"employment": [
{ "company": "Smith Home Services LLC", "jobTitle": "Owner", "from": "MAR 2012", "to": "PRESENT" }
],
"education": [
{ "school": "Example State University", "degree": "Bachelor's Degree", "from": null, "to": null }
],
"phoneDetails": [
{ "number": "(212) 555-0123", "type": "Wireless", "carrier": "T-Mobile", "lastReported": "Aug 2026", "isPrimary": true, "e164": "+12125550123" },
{ "number": "(718) 555-0456", "type": "Landline", "carrier": "Verizon", "lastReported": "Mar 2019", "isPrimary": false, "e164": "+17185550456" }
],
"bestPhone": "(212) 555-0123",
"bestPhoneType": "Wireless",
"latitude": 40.6928,
"longitude": -73.9903,
"deceased": false,
"deathDate": null,
"addressHistory": [
{ "address": "742 Example St Apt 3B, Brooklyn, NY 11201", "isCurrent": true, "county": "Kings County", "from": "Mar 2015", "to": "Oct 2026" },
{ "address": "88-10 Example Blvd, Queens, NY 11373", "isCurrent": false, "county": "Queens County", "from": "Jun 2008", "to": "Feb 2015" }
],
"relativeDetails": [
{ "name": "Jane Smith", "age": 44, "relationship": "Possible Spouse", "profileUrl": "https://www.truepeoplesearch.com/find/person/p9abc123def457" }
],
"associateDetails": [
{ "name": "Michael Johnson", "age": 51, "relationship": null, "profileUrl": "https://www.truepeoplesearch.com/find/person/p9abc123def458" }
],
"profileUrl": "https://www.truepeoplesearch.com/find/person/p9abc123def456",
"detailLevel": "full",
"searchedValueMatched": true,
"source": "truepeoplesearch",
"scrapedAt": "2026-06-27T08:32:11.000Z"
}
FieldTypeDescription
fullNamestringFull name as displayed on the profile
ageintegerAge of the person
bornstringBirth month and year, e.g. March 1981
alsoKnownAsarrayOther names this person appears under in public records
currentAddressstringCurrent street address, city, state and zip code
currentAddressPropertyobjectProperty record for the current address; null if none shown
pastAddressesarrayPrevious street addresses, one entry per address
phonesarrayPhone numbers associated with this person
emailsarrayEmail addresses associated with this person
relativesarrayRelatives listed on the profile
associatesarrayAssociates (co-workers, neighbors, etc.) listed on the profile
businessConnectionsarrayConnected businesses, each with name, address, since
employmentarrayJobs, each with company, jobTitle, from, to; often empty
educationarraySchools, each with school, degree, from, to; usually empty
phoneDetailsarrayEach phone with number, type, carrier, lastReported, isPrimary, e164
bestPhonestringThe number flagged primary, else the first mobile number, else the first listed
bestPhoneTypestringLine type of bestPhone: Wireless, Landline or Voip
latitude, longitudenumberCoordinates of the current home address when the profile gives them
deceasedbooleantrue when the profile says the person is deceased
deathDatestringDate of death (YYYY-MM-DD) when the profile gives one, else null
addressHistoryarrayEvery address with address, isCurrent, county, from, to
relativeDetailsarrayEach relative with name, age, relationship, profileUrl
associateDetailsarrayEach associate with name, age, relationship, profileUrl
profileUrlstringFull URL of the TruePeopleSearch profile page
sourcestringAlways "truepeoplesearch"
scrapedAtstringISO-8601 timestamp of when the record was scraped

FAQ

Does TruePeopleSearch block scrapers?

TruePeopleSearch runs behind bot protection. This actor clears it for you, which means each page fetch takes longer than a typical datacenter scrape — roughly 10-15 seconds per result. That's the trade-off for getting past the gate. The upside: the data is free on TPS, so even at a higher cost-per-request, you're still ahead of paying data vendors.

How accurate is the data?

Accuracy is determined by TruePeopleSearch's own public records aggregation, not this actor. The actor extracts whatever TPS surfaces — which varies by person. Common names in large states will have many matches; uncommon names in small states may return zero.

Can I search without a state filter?

Yes. For name mode, state is optional. Omitting it returns all matching profiles nationwide. When you do set it, only people who live in that state are returned and billed. Add a city or a ZIP code as well to have people near it come first.

Is there a cap on how many records a run can return?

maxItems has no maximum, and there is no fixed per-run record limit. A detailed person is always 3 billed records, however many phone numbers and emails the profile lists.

Can one lookup return more than one person?

Yes, and often several. A reverse phone lookup returns everyone TruePeopleSearch links to that number, which is typically the household and anyone who held it before — on a number we tested, five of the six people returned carried it on their own profile. A reverse address lookup behaves the same way for the residents of that address. maxItems is how many records you get back and pay for in total; in a batch, maxItemsPerSearch is how many any single lookup may contribute to that total.

What does "reverse phone lookup" return?

For phone mode, TPS returns the profile associated with that number, including name, address, and related people. The actor returns a single person record per matched phone.

Is this data free to use commercially?

TruePeopleSearch aggregates public records. Check TPS's terms of service and applicable privacy laws (CCPA, FCRA) for your jurisdiction before using extracted data commercially.


Need More Features?

Open an issue or contact support at orbtop.com.

Why Use TruePeopleSearch Scraper?

  • Free source data — TPS is one of the only large US people-search engines that doesn't paywall basic contact info
  • Four search modes — Name, phone, email and address lookups from a single actor, in one run if you like
  • Clean structured output — Arrays for multi-value fields, typed integers for age, ISO timestamps for ingestion pipelines
  • Bot protection handled — the challenge is managed for you, start to finish

Further reading: How to Get Skip Tracing Data at Scale: People-Search Lookups in Bulk · People Search Data in Bulk: 14 Sources, What Each One Returns