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.