Get up to 100 public X profiles by id

GET /v1/x/users

Looks up many accounts in one request, for hydrating ids you already hold, such as post authors or followers. Profiles come back in the order requested. An id that cannot be returned (suspended, deactivated, or never existed) is listed in meta.notFound and not billed. Billed per profile returned, at the same rate as getXUser.

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

Rate limit: Counts as 2 requests against your per-minute rate limit.

MCP tool: get_x_users, 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?ids=IDS \
  --header "Authorization: Bearer $WEIR_API_KEY"

Query parameters

Field Type Required Notes
ids string yes Comma-separated numeric account ids, 1 to 100, no spaces. Duplicates are ignored. · matches ^\d{1,19}(,\d{1,19}){0,99}$

Response

The profiles found, in request order.

200

Field Type Required Notes
data array of 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.notFound array of string yes Requested ids that came back empty: deleted, suspended, protected, withheld, or never existed. They cost nothing.

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