Get a public X profile

GET /v1/x/users/{user}

Returns one account's profile: name, bio, counters, pinned posts, and whether it is protected. A protected account's profile is public on X, so it is returned; its posts are not. 404 when the account does not exist or is suspended.

Price: 1 credit per call, plus 2 credits per X profile returned. Failed and refused calls cost nothing.

Rate limit: Counts as 1 request against your per-minute rate limit.

MCP tool: get_x_user, on every MCP connection.

Requires an API key, sent as Authorization: Bearer <key>.

Request

curl --request GET \
  --url https://api.weirapp.io/v1/x/users/USER \
  --header "Authorization: Bearer $WEIR_API_KEY"

Path parameters

Field Type Required Notes
user string yes A username, with or without the @, or a numeric account id. An all-digit value is read as an id. · matches ^@?[A-Za-z0-9_]{1,50}$

Response

An X profile, in X's own field names.

200

Field Type Required Notes
data object yes
data.id string yes
data.username string yes Handle without the @ prefix.
data.name string yes Display name.
data.description string or null yes
data.url string yes
data.profileImageUrl string or null yes
data.profileBannerUrl string or null yes
data.location string or null yes
data.verified boolean yes
data.followersCount integer yes min 0
data.followingCount integer yes min 0
data.statusesCount integer yes Posts published. · min 0
data.likeCount integer yes min 0
data.createdAt string (date-time) yes
data.pinnedPostIds array of string yes Ids of the posts pinned to the top of the profile, usually zero or one.
data.protected boolean yes True when only approved followers can see this account's posts. Its posts, replies, media, and relationship lists are then not available through this API.
meta object yes
meta.requestId string yes
meta.nextCursor string or null no

Errors

Status Meaning What to do
400 The request failed validation. The request was malformed. The details object names the field.
401 The API key is missing, malformed, expired, or revoked. The key is missing, malformed, revoked, or expired.
402 The account is out of credit. Not retryable: this cannot clear until the billing period resets or the plan changes. Out of credits. Never retry. Only a person can clear it, by adding credits at https://weirapp.io/dashboard/billing. Retrying never will.
403 The API key does not carry the scope this route requires. The key is valid but lacks the scope this operation needs.
404 The requested resource does not exist. No such resource, or it is not public.
429 The per-minute rate limit is exhausted. Retryable: wait for Retry-After and try again. Rate limited. Retryable: wait for Retry-After, then try again.
500 An unexpected error occurred. Something failed on our side. Retryable with backoff.
503 The source is temporarily unavailable. The request is safe to retry. A source was unreachable. Retryable with backoff.

View this page as Markdown