Xanguard API changelog

2026-10-05

  • Speed figure updated: paid plans get ~200 ms median detection, measured and published live.
  • Migration: moving from twitterapi.io or TweetCatcher is covered on the B2B page.
  • Deleted tweets (B2B): twitter.tweet.deleted usually arrives within about 2 minutes of the deletion; tweet_id and text are null when the specific tweet cannot be identified.
  • B2B WebSocket corrections: READY lists client_id, modules, handles, max_handles (no connection limit); the 5-connection limit is per account across all B2B WebSocket URLs; documented opt-in late delivery / tweet replay, the full twitter.profile.update field list (bio, display_name, avatar_url, verified, …), event_time and millisecond event ids on non-tweet events, task_info.id on follow events, shared event_id dedupe rules, and when a socket closes without DISCONNECT.
  • REST corrections: B2B followers key is follower; module gating (403) on history/following/followers/diff; profile/history/following/followers/communities/diff are marked as not currently populated; /twitter/* response shapes; CA Search limits are per Telegram account, since/until/cursor rules and the full error table.
  • Tweet Alerts corrections: xg_ keys come from xanguard.tech/api-keys (a dt_ key also works); error codes are status-derived; settings, keywords and mutes apply to Telegram only; WebSocket subscribe, delivery and connection limits; webhook timing and auto-disable.
  • Product API corrections: Community Watch and Convergence Tracker webhooks deliver automatically once set (headers X-CW-Client-Id / X-CT-Client-Id); WebSocket frame shapes for CW, CT, ECA, Engagement, Trending and Search Alerts; Trending slug technology; PF event types and per-type subscriptions.

2026-10-02

  • Clearer errors everywhere. Every REST error now carries a stable code, and many add a hint and retry_after (plus a Retry-After header). Existing ok / error fields are unchanged. See error codes.
  • Bad API keys are explained. Empty, wrong-format, unknown, expired (with the expiry date) and deactivated keys now each get their own code and message on REST and WebSocket. B2B WebSocket DISCONNECT frames add code, message and retry_after next to the unchanged reason. See Disconnect reasons.
  • Failed-login IP block is visible. Failed logins count down the attempts left before the 1-hour IP block, and a blocked IP is told why and until when instead of a bare 429.
  • B2B REST (/v1/dt/*) accepts the X-API-Key header. A key sent in the URL gets a key_in_query error explaining where to put it. Keys with stray spaces or a trailing newline are accepted.

2026-09-23

  • Docs split into one page per product. Old docs.xanguard.tech/#section links redirect to the new pages.
  • Docs corrections: webhook delivery is live for Tweet Alerts, Community Watch, Convergence Tracker and Engagement Tracker. B2B, ECA, Trending, PumpFun and Search Alerts deliver over WebSocket; their webhook endpoints only save a URL for now (delivery coming soon).
  • B2B realtime examples (JavaScript, Python) now heartbeat and reconnect with backoff. Consumer WebSocket examples reconnect with backoff.
  • Documented all twitter.profile.update fields, the consumer webhook payload, the 4xx no-retry rule, and the ECA key source (@ECA_Xanguard_bot).

2026-08-27

  • PumpFun Callouts addon launched: real-time alerts when tracked pump.fun callers post callouts, with 2x/5x/10x milestone alerts. New WS event types callout_new / callout_milestone and bot commands /call, /callout_untrack, /callouts. From $100/mo. See PumpFun API.

2026-07-21

  • CA Search launched: POST /v1/search B2B add-on — tweet search by contract address, ticker, or keyword with 24h deep pagination. Plans from $100/mo. See CA Search.
  • Docs restructured into API docs and Telegram guides.