SimilarWeb · AsyncAPI Specification
Similarweb Webhooks
Version
View Spec
View on GitHub
Digital IntelligenceWeb AnalyticsTraffic AnalyticsCompetitive IntelligenceKeyword AnalyticsAudience DemographicsApp IntelligenceMarket ResearchE-CommerceSEOAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-13'
method: searched
source: >-
https://docs.similarweb.com/api-v5/batch-api-general/webhook-endpoints,
openapi/similarweb-webhooks-api-openapi.yml
spec_type: Webhooks
asyncapi_published: false
description: >-
Similarweb publishes no AsyncAPI document — searched the developer docs, the
docs.similarweb.com/api-v5 llms.txt index, the github.com/similarweb organisation and
/asyncapi.yaml on every host; nothing. It does, however, document a real webhook surface
for the Batch API, captured here. The event surface is narrow by design: webhooks exist
only to signal that an asynchronous bulk report changed state, so a consumer stops
polling getRequestStatus. There is no event stream for the REST measurement data.
transport:
style: outbound-http-post
direction: similarweb -> subscriber
content_type: application/json
timeout_seconds: 5
timeout_behaviour: >-
A subscriber that does not respond within 5 seconds is treated as a failure.
retries: not documented
signature_verification:
supported: partial
note: >-
The subscribe request schema (WebhookSubscribeRequest) carries a `secret` field, but
the docs describe no signature header or verification algorithm, so a subscriber has
no documented way to authenticate an inbound delivery.
setup_flow:
- step: Create an HTTPS endpoint in your application that accepts POST
- step: Validate it with the test operation (testWebhook, POST /v3/batch/webhooks/test) and confirm you receive the test_webhook_endpoint event
- step: Include the validated webhook_url in the report request body (requestReport) or subscribe it (subscribeWebhook)
- step: Similarweb POSTs to the URL when the report status changes
events:
- name: test_webhook_endpoint
description: >-
Sent immediately when the test operation is called; confirms end-to-end delivery.
payload_example: |
{
"event_type": "test_webhook_endpoint",
"payload": "Webhook Integration with Similarweb is successful!"
}
trigger_operation: testWebhook
verbatim: true
- name: report status change
description: >-
Sent when a Batch report transitions state. The docs enumerate the possible report
statuses but do not publish the delivered payload schema for this event, so it is NOT
reproduced here.
statuses: [processing, complete, internal_error]
trigger_operation: requestReport
payload_documented: false
operations:
source: openapi/similarweb-webhooks-api-openapi.yml
entries:
- {operationId: subscribeWebhook, method: POST, path: /batch/v4/webhooks/subscribe}
- {operationId: listWebhookSubscriptions, method: GET, path: /batch/v4/webhooks/list}
- {operationId: unsubscribeWebhook, method: DELETE, path: /batch/v4/webhooks/unsubscribe}
- {operationId: testWebhook, method: POST, path: /batch/v4/webhooks/test}
version_note: >-
The captured spec uses /batch/v4/webhooks/*; the V5 documentation shows the test
operation at /v3/batch/webhooks/test. Both path generations appear in provider
documentation — recorded as observed rather than reconciled.
gaps:
- No AsyncAPI or CloudEvents document is published
- The report-status event payload schema is not documented
- No signature header or verification procedure is documented for the `secret`
- No delivery-retry policy is documented
x-evidence:
fetched: '2026-08-13'
probes:
- {url: https://docs.similarweb.com/api-v5/batch-api-general/webhook-endpoints.md, http_status: 200}