---
title: "Get up to 100 public X profiles by id"
method: GET
path: "/v1/x/users"
tags: ["X"]
---

# Get up to 100 public X profiles by id

`GET /v1/x/users`

## Request

- Base URL: `https://api.weirapp.io`
- URL: `https://api.weirapp.io/v1/x/users`
- Auth: HTTP bearer

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`.

## Query parameters

- `ids` string, required: Comma-separated numeric account ids, 1 to 100, no spaces. Duplicates are ignored.

## Response `200`

The profiles found, in request order.

- object
  - `data` object[], required
    - `id` string, required
    - `username` string, required: Handle without the `@` prefix.
    - `name` string, required: Display name.
    - `description` string, nullable, required
    - `url` string, required
    - `profileImageUrl` string, nullable, required
    - `profileBannerUrl` string, nullable, required
    - `location` string, nullable, required
    - `verified` boolean, required
    - `followersCount` integer, required
    - `followingCount` integer, required
    - `statusesCount` integer, required: Posts published.
    - `likeCount` integer, required
    - `createdAt` string, date-time, required
    - `pinnedPostIds` string[], required: Ids of the posts pinned to the top of the profile, usually zero or one.
    - `protected` boolean, required: 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, required
    - `requestId` string, required
    - `notFound` string[], required: Requested ids that came back empty: deleted, suspended, protected, withheld, or never existed. They cost nothing.

## Other responses

- `400`: The request failed validation.
- `401`: The API key is missing, malformed, expired, or revoked.
- `402`: The account is out of credit. Not retryable: this cannot clear until the billing period resets or the plan changes.
- `403`: The API key does not carry the scope this route requires.
- `404`: The requested resource does not exist.
- `429`: The per-minute rate limit is exhausted. Retryable: wait for Retry-After and try again.
- `500`: An unexpected error occurred.
- `503`: The source is temporarily unavailable. The request is safe to retry.

---

[API](https://skmtc.dev/weirapp/apis/weir-api.md) · [All operations](https://skmtc.dev/weirapp/apis/weir-api/llms.txt) · [OpenAPI document](https://skmtc.dev/weirapp/apis/weir-api/revisions/4c6a9ae0bfca?raw)
