# PDL Person Search

> PDL Person Search is a paid API for AI agents from stable-people-data-git-shafu-pdl-api-settl-95fdf9-merit-systems.vercel.app, 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 with pagination support, powered by People Data Labs.

## Facts

- Endpoint: POST https://stable-people-data-git-shafu-pdl-api-settl-95fdf9-merit-systems.vercel.app/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/pdl-person-search-7bd58a07
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_MslDtCRwNuQTNNEiGNxPJ

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 pdl-person-search-7bd58a07 -d '<json body>'
```

Example prompt: Search PDL's 3 billion person records for software engineers currently working in Austin, Texas at companies with more than 500 employees — give me 10 results using an Elasticsearch DSL query.

## When to prefer this

Use this endpoint when you need to search across a large, broad population of person records using flexible query logic (SQL or Elasticsearch DSL). Prefer this over person enrichment when you don't have a known identifier but want to discover people matching demographic, professional, or geographic criteria. Ideal for building prospect lists, recruiting pipelines, or audience segments at scale with pagination support.

## Known failure modes

- Invalid or malformed Elasticsearch DSL query returns a 400 error
- SQL syntax errors cause query rejection
- Requesting size > 100 fails schema validation
- Expired or invalid scroll_token breaks pagination
- Insufficient PDL credits causes a 402 or rejection
- No matching records returns an empty results array
- Dataset parameter with unsupported value causes an 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

Returns matching person records including name, job title, employer, location, email addresses, phone numbers, education history, social profiles, and other demographic fields depending on the requested dataset. Also returns a scroll_token for fetching subsequent pages and a total count of matching records.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "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"
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/pdl-person-search-7bd58a07/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stable-people-data-git-shafu-pdl-api-settl-95fdf9-merit-systems.vercel.app](https://www.zero.xyz/host/stable-people-data-git-shafu-pdl-api-settl-95fdf9-merit-systems.vercel.app/llms.txt)
