GetXAPI
Monitoring

List Monitors

List every X/Twitter account you are monitoring, with detection tier, status, webhook, the last tweet delivered and a rolling 24-hour match count per monitor.

GET/twitter/monitor/list

Return every monitor on your account, active and paused.

Headers

HeaderTypeRequiredDescription
AuthorizationstringYesBearer YOUR_API_KEY, the same key used for every other GetXAPI endpoint

Query Parameters

None. The response is scoped to your account by your API key.

Notes

  • Both active and paused monitors count against your plan limit. Pausing stops delivery but keeps the slot so your configuration survives. Only removing a monitor frees one.
  • current_username reflects the account's handle now. If someone changed their handle after you added the monitor, this shows the new one. Monitoring follows the permanent account ID, not the handle.
  • match_count_24h counts tweets matched in the last 24 hours, which is the quickest way to spot a monitor that has silently stopped producing.
  • disabled monitors were suspended because your subscription lapsed. Nothing is deleted: the configuration is kept, the slot is released, and after you renew, resuming revives the monitor (re-baselined, quota re-checked).

Response (200)

{
  "monitors": [
    {
      "monitor_id": "b7e2c910-4f38-4a5d-9c81-2e6a7f0d3b45",
      "target_user_id": "44196397",
      "current_username": "elonmusk",
      "requested_tier": "standard",
      "effective_tier": "fast",
      "include_replies": false,
      "status": "active",
      "webhook_id": "8f14e45f-ceea-467a-9f2b-1c3d4e5f6a7b",
      "last_tweet_id": "1815432109876543210",
      "match_count_24h": 37,
      "created_at": "2026-07-26T09:14:22.000Z"
    }
  ]
}

Response Fields

FieldTypeDescription
monitor_idstringUUID for updating or removing
target_user_idstringX's permanent numeric account ID
current_usernamestringThe account's handle as of now
requested_tierstringThe tier you asked for
effective_tierstringThe tier this account is actually polled at (see below)
include_repliesbooleanWhether replies are delivered
statusstringactive, paused, or disabled (suspended by a plan lapse — configuration kept; resume after renewing)
webhook_idstringWhere deliveries go
last_tweet_idstring | nullMost recent tweet delivered. null until the first one.
match_count_24hnumberTweets matched in the last 24 hours
created_atstringISO 8601 creation time

requested_tier vs effective_tier

Accounts are polled once and the result shared by everyone watching them. So if another customer watching the same account requested fast, that account is polled every 2 seconds, and you receive tweets at that speed even though you asked for standard.

That's why effective_tier can read higher than requested_tier. It is never lower.

Treat it as a bonus rather than something to depend on: if the other customer removes their monitor, the account drops back to your requested tier. If you need fast reliably, request it.

Rate limit

60 requests per minute.

Limits use a fixed 60-second window and are shared across every API key on your account, so creating extra keys does not raise the ceiling. Every response carries RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset; a 429 adds Retry-After. See rate limits for the full table.

Errors

StatusMeaning
403Monitoring is not enabled for this account
429Rate limit exceeded. Wait retry_after seconds, then retry

Example

curl https://api.getxapi.com/twitter/monitor/list \
  -H "Authorization: Bearer YOUR_API_KEY"

On this page