API review

People Data Labs API review

Developer-first person, company, IP and job-posting data API with Elasticsearch/SQL search, 100-record bulk enrichment and flat-file data licensing. Best for bulk person or company enrichment in code.

Verified 25 Oct 2026 · 17 endpoints listed

What a call costs

The actions you pay for, as People Data Labs prices them in credits.

ActionCostPer
Person / company / IP enrichment1 creditper match (200); 404 free
Bulk enrichment1 creditper matched item, up to 100 per request
Person / company search1 creditper record returned
Job posting search1 creditper job posting returned
Person identify1 creditper call returning 200 or 404
Autocomplete, cleaners, person changelog, sandbox0 creditsrate-limited only

Pricing, plan by plan

US dollars, as People Data Labs's pricing page shows them on 25 Oct 2026. Monthly and annual billing are shown apart.

Free tier Free: $0/mo, up to 100 records (credits) per month per dataset; Person contact fields (emails, phones, street addresses) obfuscated as true/false

Free (Person)

$0

Free

Up to 100 credits/records per month; contact data not included

API included

Pro (Person)

$98/mo

billed monthly

$78.33/mo

billed annually

Starting at 350 records/mo; annual 'Starting at $940/yr' (= $78.33/mo, derived 940/12); contact data and premium fields included; volume discounts

API included

Free (Company)

$0

Free

Up to 100 monthly records

API included

Pro (Company)

$100/mo

billed monthly

$80/mo

billed annually

Starts at 1,000 monthly records; annual $960/yr (= $80/mo, derived 960/12)

API included

Enterprise

Custom quote

Custom volume, annual contracts, data licence feeds, field bundles, SSO/SAML; self-serve volume above 100k records goes to sales

API included
Plan details

x-totallimit-overages-remaining header shows overage credits on contracts

Rate limits

Per API key, per endpoint, fixed one-minute windows (autocomplete also daily, company cleaner also monthly).

Endpoint
Person enrichment
Free
100/min
Paying
1,000/min
Endpoint
Company enrichment
Free
10/min
Paying
1,000/min
Endpoint
IP enrichment
Free
100/min
Paying
1,000/min
Endpoint
Person / company search
All
10/min default
Endpoint
Job posting search
All
20/min default
Endpoint
Person identify
All
10/min
Endpoint
Job title / skill enrichment
Free
100/min
Paying
5,000/min
Endpoint
Autocomplete
Self Serve
60/min, 1,000/day
Enterprise
up to 1,200/min
Endpoint
Person changelog
Self Serve
100/min
Enterprise
500/min, up to 5,000/min
Endpoint
Cleaner APIs
All
10/min, 10,000/month free
Endpoint
Sandbox
All
5/min
More on limitsLess

Read x-ratelimit-* and x-totallimit-* response headers; x-call-credits-spent shows the charge. 429 when the window is spent, 402 when credits run out. All responses capped at 1MB (use gzip, data_include, or ~50 records per call).

How to get an API key

People Data Labs uses API key. The steps below follow People Data Labs's own docs.

  1. Create a People Data Labs account. The Free (Person) plan includes API access.
  2. Sign up at dashboard.peopledatalabs.com, open API Keys and copy the Active Key. Max active keys: Free 1, Pro 3, Enterprise 5.
  3. Send it with every request: header X-Api-Key, or query string api_key=, or SDK client.
  4. Make a first call: Bulk person enrichment. Keep the key in an environment variable, never in the command.
    curl -X POST "https://api.peopledatalabs.com/v5/person/bulk" \
      -H "X-Api-Key: $PEOPLE_DATA_LABS_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{}'

Where the docs live

WhatWhere
Documentationdocs.peopledatalabs.com
API referencedocs.peopledatalabs.com/docs/endpoints
OpenAPI specgithub.com/peopledatalabs/openAPI-specifications/blob/main/pdl-specs.json
llms.txtdocs.peopledatalabs.com/llms.txt
Changelogdocs.peopledatalabs.com/changelog
Base URLhttps://api.peopledatalabs.com
SDKsPython (peopledatalabs-python), JavaScript (peopledatalabs-js), Ruby, Go, Rust, Postman collection

Strengths and limits

Where it fits

  • Bulk person or company enrichment in code (100 records per call, 1 credit per match only)
  • Complex TAM queries with Elasticsearch DSL or SQL over every schema field
  • Re-identifying people from email, phone, email hash or LinkedIn URL
  • Free mechanical helpers: autocomplete, cleaners, person changelog, sandbox
  • Data products under an enterprise licence (flat files, delta files, webhooks)

