# PDL Person Search

> PDL Person Search is a paid API for AI agents from stablepeopledata.dev, paid per call via x402, $0.28/call, status unknown (last checked 2026-09-14).

Search across 3B+ person records using Elasticsearch DSL or SQL queries, returning paginated matching person profiles

## Facts

- Endpoint: POST https://stablepeopledata.dev/api/pdl/person/search
- Price: $0.28/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/stablepeopledata-dev-487f48ef
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UgzmZbOF3LKsu8E8Y_C9B

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability stablepeopledata-dev-487f48ef -d '<json body>'
```

Example prompt: Search the PDL person database for up to 10 software engineers in New York City who currently work at companies with more than 500 employees — use an Elasticsearch query filtering on job_title_role 'engineering', location_metro 'new york', and company_size '>500'.

## When to prefer this

Use this endpoint when you need to search across a large corpus of 3B+ person records with flexible, expressive query logic (Elasticsearch DSL or SQL). Prefer this over enrichment endpoints when you don't have an identifier for a specific person and need to discover matching profiles based on attributes. Best for sales prospecting, lead generation, talent sourcing, and market research use cases requiring bulk or filtered person lookups.

## Known failure modes

- Invalid Elasticsearch DSL or SQL syntax returns a 400 error
- Requested size exceeds allowed limit returns an error
- Insufficient PDL credits for the requested size returns a payment/quota error
- scroll_token expiration causes pagination to fail
- No matching records returns an empty results array
- Rate limiting or quota exhaustion returns a 429 error

## How this service works

PDL Person Search - Search across 3B+ person records using Elasticsearch DSL or SQL queries. Returns matching person records with pagination via scroll_token. Price scales with the requested `size` (1 PDL credit per result).

## Output

An array of person records matching the query, each containing demographics, current and past work history, education, social profiles, and contact details, plus a scroll_token for fetching the next page of results.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sql": {
   "type": "string",
   "description": "SQL query: SELECT * FROM person WHERE ... Do not include LIMIT — use size for result count."
  },
  "size": {
   "type": "integer",
   "maximum": 100,
   "minimum": 1,
   "description": "Batch size (1-100, default 1)"
  },
  "query": {
   "type": "object",
   "description": "Elasticsearch v7.7 DSL query object",
   "propertyNames": {
    "type": "string"
   },
   "additionalProperties": {}
  },
  "dataset": {
   "type": "string",
   "description": "Datasets to include: resume, email, phone, mobile_phone, street_address, consumer_social, developer, all"
  },
  "titlecase": {
   "type": "boolean",
   "description": "Titlecase text in response"
  },
  "scroll_token": {
   "type": "string",
   "description": "Pagination token from previous response"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/stablepeopledata-dev-487f48ef/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stablepeopledata.dev](https://www.zero.xyz/host/stablepeopledata.dev/llms.txt)
