Twitter/X · AsyncAPI Specification
Twitter X Webhooks
Version
View Spec
View on GitHub
CompanySocialSocial-MediaPostsReal-TimeStreamingNewsDeveloper PlatformAsyncAPIEvents
AsyncAPI Specification
generated: '2026-07-21'
method: searched
source: https://docs.x.com/x-api/webhooks/introduction.md
type: Webhooks
description: >-
X publishes no AsyncAPI document, but operates a substantial real-time event
surface: the V2 Webhooks API (webhook registration + CRC security), three
webhook-delivering products (X Activity API, Account Activity API, Filtered
Stream Webhooks), and persistent HTTP streaming endpoints (filtered stream,
sample, firehose) modeled in the OpenAPI Stream/Webhooks/Activity tags. This
artifact captures the webhook catalog; no event spec is fabricated.
webhook_products:
- name: X Activity API (XAA)
docs: https://docs.x.com/x-api/activity/introduction
description: >-
Real-time activity events with sub-second latency, delivered via
persistent HTTP stream (GET /2/activity/stream) or webhooks.
Subscriptions managed via POST /2/activity/subscriptions; filter by
User ID, keyword, and direction (sent/received).
event_types:
- post.create
- post.delete
- profile.update.bio
- profile.update.picture
- profile.update.banner
- profile.update.geo
- profile.update.url
- profile.update.verified
- profile.update.affiliate
- profile.update.screenname
- spaces.start
- spaces.end
- dm.received
- dm.sent
- dm.read
- dm.indicate_typing
- name: Account Activity API (AAA)
docs: https://docs.x.com/x-api/account-activity/introduction
description: >-
Real-time events tied to specific user accounts, delivered to registered
webhooks. OAuth 2.0 with fine-grained scopes supported since 2026-01-15
(OAuth 1.0a permissions override scopes when present).
- name: Filtered Stream Webhooks
docs: https://docs.x.com/x-api/webhooks/stream/introduction
description: >-
Asynchronous webhook delivery of Posts matching filtered-stream rules
(rules managed via /2/tweets/search/stream/rules). Enterprise; supports
25,000+ rules per project, rules up to 2,048 characters.
management_endpoints:
- operation: createWebhooks
method: POST
path: /2/webhooks
description: Register a new webhook
- operation: getWebhooks
method: GET
path: /2/webhooks
description: List registered webhooks (includes valid/invalid status)
- operation: deleteWebhooks
method: DELETE
path: /2/webhooks/{webhook_id}
description: Delete a webhook
- operation: createWebhookReplayJob
method: POST
path: /2/webhooks/replay
description: Create a replay job to redeliver events
- operation: validateWebhooks
method: PUT
path: /2/webhooks/{webhook_id}
description: Trigger a CRC check and re-enable a webhook
security:
crc: >-
Challenge-Response Check — X sends GET requests with a challenge; the
endpoint must answer with an HMAC-SHA256 response_token computed with the
app consumer secret. CRC runs on creation, on explicit PUT, and
periodically every 30 minutes if not validated in 24 hours; persistent
failures beyond ~28 hours mark the webhook invalid.
signature_header: x-twitter-webhooks-signature
signature_verification: HMAC signature on each delivery POST so consumers can verify X as the source.
requirements:
- HTTPS webhook URL, publicly accessible, no port in the URL
- Respond 200 OK within 10 seconds
- CRC support mandatory
streaming_endpoints_note: >-
Persistent HTTP streaming (streamPosts, streamPostsSample,
streamPostsFirehose*, streamLikesFirehose, compliance streams) is modeled in
the OpenAPI under the Stream tag; the Connections API
(GET/DELETE /2/connections*) manages active streaming connections.
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/twitter-x-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.