Where it falls short

  • Free-plan contact data: emails, phones and addresses are obfuscated (true/false) until Pro
  • FCRA purposes: credit, insurance, employment or tenant screening (banned by the Acceptable Data Use Policy)
  • Training generative AI models on the data (banned)
  • Reselling or exposing the raw data to end users without an enterprise agreement

Worth knowing

10 moreShow fewer

Our take

In an enrichment service we built for a B2B data company, People Data Labs was the largest cost, about 45% of spend in the first billing review: it returns the full profile on every call with no field-scoped option, and because it sat in both the email and phone chains each contact was billed twice. The fix was to reuse the first result so the same contact is never charged twice.

Who should use it

Use People Data Labs for
Bulk person or company enrichment in code (100 records per call, 1 credit per match only)
Look elsewhere for
Free-plan contact data: emails, phones and addresses are obfuscated (true/false) until Pro

If People Data Labs is not the answer

Other Enrichment tools in this directory, each with its own review.

Compare People Data Labs with

Before you build

Four things to settle first, each read off People Data Labs's own pages.

  • Confirm the API is on your planThe Free (Person) plan includes API access. Free tier: Free: $0/mo, up to 100 records (credits) per month per dataset.
  • Keep the key out of your codeAPI key. It is sent as: header X-Api-Key, or query string api_key=, or SDK client.
  • Design around the rate limitPer API key, per endpoint, fixed one-minute windows (autocomplete also daily, company cleaner also monthly).
  • Know the catch before you scalePerson Identify bills every 200 AND every 404, unlike enrichment which bills only matches. Source: docs.peopledatalabs.com/docs/reference-person-identify-api

Want us to build it for you?

Tell us what you want People Data Labs to do in your stack. We will show you how we would wire it into your data, outbound or CRM, and what we would check first.

Read from peopledatalabs.com/pricing/person, docs.peopledatalabs.com/docs/endpoints and docs.peopledatalabs.com/docs/usage-limits. Verified 25 Oct 2026.

All 17 endpointsFor developers: method, path, what it does and what it costs.

Base URL: api.peopledatalabs.com

Bulk and async: Bulk person and bulk company enrichment, 1-100 records per synchronous request; enterprise data licensing via flat files and delta files. Source: docs.peopledatalabs.com/docs/bulk-enrichment-api

Webhooks: Enterprise only: PDL pushes HTTPS POST events when records matching your registered filters change in a release; set up with the PDL team (target URL, headers, filters). Source: docs.peopledatalabs.com/docs/webhooks

17 endpoints
MethodPathWhat it doesCost
GET/POST/v5/person/enrichPerson enrichment (1:1 best match)1 credit per match (200); 404 not billed
POST/v5/person/bulkBulk person enrichment1 credit per matched (200) item; up to 100 per request
GET/POST/v5/person/searchPerson search over the full Person schema1 credit per record returned
GET/v5/person/identifyPerson identify (1:many fuzzy match for broad inputs)Billed per 200 AND per 404 (charged even when nothing matches)
POST/v5/person/changelogPerson changelog between dataset versions (updates, additions, deletions, merges, opt-outs)Free for all active keys (counts against rate limit)
GET/v5/person/enrich/previewPreview enrichment: which fields have data, without valuesSeparate purchase; enterprise Person Enrichment customers only
GET/v5/person/search (preview-search key)Preview search: field presence for matching recordsOwn Preview Search credit pool; enterprise only
GET/POST/v5/company/enrichCompany enrichment1 credit per match
POST/v5/company/enrich/bulkBulk company enrichment1 Company Enrichment credit per 200 response in the batch
GET/POST/v5/company/searchCompany search1 credit per record returned
GET/v5/ip/enrichIP enrichment (location, company, person signals for an IP)1 credit per match
GET/POST/v5/job_posting/searchJob posting search (Beta)1 credit per job posting record returned
GET/POST/v5/autocompleteAutocomplete field values (company, title, skill, location, school, etc.)Free (no credits)
GET/POST/v5/company/clean, /v5/location/clean, /v5/school/cleanCleaner APIs: normalise company, location, school stringsFree
GET/POST/v5/job_title/enrichJob title enrichment (top 5 similar titles + top 5 skills)Charged per match; free allocation on Free/Pro plans (Pro 1,000/mo, Free 10/mo per April 2025 release notes)
GET/v5/skill/enrichSkill enrichment (related skills and titles)Charged per match
GET/POSThttps://sandbox.api.peopledatalabs.com/v5/{person/enrich|person/search|person/identify|person/bulk|company/enrich|company/search|job_posting/search}Sandbox mirrors of production endpoints on synthetic/sample dataFree, all plans