Skip to main content
GET
/
x
/
users
/
batch
Get users (batch)
curl --request GET \
  --url https://xquik.com/api/v1/x/users/batch \
  --header 'x-api-key: <api-key>'

Documentation Index

Fetch the complete documentation index at: https://docs.xquik.com/llms.txt

Use this file to discover all available pages before exploring further.

Requested result counts are upper bounds for paid authenticated calls. When remaining credits cannot cover the full page or ID list, Xquik returns fewer results. If zero paid results are affordable, it returns 402 insufficient_credits.
1 credit per user returned · All plans from $0.00012/credit
curl "https://xquik.com/api/v1/x/users/batch?ids=44196397,987654321" \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq
The Node.js and Python snippets shape durable profile rows instead of printing full profile objects. Persist profileRows or profile_rows and missingIds or missing_ids with the original ID list so retries only request missing profiles.

Direct batch user handoff

Use GET /x/users/batch when a CRM, warehouse, enrichment, lead scoring, or agent workflow already has numeric X user IDs and needs profile details in one JSON response. Use Get User when you have one ID or username to resolve. Store requested_ids, user_id, username, display_name, profile metrics, verification state, profile_image_url, has_next_page, and next_cursor. Join returned users by user_id instead of relying on response order. Send at most 100 IDs per request. Batch requests always return has_next_page: false and next_cursor: ""; zero affordable results return 402 insufficient_credits.

Known IDs

Send comma-separated X user IDs in ids. Keep the original list as requested_ids for retry and audit rows.

Profile rows

Store each returned id as user_id with username, name, description, followers, following, verified, and verifiedType.

Missing rows

Compare returned user_id values with requested_ids. Retry only the missing IDs or route username-only inputs to Get User first.

No pagination

Use the single-page batch contract: has_next_page: false and next_cursor: "". Do not treat it as a cursor workflow.

Which lookup endpoint?

One profile

Use GET /x/users/{id} for one username or one user ID.

Many known IDs

Use GET /x/users/batch for up to 100 comma-separated user IDs in one request.

Name or partial handle

Use GET /x/users/search before batch lookup when the workflow starts from a name, brand, or handle fragment.

Tweet IDs

Use GET /x/tweets/batch when the input list contains tweet IDs instead of user IDs.

Audience pages

Use GET /x/users/{id}/followers or GET /x/users/{id}/following when the job starts from an account audience.

Saved exports

Use Create extraction when the source is a follower, following, timeline, media, or search job instead of an existing ID list.

Query parameters

ids
string
required
Comma-separated user IDs. Maximum 100 per request.

Headers

x-api-key
string
required
Your API key. Session cookie authentication is also supported.

Response

users
object[]
Array of user profiles matching the requested IDs.
has_next_page
boolean
Always false for batch requests.
next_cursor
string
Always empty for batch requests.
{
  "users": [
    {
      "id": "44196397",
      "username": "elonmusk",
      "name": "Elon Musk",
      "followers": 200000000,
      "verified": true
    }
  ],
  "has_next_page": false,
  "next_cursor": ""
}
Last modified on May 25, 2026