
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Look up public TruePeopleSearch records by name, phone, address, or email. Returns age, addresses, phones, relatives, and associates.
Look up a name, phone number, street address, or email on TruePeopleSearch and get clean, structured public records: full name, age, birth month, current and previous addresses with property details, phone numbers with type and carrier, emails, aliases, relatives, associates, and business connections. No login, no cookies, results in seconds.
Jane Sample | Austin, TX.| Field | Default | What it does |
|---|---|---|
searchType | name | name, phone, address, or email. |
queries | James Smith | Austin, TX | One lookup per line. For a name or street, add a city and state after a pipe. |
personUrls | empty | Profile URLs or bare person ids. These always return the full profile. |
maxItems | 10 | Stop after this many people across all queries and profile URLs. |
fetchDetails | true | Open each match for the full profile. Turn off for a cheaper summary row. |
maxResultsPerQuery | 10 | Cap the people taken from a single search (about 10 per results page). |
proxyConfiguration | US residential | US residential exits work best. The site refuses datacenter and non-US addresses. |
{
"searchType": "name",
"queries": ["Jane Sample | Austin, TX"],
"maxItems": 10,
"fetchDetails": true,
"maxResultsPerQuery": 10,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": ["RESIDENTIAL"],
"scrapelyProxyCountry": "US"
}
}
Reverse lookups use the same queries field:
{ "searchType": "phone", "queries": ["(555) 010-0147"] }
{ "searchType": "address", "queries": ["123 Example St | Austin, TX 78701"] }
{ "searchType": "email", "queries": ["jane.sample@example.com"] }
One row per person. Summary rows (full profile off) fill the name, age, location, earlier cities, and relative names.
| Field | Description |
|---|---|
name, age, born | Name as shown, reported age, approximate birth month |
current_location, lives_in | Current city and state |
current_address | Street, city/state/ZIP, profile link, property details and date range |
previous_addresses | Earlier addresses in the same shape |
primary_phone, phones | Phones with type, label, last reported month, and link |
emails, also_seen_as | Email addresses and aliases listed on the profile |
relatives, associates | People with id, name, age, label (e.g. Possible Spouse), and link |
business_connections | Companies with name, address, and since date |
used_to_live_in, related_to | The summary lines from the results page |
person_id, url | TruePeopleSearch profile id and URL |
search_type, query, enriched, scraped_at | How the row was produced and when |
Example row (fictional person, trimmed):
{
"search_type": "name",
"query": "Jane Sample | Austin, TX",
"enriched": true,
"person_id": "px0000000000000000000",
"url": "https://www.truepeoplesearch.com/find/person/px0000000000000000000",
"name": "Jane Sample",
"age": 41,
"born": "March 1985",
"current_location": "Austin, TX",
"lives_in": "Austin, TX",
"current_address": {
"street": "123 Example St",
"city_state_zip": "Austin, TX 78701",
"url": "https://www.truepeoplesearch.com/find/address/123-example-st_austin-tx-78701",
"details": ["$420,000 | 3 Bed | 2 Bath | 1,800 Sq Ft | Built 1998", "Travis County", "(Jun 2019 - Oct 2026)"]
},
"previous_addresses": [
{
"street": "456 Sample Ave",
"city_state_zip": "Round Rock, TX 78664",
"url": "https://www.truepeoplesearch.com/find/address/456-sample-ave_round-rock-tx-78664",
"details": ["Williamson County", "(Feb 2012 - May 2019)"]
}
],
"primary_phone": "(555) 010-0147",
"phones": [
{
"number": "(555) 010-0147",
"type": "Wireless",
"carrier": "Possible Primary Phone",
"last_reported": "Sep 2026",
"url": "https://www.truepeoplesearch.com/find/phone/5550100147"
}
],
"emails": ["jane.sample@example.com"],
"also_seen_as": ["Jane A Sample"],
"relatives": [
{
"person_id": "px1111111111111111111",
"name": "John Sample",
"age": 43,
"location": "Possible Spouse",
"url": "https://www.truepeoplesearch.com/find/person/px1111111111111111111"
}
],
"associates": [],
"business_connections": [{ "name": "Sample Consulting LLC", "address": "789 Demo Rd Austin Tx 78702", "since": "Jan 2015" }],
"used_to_live_in": "Round Rock TX, Dallas TX",
"related_to": "John Sample, Emma Sample",
"scraped_at": "2026-10-14T18:00:00+00:00"
}
Pay per saved person, platform usage on top (it is small for this actor):
Worked example: a name search that saves 4 full profiles costs about $0.08 in events plus well under one cent of compute and residential traffic. 1,000 full profiles cost about $20 plus usage. You are never charged for searches that find nobody or for pages that could not be opened.
Is it legal? The actor reads public pages that anyone can open without an account. You are responsible for how you use the data. People-search records are regulated in many places (for example FCRA in the US): do not use them for credit, employment, tenant screening, or insurance decisions.
Do I need a login or my own proxy? No. The default US residential proxy is included and billed as normal platform usage.
How many results can I get? As many as you set with maxItems, and per search with maxResultsPerQuery, up to what the site lists (about 10 per page).
Why is a field empty? The site only shows what it has. Emails, business connections, and property details are missing on many profiles. Summary rows leave the profile-only fields empty by design.
Why does the name differ from my search? When a person has aliases, TruePeopleSearch shows the alias that matches your search. Direct profile URLs show the primary name.
Can I schedule it or use the API? Yes. Save a task, schedule it, or start it from the API and read the dataset as JSON or CSV.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchTypeenumOptionaldefault "name"Search type
Name search, reverse phone, reverse address, or email.
queriesarrayOptionalSearch queries
One lookup per line. For a name or street address, add a city and state after a pipe: James Smith | Austin, TX.
personUrlsarrayOptionaldefault []Person URLs or IDs
Profile pages to open directly. Paste a full profile URL or a bare person id. These always return the full profile.
maxItemsintegerOptionaldefault 10Max results
Stop after this many person records across all queries and profile URLs.
fetchDetailsbooleanOptionaldefault trueFetch full person profile
Open each match for phones, addresses, relatives, associates, and aliases. Turn off for a name, age, and city summary from the results page.
maxResultsPerQueryintegerOptionaldefault 10Max results per query
Cap person records taken from a single search before the overall cap applies. The site shows about 10 people per results page.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy configuration
US residential exits are the default and work best; the site refuses datacenter addresses and non-US exits. Each challenged exit is dropped and the page is retried on a fresh one.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| name | string | null | Full name |
| age | integer | null | Reported age |
| born | string | null | Approximate birth month and year |
| current_location | string | null | Current city and state |
| primary_phone | string | null | Primary phone number |
| lives_in | string | null | Current city and state, same as current location when the page shows both |
| used_to_live_in | string | null | Earlier cities named on the record |
| related_to | string | null | Relative names shown on the summary |
| current_address | object | null | Current street address, city, and property details |
| previous_addresses | array | Earlier addresses |
| phones | array | Phone numbers with type, carrier, and last reported date |
| emails | array | Email addresses when the page lists them |
| also_seen_as | array | Aliases |
| relatives | array | Possible relatives |
| associates | array | Possible associates |
| business_connections | array | Companies linked to the person: name, address, since |
| person_id | string | null | Stable profile id |
| url | string | null | Profile URL |
| search_type | string | null | How this row was requested |
| query | string | null | The query or profile URL that produced this row |
| enriched | boolean | True when the full profile was opened |
| scraped_at | string | UTC time the row was saved |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Full person profile | One saved person with the full profile (phones, addresses, emails, relatives, associates). | $0.02 |
| Person summary | One saved person from the results list only (full profile turned off or not reachable). | $0.008 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('cornerledger/truepeoplesearch-scraper').call({
"searchType": "name",
"queries": [
"James Smith | Austin, TX"
],
"personUrls": [],
"maxItems": 10,
"fetchDetails": true,
"maxResultsPerQuery": 10,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
],
"scrapelyProxyCountry": "US"
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run cornerledger/truepeoplesearch-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=cornerledger/truepeoplesearch-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
People search by name and city with full details.
People linked to a street address.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.