TruePeopleSearch — People Search Scraper
Pricing
from $4.00 / 1,000 record scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
243
Total users
33
Monthly active users
2 days ago
Last modified
Categories
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
ageMinandageMax— 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
wirelessOnlykeeps just the mobile numbers, and each person'sbestPhoneis 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
maxItemslimit 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
- You provide a name (or phone, email or address) and optional location, age and phone-type filters
- The actor submits the search to TruePeopleSearch and parses the result listing
- Each match is saved from that listing with name, age, current city and state, and the profile URL
- 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 - 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, age | yes | yes |
| Current city and state | yes | yes |
| Profile URL | yes | yes |
| Full street address | no | yes |
| Phone numbers | no | yes |
| Email addresses | no | yes |
| Past addresses | no | yes |
| Relatives, associates | no | yes |
| Business connections (company, since) | no | yes |
| Employment and education history | no | yes |
| Phone line type, carrier, last reported | no | yes |
Best phone to call, numbers in +1 form | no | yes |
| Current address coordinates | no | yes |
| Deceased flag and date of death | no | yes |
| Address dates and county | no | yes |
| Relatives' ages, profile links, spouse flag | no | yes |
| Other names used, birth month and year | no | yes |
| Property details for the current address | no | yes |
Match confirmation (searchedValueMatched) | no | yes |
| Billed per person | 1 record | 3 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.
Name Search
{"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.
Paste lists — names, phones, emails, addresses and links
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.
| Field | Type | Default | Description |
|---|---|---|---|
searchMode | string | name | Search mode: name, phone, email, or address |
firstName | string | — | First name (required for name mode) |
lastName | string | — | Last name (required for name mode) |
city | string | — | City (optional for name mode, required for address mode) |
state | string | — | US state abbreviation (e.g. CA, TX, NY) — a name search returns only this state |
zip | string | — | 5-digit ZIP code: stands in for city and state in address mode; lists nearby people first in a name search |
phone | string | — | Phone number, digits only (required for phone mode), e.g. 5551234567 |
email | string | — | Email address (required for email mode) |
address | string | — | Street address (required for address mode), e.g. 123 Main St |
names | array | — | Paste list: people to look up, e.g. Jane Doe, Denver, CO |
phones | array | — | Paste list: phone numbers to look up |
emails | array | — | Paste list: email addresses to look up |
addresses | array | — | Paste list: addresses to look up, e.g. 350 5th Ave, 10118 |
startUrls | array | — | Paste list: TruePeopleSearch profile or results links |
ageMin, ageMax | integer | — | Only people in this age band are returned and billed |
wirelessOnly | boolean | false | Needs detailed. Keeps only mobile numbers; a person with none is skipped |
searches | array | — | Batch: a list of searches to run together, instead of one run per person |
detailed | boolean | false | Also open each person's profile page (3 billed records per person instead of 1) |
maxItems | integer | 10 | Maximum person records the run returns and is billed for, in total |
maxItemsPerSearch | integer | maxItems | Batch only: the most records any one search entry may take from that total |
Changed for batch runs.
maxItemsused to apply per search entry, so 10 numbers withmaxItems: 1returned 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, setmaxItemsto the number of entries andmaxItemsPerSearchto 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"}
| Field | Type | Description |
|---|---|---|
fullName | string | Full name as displayed on the profile |
age | integer | Age of the person |
born | string | Birth month and year, e.g. March 1981 |
alsoKnownAs | array | Other names this person appears under in public records |
currentAddress | string | Current street address, city, state and zip code |
currentAddressProperty | object | Property record for the current address; null if none shown |
pastAddresses | array | Previous street addresses, one entry per address |
phones | array | Phone numbers associated with this person |
emails | array | Email addresses associated with this person |
relatives | array | Relatives listed on the profile |
associates | array | Associates (co-workers, neighbors, etc.) listed on the profile |
businessConnections | array | Connected businesses, each with name, address, since |
employment | array | Jobs, each with company, jobTitle, from, to; often empty |
education | array | Schools, each with school, degree, from, to; usually empty |
phoneDetails | array | Each phone with number, type, carrier, lastReported, isPrimary, e164 |
bestPhone | string | The number flagged primary, else the first mobile number, else the first listed |
bestPhoneType | string | Line type of bestPhone: Wireless, Landline or Voip |
latitude, longitude | number | Coordinates of the current home address when the profile gives them |
deceased | boolean | true when the profile says the person is deceased |
deathDate | string | Date of death (YYYY-MM-DD) when the profile gives one, else null |
addressHistory | array | Every address with address, isCurrent, county, from, to |
relativeDetails | array | Each relative with name, age, relationship, profileUrl |
associateDetails | array | Each associate with name, age, relationship, profileUrl |
profileUrl | string | Full URL of the TruePeopleSearch profile page |
source | string | Always "truepeoplesearch" |
scrapedAt | string | ISO-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
Related Actors
- FastPeopleSearch — People Search Scraper — Scrape free US people data from FastPeopleSearch, phone numbers, current and past addresses, age, relatives, and associates.
- ThatsThem People Search Scraper — Reverse phone, email, and address lookup plus name search, free US people data from ThatsThem.