Skip to main content
POST
Registers an X account for profile change detection. The watch is anchored to the account’s stable user id, so it survives username changes. When the avatar or the handle changes, a profile_change event is delivered through your configured channels (webhook, Telegram, WebSocket). Limits: 50 watches per API key.
Because the watch follows the stable user id, a username change no longer ends tracking — you get a profile_change event with reason: "username_changed" and the watch keeps running under the new handle.

Request

string
required
The X username to watch (with or without the leading @).

Response

object
The registered watch (username, userId, createdAt).
string
Status message describing the result

Event payload

profile_change events are flat — source is the discriminator that tells them apart from regular source events. The fields present depend on reason:
reason is one of:
  • "pfp_changed" — the avatar changed. Carries previous_pfp / current_pfp.
  • "username_changed" — the handle changed. Carries previous_username / current_username; username is the new handle.