truepeoplesearch.com APIwww.truepeoplesearch.com ↗
Search US public records by name and location via the TruePeopleSearch API. Returns age, current address, past locations, and known relatives.
curl -X GET 'https://api.parse.bot/scraper/a961fff8-069b-4450-920d-4a978b578e96/search_person?name=John+Smith&page=1&citystatezip=Texas' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace truepeoplesearch-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: TruePeopleSearch SDK — search US people records by name and location."""
from parse_apis.TruePeopleSearch_API import TruePeopleSearch, NotFoundError
client = TruePeopleSearch()
# Search for people by name and state, capped at 5 results
for person in client.people.search(name="John Smith", citystatezip="Texas", limit=5):
print(person.name, person.age, person.location)
# Drill down: get the first match for a specific search
result = client.people.search(name="Jane Doe", citystatezip="California", limit=1).first()
if result:
print(result.name, result.age, result.location, result.past_locations)
# Handle errors: search for a name that may not exist
try:
first = client.people.search(name="Zxywq Qqqqq", citystatezip="Alaska", limit=1).first()
if first:
print(first.name, first.location)
except NotFoundError as exc:
print(f"No results: {exc}")
print("exercised: people.search with location filter / people.search single result / error handling")
Search for a person by name with optional location filter. Returns paginated results with basic person information including age, current city/state, past locations, and known relatives. Results are paginated with approximately 10 results per page. When citystatezip is omitted, results are returned from all US locations.
| Param | Type | Description |
|---|---|---|
| namerequired | string | Full or partial name to search for (e.g. 'John Smith', 'Jane Doe'). |
| page | integer | Page number for pagination, starting at 1. |
| citystatezip | string | City, state name, or ZIP code to narrow results (e.g. 'Texas', 'Los Angeles, CA', '90210'). Omitting returns results from all locations. |
{
"type": "object",
"fields": {
"page": "integer",
"results": "array of person summaries with name, age, location, past_locations, relatives, person_id",
"has_next_page": "boolean",
"total_records": "integer"
},
"sample": {
"data": {
"page": 1,
"results": [
{
"age": "34",
"name": "John Smith",
"location": "Irving, TX",
"person_id": "p4246290nl4r29r2l8n6",
"relatives": "Brian Smith, David Smith, Eric Smith, John...",
"past_locations": "Colorado Springs CO, Fort Worth TX, Bastr..."
}
],
"has_next_page": true,
"total_records": 248
},
"status": "success"
}
}About the truepeoplesearch.com API
The TruePeopleSearch API provides access to US public people-finder records through a single search_person endpoint that returns up to 10 results per page, each containing up to 6 structured fields: name, age, current location, past locations, relatives, and a person ID. You can filter searches by city, state, or ZIP code to narrow results for a specific geographic area.
What the API Returns
The search_person endpoint accepts a full or partial name via the name parameter and returns an array of matching person summaries. Each result object includes the person's name, estimated age, current city and state, a list of past locations, known relatives, and a person_id that uniquely identifies the record. The response also includes total_records so you know the full match count, and a has_next_page boolean to drive pagination.
Filtering and Pagination
The optional citystatezip parameter accepts a state name (e.g. Texas), a city-state pair (e.g. Los Angeles, CA), or a ZIP code (e.g. 90210). Omitting it returns results nationwide. Pages are controlled with the page integer parameter starting at 1, with approximately 10 results per page. For common names without a location filter, result counts can be large, so pagination is typically necessary.
Coverage and Data Freshness
Coverage is limited to individuals in the United States. The data reflects public records including address history and self-reported or inferred family relationships. Fields like past_locations and relatives are populated on a best-effort basis and may be sparse for individuals with limited public record footprints. The age field is an estimate derived from public record data rather than a verified date of birth.
The truepeoplesearch.com API is a managed, monitored endpoint for www.truepeoplesearch.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when www.truepeoplesearch.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official www.truepeoplesearch.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Verify a contact's current city and state before mailing a physical document.
- Reconnect with a relative by searching their name and last known state.
- Cross-reference a person's past locations to confirm address history.
- Build a lead enrichment pipeline that appends age and location to a name list.
- Identify known relatives when conducting genealogy or family-tree research.
- Filter people-search results to a specific ZIP code for localized outreach.
- Paginate through large name-match result sets to collect all matching records.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.