USER PROFILES
Twitter User API: Look Up Any Profile at $0.0008/call
Updated July 2026
The Twitter User API is a set of REST endpoints that fetch any public X profile by handle or numeric id as structured JSON at $0.0008 per call. TwitterAPIs provides four user endpoints on one Bearer key: profile by handle, profile by numeric id, extended about section, and affiliated accounts. No X developer account, no OAuth app, no rate limits.
We price each profile lookup at $0.0008 (source: our published pricing), so resolving 1,000 profiles runs about $0.80.
What this API does
A Twitter user lookup resolves a handle like @elonmusk or a numeric id like 44196397 into a full profile object containing bio, follower count, following count, verification status, location, account creation date, and pinned tweet ids. TwitterAPIs exposes this across four endpoints at a flat $0.0008 per call, part of a 47-endpoint surface that also covers tweets, followers, and search, all on the same key.
Four user endpoints, one Bearer key
Each endpoint maps to a distinct lookup pattern. All four are billed at $0.0008 per call, return structured JSON with no HTML to parse, and authenticate with the same Bearer token.
| What you pull | Endpoint | Key param | Returns | Docs |
|---|---|---|---|---|
| Profile by handle | GET /twitter/user/info | userName | Full public profile: bio, counts, verification, location, pinned tweet | View docs |
| Profile by numeric id | GET /twitter/user/info_by_id | userId | Same profile payload, keyed on the stable numeric id instead of handle | View docs |
| Extended about section | GET /twitter/user/user_about | userName | Extended profile: pinned Tweet object, full bio, website, joined date | View docs |
| Affiliated accounts | GET /twitter/user/affiliates | userName | List of accounts affiliated with the target user (organizations, labels) | View docs |
Handle lookups via user/info are the most common entry point. Use user/info_by_id when you store numeric ids in your database and need stable resolution across handle renames.
Fetch a profile by handle
The main user lookup lives at GET /twitter/user/info. Pass the userName without the @ symbol and you get the full profile object in one call at $0.0008.
Look up a user by handle
1curl -H "Authorization: Bearer YOUR_API_KEY" \2 "https://api.twitterapis.com/twitter/user/info?userName=elonmusk"Look up a user by numeric id
1curl -H "Authorization: Bearer YOUR_API_KEY" \2 "https://api.twitterapis.com/twitter/user/info_by_id?userId=44196397"Both endpoints return the same profile payload. Store numeric ids in your database to avoid broken references if a user renames their account. Read the info_by_id docs.
Extended profile: user_about and affiliates
user/user_about returns the expanded profile card including the full pinned Tweet object. user/affiliates returns any X-linked accounts affiliated with the target user, such as organizational labels and related brands.
1# Extended about section with full pinned tweet object2curl -H "Authorization: Bearer YOUR_API_KEY" \3 "https://api.twitterapis.com/twitter/user/user_about?userName=elonmusk"Profile fields returned on every user/info call
Every call to user/info or user/info_by_id returns these fields in a flat JSON object. No pagination is needed; a user lookup is always one call, one record.
| Field | Type | Description |
|---|---|---|
| id | string | Stable numeric user id (survives handle changes) |
| name | string | Display name |
| screen_name | string | Handle without the @ symbol |
| description | string | Bio text, up to 160 characters |
| followers_count | integer | Number of accounts following this user |
| friends_count | integer | Number of accounts this user follows |
| statuses_count | integer | Total tweets and replies posted |
| verified | boolean | Legacy verified badge status |
| is_blue_verified | boolean | X Blue / paid verification status |
| location | string | Self-reported location string |
| created_at | string | Account creation date in RFC 2822 format |
| pinned_tweet_ids_str | string[] | Numeric ids of pinned tweets |
| profile_image_url_https | string | Profile photo URL (400x400) |
| profile_banner_url | string | Header/banner image URL |
| url | string | Expanded website URL from the profile |
The id field is a numeric string. Store it rather than the handle for durable references; handles change, ids do not.
TwitterAPIs user lookup vs the official X API and alternatives
| Option | Price | Auth | Rate limits | Handle + id lookup |
|---|---|---|---|---|
| TwitterAPIs | $0.0008 per call | Bearer token, 30-second signup | No platform rate limits | Both handle and numeric id supported |
| Official X API v2 users endpoint | Gated, requires developer account and paid tier for volume | X developer account, OAuth 2.0 app approval | Rate-limited per app, resets on 15-min windows | Supported but throttled on free tier |
| Tweepy (Python X API wrapper) | Free library, but underlying X API tier costs apply | Requires X developer account + app credentials | Inherits every official X API rate limit | Supported; handle lookups deprecated in v2 |
Pricing: flat $0.0008 per lookup
$0.0008
per profile lookup, any endpoint
$0.50
free credits at signup, no card required
625
profile lookups covered by the free credit
There is no subscription and no minimum. 1,000 lookups costs $0.80. 10,000 lookups costs $8. See the complete rate card on the Twitter API pricing page or get your key on the pricing page.
User profiles are one surface of 47 endpoints
The same Bearer key that resolves profiles also covers follower lists, tweet timelines, and keyword search. Use the Twitter Followers API to page through a full follower or following list once you have the user id. For keyword and hashtag data, the Twitter Search API runs on the same key. To wire profile lookups into an AI agent, use the MCP server at @twitterapis/mcp. For your API key and account setup, visit the Twitter API key page. Full endpoint reference lives in the docs.
Twitter User API FAQ
Call GET /twitter/user/info with the userName query parameter set to the handle (without the @ symbol). The response is a flat JSON object with the user's id, name, screen_name, description, followers_count, friends_count, statuses_count, verified, is_blue_verified, location, created_at, pinned_tweet_ids_str, and profile_image_url_https. Each call costs $0.0008 and returns the full public profile in a single round trip. There is no pagination because a user lookup is always a single record. Authenticate with your Bearer token in the Authorization header.
user/info returns the core profile object: id, name, handle, bio, follower counts, verification flags, location, creation date, and pinned tweet ids. user/user_about returns an extended view that includes the full pinned Tweet object (not just the id), an expanded bio, the website URL, and the joined date formatted differently. Use user/info when you only need the counts and metadata; use user/user_about when you need the actual content of the pinned tweet or the expanded profile card.
No. You authenticate with a Bearer token issued by TwitterAPIs at signup, not by X's developer platform. There is no OAuth app to create, no X developer account to register, and no approval queue to clear. Signup takes about 30 seconds and you get $0.50 in free credits immediately, no card required. Your Bearer token works on all four user endpoints and on the rest of the TwitterAPIs surface.
The followers_count field in the user/info response gives you how many accounts follow this user, and friends_count gives you how many accounts the user follows. Both are integers that reflect the current public counts X displays on the profile. If you need the actual lists rather than the counts, use the Twitter Followers API (GET /twitter/user/followers and GET /twitter/user/following), which pages through the full lists with cursor pagination.
Yes. GET /twitter/user/info_by_id accepts a userId numeric string instead of a handle. Numeric ids are stable and do not change when a user renames their account, so if you store ids in your database you can reliably resolve profiles even after handle changes. The response payload is identical to user/info. Both endpoints cost the same $0.0008 per call.
GET /twitter/user/affiliates returns the accounts that X has linked as affiliates of the target user. This typically applies to organizational accounts, news outlets, and brands that X surfaces as related under the profile. For individual creators the list is usually empty. When it is populated it gives you the affiliate's full user object, so you can resolve the full profile of every affiliated account in one call.
Every call to any of the four user endpoints costs $0.0008. There is no subscription and no minimum spend. If you look up 1,000 profiles it costs $0.80. If you look up 100 it costs $0.08. You start with $0.50 in free credits, which covers 625 profile lookups. There are no additional per-field fees; the full profile payload is always included.
Yes. The response includes two verification fields: verified (boolean) for the legacy blue badge that X issued before 2023 to notable accounts without payment, and is_blue_verified (boolean) for the current X Blue / paid verification status. Some accounts will have one true and one false; some will have both true. Both fields are present on every user/info response.
Start fetching profiles in under a minute
$0.0008 per lookup. $0.50 free credits. No X developer account, no rate limits, no subscription.
Next read
Continue exploring related pages:
Twitter API use cases
14 use cases from sentiment analysis to lead generation.
Twitter timeline API
Pull an account's full posting history over one REST endpoint.
Twitter list API
Read list members and list timelines with the same Bearer key.
TwitterAPIs pricing
Brand pricing page with endpoint-level costs and quick totals.