Unif API Docs

Get X Posts by IDs

Batch-fetch up to 100 Posts in one call from a comma-separated list of numeric Post IDs, returning the same full object as the single-Post lookup. Useful for hydrating a set of Posts without one request each.

Pricing — $ · min $0.001

Billed per record at 1 credit ($0.001) each, with a 1-credit ($0.001) minimum per call.

GET
/x/tweets

Authorization

bearerAuth
AuthorizationBearer <token>

UnifAPI API key. Provider credentials are managed by UnifAPI.

In: header

Query Parameters

expansions?string
tweet.fields?string
user.fields?string
media.fields?string
place.fields?string
poll.fields?string
ids*string

Comma-separated resource ids.

Header Parameters

Unifapi-Version?string

Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/x/tweets?ids=string"
{  "request_id": "string",  "data": [    {      "id": "string",      "text": "string",      "author_id": "string",      "created_at": "string",      "conversation_id": "string",      "lang": "string",      "possibly_sensitive": true,      "public_metrics": {        "followers_count": 0,        "following_count": 0,        "tweet_count": 0,        "listed_count": 0,        "like_count": 0,        "retweet_count": 0,        "reply_count": 0,        "quote_count": 0,        "bookmark_count": 0,        "impression_count": 0      },      "attachments": {        "media_keys": [          "string"        ]      },      "edit_history_tweet_ids": [        "string"      ],      "author": {        "id": "string",        "name": "string",        "username": "string",        "created_at": "string",        "description": "string",        "location": "string",        "url": "string",        "profile_image_url": "string",        "profile_banner_url": "string",        "protected": true,        "verified": true,        "verified_type": "string",        "pinned_tweet_id": "string",        "public_metrics": {          "followers_count": 0,          "following_count": 0,          "tweet_count": 0,          "listed_count": 0,          "like_count": 0,          "retweet_count": 0,          "reply_count": 0,          "quote_count": 0,          "bookmark_count": 0,          "impression_count": 0        }      },      "media": [        {          "media_key": "string",          "type": "string",          "url": "string",          "preview_image_url": "string",          "height": 0,          "width": 0,          "duration_ms": 0,          "variants": [            {              "bit_rate": 0,              "content_type": "string",              "url": "string"            }          ]        }      ]    }  ],  "billing": {    "credits_charged": 0,    "records_charged": 0,    "balance_remaining": 0,    "truncated_due_to_balance": true  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}