People Data Labs · AsyncAPI Specification
Peopledatalabs Webhooks
Version
View Spec
View on GitHub
Data EnrichmentWeb IntelligencePerson DataCompany DataB2B DataContact DiscoveryReference DataFirmographicsIdentity ResolutionAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-14'
method: searched
source: https://docs.peopledatalabs.com/docs/webhooks
spec_type: Webhooks
asyncapi:
published: false
probes:
- url: https://docs.peopledatalabs.com/asyncapi.yaml
http_status: 404
- url: https://api.peopledatalabs.com/asyncapi.json
http_status: 404
- url: https://docs.peopledatalabs.com/api-reference/asyncapi.json
http_status: 404
note: >-
People Data Labs publishes no AsyncAPI document. It does publish a real webhook
surface, captured below, plus a REST subscription-management API described in its
own OpenAPI (openapi/peopledatalabs-subscription-api-openapi.yml).
summary: >-
PDL pushes person-data update notifications to a customer-registered HTTPS endpoint.
Notifications are batched ID lists — they carry no record payload, so a consumer must
call the enrichment or retrieve APIs to resolve what changed. Availability is gated:
webhooks are enterprise API and Data License customers only, and registration goes
through a Customer Success Manager rather than self-serve.
availability:
self_serve: false
audience: enterprise API and Data License customers
registration: via the assigned PDL Customer Success Manager
contact: https://www.peopledatalabs.com/talk-to-sales
management_api:
openapi: openapi/peopledatalabs-subscription-api-openapi.yml
operations:
- GET /v5/subscription
- POST /v5/subscription
- GET /v5/subscription/{subscription_id}
- PUT /v5/subscription/{subscription_id}
- DELETE /v5/subscription/{subscription_id}
request_fields:
- event_type
- target_url
- headers
- status
response_fields:
- id
- event_type
- target_url
- headers
- status
- created_timestamp
- last_verified_timestamp
transport:
protocol: https
method: POST
target_url_requirement: must be an https endpoint supplied by the customer
auth: >-
Customer-supplied custom request headers, registered with the subscription. The docs
recommend at minimum a shared secret in an Authorization header. There is no
signature-verification scheme (no HMAC signature header is documented).
delivery:
batching: batches of 1,000 ids per payload
frequency: once per month, around the monthly data release and post Data-License delivery
retries: false
retry_note: >-
If the target does not return 200, PDL does NOT automatically resend. The customer
must ask their PDL team to resend, and the resend covers the entire batch.
payload_shape: JSON array of PDL Person ID strings
payload_example: |
[
"9adnit66-hdZ5lkBbq-AOQ_0000",
"YraxDoP16jzyjfxtn-1XJQ_0000",
"6Wu6sKeyNfaLF3CVBgoysg_0000"
]
events:
semantics: >-
Filters are OR-ed. If two filters on one subscription both match a record in a single
release, that PDL ID appears twice in the payload — the docs recommend one webhook per
filter to avoid duplication.
filters:
- name: education
triggers_on:
- education
- name: job_change
triggers_on:
- job_company_id
- job_title
- name: location
triggers_on:
- location_name
- location_locality
- location_metro
- location_region
- location_country
- location_continent
- location_street_address
- location_address_line_2
- location_postal_code
- location_geo
- name: mobile_phone_number
triggers_on:
- mobile_phone
- name: personal_emails
triggers_on:
- personal_emails
- recommended_personal_email
- name: phone_number
triggers_on:
- mobile_phone
- phone_numbers
- name: social_profile
triggers_on:
- linkedin_url
- linkedin_username
- linkedin_id
- facebook_url
- facebook_username
- facebook_id
- twitter_url
- twitter_username
- github_url
- github_username
- name: work_email
triggers_on:
- work_email