Skip to content

USER PROFILES

Twitter User API: Look Up Any Profile at $0.0008/call

Updated July 2026

What is the Twitter (X) User API?

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, 600 req/min per key. These same profile fields are what a bot screen is built from, set out at how to detect bot accounts programmatically.

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 121-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 pullEndpointKey paramReturnsDocs
Profile by handleGET /twitter/user/infouserNameFull public profile: bio, counts, verification, location, pinned tweetView docs
Profile by numeric idGET /twitter/user/info_by_iduserIdSame profile payload, keyed on the stable numeric id instead of handleView docs
Extended about sectionGET /twitter/user/user_aboutuserNameExtended profile: pinned Tweet object, full bio, website, joined dateView docs
Affiliated accountsGET /twitter/user/affiliatesuserNameList 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

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.twitterapis.com/twitter/user/info?userName=elonmusk"

Look up a user by numeric id

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "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.

# Extended about section with full pinned tweet object
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.twitterapis.com/twitter/user/user_about?userName=elonmusk"

Profile fields returned on every user/info call

Every call to GET /twitter/user/info or user/info_by_id returns these fields under a single `user` key. No pagination is needed; a user lookup is always one call, one record.

FieldTypeDescription
idstringStable numeric user id (survives handle changes)
namestringDisplay name
usernamestringHandle without the @ symbol
descriptionstringBio text, up to 160 characters
followers_countintegerNumber of accounts following this user
following_countintegerNumber of accounts this user follows
tweet_countintegerTotal tweets and replies posted
verifiedbooleanLegacy verified badge status
is_blue_verifiedbooleanX Blue / paid verification status
locationstringSelf-reported location string
created_atstringAccount creation date in RFC 2822 format
pinned_tweet_idsstring[]Numeric ids of pinned tweets
profile_image_urlstringProfile photo URL, returned at _normal size (48x48); swap the _normal suffix for _400x400 for a larger copy
cover_picturestringHeader/banner image URL
urlstringExpanded 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

OptionPriceAuthRate limitsHandle + id lookup
TwitterAPIs$0.0008 per callBearer token, 30-second signup600 req/min per keyBoth handle and numeric id supported
Official X API v2 users endpoint$0.010 per user read on pay-per-use, no free tierX developer account, OAuth 2.0 app approvalRate-limited per app, resets on 15-min windowsSupported, billed at $0.010 per user read
Tweepy (Python X API wrapper)Free library, but underlying X API tier costs applyRequires X developer account + app credentialsInherits every official X API rate limitSupported; 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.

Official X API vs a public-data API for profile reads

There are two ways to read a public X profile from code. The official X API bills every read from the first request: X moved self-serve access to consumption billing in February 2026, and a user read is $0.010, with no free tier and no subscription to hold the price down. A public-data API such as TwitterAPIs reads the same public profile for $0.0008 per call, on a key you get at signup, with no X developer account and no OAuth app. The rates are the ones our Twitter API pricing page tracks.

What reading public X data costs at volume

For profiles the arithmetic is simple, because one call returns one profile. A thousand profile reads cost $10 on the official API and $0.80 here. A hundred thousand, the size of a typical lead list or follower audit, cost $1,000 and $80. The official API earns its price when you need what only it offers, such as writing as your own authenticated app or data X does not show publicly. For reading public profiles, you are paying for access you do not use.

A real public-data request, end to end

One GET with a Bearer header is the whole integration: call GET /twitter/user/info with userName set to the handle, without the @. The response is one JSON object with a single user key holding the fields in the table above: the stable numeric id, display name, bio, follower and following counts, tweet count, both verification flags, location, creation date, pinned tweet ids and image URLs. It costs one call, $0.0008. If you store the numeric id and read by id afterwards, a user renaming their handle never breaks your record.

Common use cases for the User API

Lead enrichment

Turn a list of handles into bios, locations, website links and follower counts, then score or route each lead. At one call per profile, enriching 10,000 leads is $8.

Bot and fake-follower screening

Account age, follower-to-following ratio, tweet count and verification together flag most automated accounts before you pay them attention. The method is set out in how to detect bot accounts programmatically.

Influencer and creator vetting

Check that an account's audience matches the claim before a paid collaboration: follower count, growth since the account was created, and whether the affiliated accounts endpoint shows the brand links the creator describes.

Tracking accounts over time

Read the same profiles on a schedule and store each snapshot against the numeric id. The difference between snapshots is follower growth, bio changes and renamed handles, which is the raw material for competitor monitoring and research datasets.

User profiles are one surface of 121 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 JSON object with a single `user` key holding the profile: id, name, username, description, followers_count, following_count, tweet_count, verified, is_blue_verified, location, created_at, pinned_tweet_ids, and profile_image_url. 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 following_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, 600 req/min per key, no subscription.