Apollo API Documentation · AsyncAPI Specification
Apollo Api Documentation Webhooks
Version
View Spec
View on GitHub
API DocumentationSales IntelligenceData EnrichmentPeople SearchCompany SearchSales EngagementCRMMCPAgentsGo-To-MarketAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-14'
method: searched
source: >-
https://docs.apollo.io/docs/enrich-phone-and-email-using-data-waterfall,
https://docs.apollo.io/reference/poll-webhook-result, plus the webhook_url parameter and Webhook
Requirements sections in openapi/_original/apollo-api-documentation-apollo-rest-api-openapi.json
provider: Apollo API Documentation
providerId: apollo-api-documentation
description: >-
Apollo's event surface. Apollo publishes NO AsyncAPI document and NO general event/streaming API — there is
no subscription model, no event catalogue, no signature verification scheme, and no webhook management
endpoints. What exists is a single request-scoped callback: waterfall enrichment. The caller passes a
webhook_url on an enrichment request and Apollo POSTs the completed result back to it. This artifact
records that surface honestly rather than inventing an AsyncAPI for it.
asyncapi_published: false
asyncapi_probed:
- {url: 'https://docs.apollo.io/asyncapi.yaml', status: 404}
- {url: 'https://api.apollo.io/asyncapi.yaml', status: 404}
event_catalog_published: false
webhook_management_api: false
subscription_model: none
signature_verification:
documented: false
note: >-
Apollo publishes no HMAC signature header or shared-secret verification scheme for its callbacks. A
receiver's only defences are HTTPS and an unguessable webhook_url.
webhook_count: 1
webhooks:
- name: waterfall-enrichment-result
trigger: >-
A people-enrichment or bulk-people-enrichment request made with run_waterfall_email=true and/or
run_waterfall_phone=true and a valid webhook_url.
direction: apollo-to-consumer
transport: HTTPS POST
operations:
- {operationId: people-enrichment, path: /people/match, method: post}
- {operationId: bulk-people-enrichment, path: /people/bulk_match, method: post}
request_parameters:
- {name: webhook_url, in: query, required_for: waterfall, note: Must be a publicly accessible HTTPS endpoint.}
- {name: run_waterfall_email, in: query, type: boolean}
- {name: run_waterfall_phone, in: query, type: boolean}
synchronous_response:
contains: [demographic and firmographic data, waterfall request status, request id, validation errors, unprocessable attributes]
statuses: [accepted]
asynchronous_delivery:
target: the caller's webhook_url
contains: final enriched email and/or phone results
consumer_requirements:
- HTTPS required — the endpoint must be publicly accessible over HTTPS.
- Rate limiting — the endpoint must handle the volume of webhook traffic Apollo sends.
- Idempotency — Apollo may retry webhook calls; the endpoint must tolerate duplicate payloads safely.
fallback:
operationId: poll-webhook-result
path: /webhook_result/{request_id}
method: get
scope: webhook_result_read
note: Pull-based retrieval of an asynchronous result when the callback was missed or not configured.
prerequisites:
- An Apollo admin must configure waterfall enrichment and select the team's data sources.
- Credit consumption depends on the vendors in the waterfall configuration; some charge per lookup even on a miss.
docs: https://docs.apollo.io/docs/enrich-phone-and-email-using-data-waterfall
gaps:
- No AsyncAPI specification.
- No CRM-change events (no contact.created, deal.updated, sequence.completed or similar).
- No webhook registration, listing, or replay API.
- No delivery-attempt log or dead-letter surface.
- No signature header for verifying that a callback came from Apollo.
maintainers:
- FN: Kin Lane
email: info@apievangelist.com