Unif API Docs

Autocomplete X users, topics, hashtags, and cashtags

Return X search autocomplete suggestions for a partial query, grouped into matching users, topics, hashtags, and cashtags. Useful for type-ahead search, entity discovery, and expanding a seed term into related handles and tags.

Pricing — $ · min $0.001

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

GET
/x/autocomplete

Authorization

bearerAuth
AuthorizationBearer <token>

UnifAPI API key. Provider credentials are managed by UnifAPI.

In: header

Query Parameters

query*string

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/autocomplete?query=string"
{  "request_id": "string",  "data": {    "query": "string",    "users": [      {        "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        }      }    ],    "topics": [      {        "topic": "string",        "score": 0      }    ],    "hashtags": [      "string"    ],    "cashtags": [      "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    }  }}