List Webhooks API
Returns every non-deleted webhook on your account. Never returns the signing secret; that is shown once, at creation. Cost: Free per call.
GET webhook lists every non-deleted webhook registered on the caller's twitterapis.com account. It returns a webhooks array (each entry with id, url, status, and created_at) plus a count field showing how many webhooks were returned. The call takes no parameters, costs 0 credits, and never includes the signing secret, which is shown only once at creation time.
Authorization
bearerAuth Pass your API key as a bearer token on every request: Authorization: Bearer <API_KEY>.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/webhook"{ "webhooks": [ { "id": "e4a1f9c2-3b7d-4a88-9f1e-2c6d8b4a5e10", "url": "https://example.com/webhooks/twitterapis", "status": "active", "created_at": "2026-08-13T10:00:00.000Z" } ], "count": 1}{ "error": "bad_request", "message": "Missing or malformed parameter. Fix the request before retrying."}{ "error": "unauthorized", "message": "The API key is missing, malformed, or revoked. Check the Authorization header."}{ "error": "insufficient_credits", "message": "Your balance is exhausted. Top up your credits to continue."}{ "error": "not_found", "message": "The resource does not exist, for example a deleted tweet or a private account."}{ "error": "rate_limited", "message": "Too many requests. Back off and retry with exponential backoff."}{ "error": "server_error", "message": "Something failed on our side. Retry with backoff; if it persists, contact support."}Pricing
| Unit | Price |
|---|---|
| Per call | Free |
When to use
Use GET webhook to enumerate all webhooks currently registered on your account, for example to audit active endpoints or check a webhook's status before deciding whether to create or delete one. Reach for it instead of a status-check on a single webhook ID when you need the full list, since this endpoint takes no parameters and always returns every non-deleted webhook.
Notes
- The signing secret is never included here; if you lost it, delete the webhook and create a new one.
Related endpoints
- Create Monitor: Watch an X account for new posts and push them to your webhook(s).
- List Monitors: List every monitor on your account.
FAQ
Does this endpoint return the webhook signing secret?
No. The signing secret is returned once, at the moment the webhook is created, and is never included in the response from GET webhook. If you lose it, you need to delete and recreate the webhook to get a new one.
Does listing webhooks cost anything?
No. This endpoint has a cost of 0, so you can poll it as often as needed to check webhook status or count without consuming request credits.
Create Webhook POST
Register your HTTPS endpoint to receive signed monitor events. The signing secret is returned exactly once in this response; store it immediately, it cannot be retrieved again. Cost: Free per call.
Monitor Deliveries GET
Returns your most recent monitor delivery events, most recent first, each carrying the actual measured lag: detected_lag_ms is X's own post timestamp subtracted from the moment our scheduler enqueued the delivery (i.e. real detection latency, bound by the current poll interval), and delivery_lag_ms is the separate queue-to-webhook-POST time. Either can be null for an older event whose payload predates this field. Cost: Free per call.