Get an X account's "About this account" details

GET /v1/x/users/{user}/about

Returns what X shows under "About this account": the country X attributes the account to, how it connects to X, how many times its username has changed, and identity verification. Useful for judging whether an account is what it claims to be. 404 when the account does not exist, or is protected: a protected account's posts and connections are visible only to accounts it approved. Billed as one profile, plus one more when {user} is a numeric id.

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_about, 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/about \
  --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

The account's about details.

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.createdAt string (date-time) yes
data.profileImageUrl string or null yes
data.profileImageShape string or null yes Circle for people, Square for organisations, Hexagon for some others.
data.verified boolean yes
data.protected boolean or null yes
data.aboutProfile object or null yes
data.aboutProfile.accountBasedIn string or null yes The country X attributes the account to.
data.aboutProfile.locationAccurate boolean or null yes Whether X considers accountBasedIn accurate.
data.aboutProfile.createdCountryAccurate boolean or null yes
data.aboutProfile.source string or null yes How the account connects to X, in X's own words, such as an app store.
data.aboutProfile.usernameChanges object yes
data.aboutProfile.usernameChanges.count integer or null yes min 0
data.aboutProfile.usernameChanges.lastChangedAt string or null yes
data.verificationInfo object or null yes
data.verificationInfo.isIdentityVerified boolean or null yes
data.verificationInfo.verifiedSince string or null yes
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