By Sorsa Editorial

Updated: June 17, 2026. Refreshed against X's pay-per-use pricing after the April 20, 2026 change, and confirmed the June 2024 likes-privacy restriction on retrievable data.

Key Takeaway: The Twitter/X API exposes public profile data, full tweet content with engagement metrics like likes, retweets, replies, and views, keyword and mention search, follower and following lists, audio Space details, and list and community membership. It also verifies whether an account followed, retweeted, or replied. Posting requires separate write access.

What you can retrieve, and what each call costs, depends on which API you use. The official X API bills per resource, so every profile, tweet, or follower in a response is a separate charge, and since February 2026 there is no free tier. Sorsa API is an alternative Twitter/X API for public data that works differently. Billing is flat per request, so one call counts as one request no matter how many items it returns, across 40 read-only endpoints. A single /followers call returns up to 200 profiles for one request, and /tweet-info-bulk returns up to 100 full tweets with author data included, also for one request. Authentication is a single API key in a header, with no OAuth flow and no app review, and plans start at $49 a month for 10,000 requests. The sections below catalog every category of public data available and the exact fields each one returns.

On this page

What data can you get from the Twitter/X API?

The Twitter/X API covers seven core data types: user profiles and their follower graphs, individual tweets and their engagement metrics, keyword and mention search, audio Spaces, Lists and Communities, verification of user actions like follows and retweets, and identifier conversion utilities. Most of this is public read data; posting and direct messages are separate write capabilities.

In practice, that breaks down into seven retrievable categories:

  • Profiles and the follower graph: display name, bio, location, public counts, and verification status, plus follower, following, and verified-follower lists.
  • Tweets and engagement: full text, language, timestamp, and the like, retweet, reply, quote, view, and bookmark counts, with media and links returned as structured entities.
  • Search: keyword, phrase, author, and date search with advanced operators, mention tracking, and account search reaching the archive back to 2006.
  • Audio Spaces: title, state, creator, the admin, speaker, and listener breakdown, and live listener and replay statistics.
  • Lists and Communities: members, subscribers, and post feeds for Lists, and members, feeds, and scoped search for Communities.
  • Action verification: boolean checks for whether an account followed, replied, quoted, reposted, or joined a community.
  • Identifier utilities: conversion between usernames, numeric IDs, and profile links.

Every endpoint on the API we run authenticates with one key in an ApiKey header. A profile lookup and a bulk tweet pull look like this:

bash
curl -H "ApiKey: YOUR_API_KEY" \
  "https://api.sorsa.io/v3/info?username=elonmusk"
bash
curl -X POST "https://api.sorsa.io/v3/tweet-info-bulk" \
  -H "ApiKey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tweet_links": ["1782368585664626774", "https://x.com/user/status/123"]}'

Profile and account data

Profile data from the Twitter/X API includes an account's display name, handle, bio, location, profile and banner images, account creation date, and verification status, along with whether the account is protected. It also includes public counts: followers, following, total posts, likes given, and media. Follower and following lists are available as paginated sets of full profiles.

These are the most requested fields for audience and competitor research. A single /info call returns the full profile, including followers_count, followings_count, tweets_count, favourites_count, media_count, verified, protected, created_at in ISO 8601 format, location, any URLs found in the bio, and the IDs of pinned tweets. For the follower graph, /followers and /follows return up to 200 profiles per request, and /verified-followers narrows the list to verified accounts only. How to pull follower and following lists covers pagination and the per-request economics.

One field is easy to overlook: the account's country. The /about endpoint returns exactly three values, the country associated with the account, the total number of username changes, and the date of the most recent change. That country field is what powers a check of where an account is based.

Tweet content and engagement metrics

For any public post, the Twitter/X API returns the full text, language, timestamp, and the conversation it belongs to, along with engagement metrics: likes, retweets, replies, quotes, views, and bookmarks. Attached media and links come back as structured entities. For replies, quotes, and reposts, the original post and its author are nested in the response.

View counts have been available on posts since December 2022, returned as view_count alongside likes_count, retweet_count, reply_count, quote_count, and bookmark_count. A /tweet-info call returns one post; /tweet-info-bulk accepts up to 100 post IDs and returns them all in a single request, which is the difference between one billable call and a hundred. To pull a timeline, /user-tweets returns a user's posts page by page, while /comments, /quotes, and /retweeters return the replies, quote posts, and reposting accounts under a given post. Working with replies, quotes, and reposters and retrieving tweet metrics through the API go deeper on each.

There is one engagement signal you cannot retrieve: the list of accounts that liked a post. X made likes private on June 12, 2024, so only like counts are exposed, not the identities behind them. You can still get the accounts that retweeted, quoted, or replied.

Long-form posts are available too. Pulling the full text of X Articles returns the article body, cover image, and metrics, and trending topics by location returns the current trends for a given region.

Search and historical data

The Twitter/X API can search public posts by keyword, phrase, hashtag, author, and date using advanced search operators, return posts that mention a specific handle, and search for accounts by keyword. Search reaches the full public archive back to 2006, not just recent posts, so historical research is possible.

Search is where operator syntax matters. /search-tweets accepts the same advanced operators as Twitter's search, including from:, to:, since:, until:, quoted exact phrases, and hashtags, and returns roughly 20 posts per page with popular or latest ordering. The advanced search operator reference and how to search tweets through the API walk through query construction.

For brand and reputation work, /mentions returns posts mentioning a handle and offers the richest filter set of any search endpoint: minimum likes, replies, and retweets, plus since_date and until_date bounds. Tracking mentions at scale covers the filters. When you need posts from years ago rather than this week, searching the older tweet archive explains how date-bounded queries reach the platform's earliest posts.

Audio Spaces data

The Twitter/X API returns data on audio Spaces: the title, current state, scheduled start time, the creator's full profile, and a breakdown of participants by role as admins, speakers, and listeners. It also exposes access settings and live statistics, including total and peak listeners and replay views.

A /spaces call takes a Space ID or link and returns the full object. Unlike most endpoints, Space timestamps are Unix integers rather than ISO 8601 strings, a detail worth handling explicitly when you parse created_at, scheduled_start, and participant join times. The participant breakdown is useful for spotting which accounts hosted or spoke versus simply listened.

Lists and Communities

The Twitter/X API exposes Twitter/X Lists and Communities. For a List, you can retrieve its member profiles, its subscribers, and a feed of posts from its members. For a Community, you can retrieve its members, its post feed, and run a keyword search scoped to that community alone.

Lists are a clean way to track a fixed set of accounts. /list-members returns the profiles in a List, /list-followers returns the accounts subscribed to it, and /list-tweets returns a combined feed of posts from its members. Communities work the same way through /community-members, /community-tweets, and /community-search-tweets, the last of which restricts a keyword search to a single community. Extracting members, posts, and followers from Lists and Communities covers both in one place.

Verifying user actions

Beyond raw data, the Twitter/X API can verify specific user actions: whether one account follows another, whether a user replied to a given post, whether they quoted or reposted it, and whether they belong to a particular community. Each check returns a boolean result, which is what giveaway and campaign verification relies on.

These checks are the backbone of giveaway and campaign auditing. /check-follow confirms whether one account follows another, /check-comment confirms a reply under a specific post, /check-quoted and /check-retweet confirm quotes and reposts, and /check-community-member confirms membership. Bidirectional follow checks take two calls, one in each direction, since a single check is one-way. Verifying follows, replies, quotes, and reposts for campaigns covers the full workflow, and a simpler check of whether one account follows another handles the most common case on its own.

Account identifier utilities

The Twitter/X API also handles identifier conversion. You can convert a username to its permanent numeric user ID, convert a numeric ID back to the current username, and extract a user ID from a profile URL. Because usernames can change but numeric IDs never do, storing the ID is the reliable way to track an account over time.

Usernames change; the numeric ID assigned at signup does not. /username-to-id and /id-to-username convert between the two, and /link-to-id pulls the ID straight from a profile URL. Converting between usernames, user IDs, and profile links explains why ID-based storage survives handle changes. A separate /key-usage-info call reports how many requests remain on your key.

What you cannot get from the Twitter/X API

Some data is off-limits regardless of API. You cannot read other users' direct messages, retrieve content from protected accounts you do not follow, or recover deleted posts. You cannot get the list of accounts that liked a post, since X made likes private in June 2024. Read-only APIs additionally cannot post, reply, follow, or send messages.

Knowing the boundaries saves wasted calls. Private and protected accounts return only what a logged-out viewer would see, deleted posts are gone from the index, and direct messages between other users are never exposed. The likes restriction trips up engagement audits most often: you get the like count on a post but not the accounts behind it, so audience analysis leans on followers, repliers, quoters, and reposters instead. The read-only limitation is a deliberate design choice, addressed in the next section.

Can you post or write through the API?

The official X API supports write actions: posting, replying, and sending direct messages, all billed per request. As of April 20, 2026, follow, like, and quote-post writes moved to Enterprise-only access. Read-only third-party APIs do not write at all; they retrieve public data and nothing else, which removes any write-permission risk to connected accounts.

Whether you need writes is the first fork in choosing an API. If the goal is publishing or automation, the official X API is the route, and posting a plain message costs $0.015 per request while a post containing a URL costs $0.20. If the goal is reading public data at volume, write capability is dead weight, and a read-only API like the one we run trades it away on purpose: no posting means no OAuth write scopes, no app-permission review, and no risk of a token doing something unintended to an account. For teams weighing the move, migrating off the official X API maps the read endpoints across.

What it costs to access this data

The cost of Twitter/X data depends on the billing model, not just the volume. The official X API charges per resource: $0.005 per post read and $0.010 per profile read, so a single search returning 20 posts plus their authors costs about $0.30. Flat per-request APIs charge once per call regardless of how many items return, which favors read-heavy work.

For read-heavy access, a flat per-request model is dramatically cheaper than per-resource billing once volume passes roughly 10,000 post reads a month.

DimensionOfficial X API (pay-per-use)Sorsa API
Billing modelPer resource fetchedPer request, flat
1,000 post reads$5.00about $0.10 on Pro
1,000 profile reads$10.00about $0.01 on Pro
Author profile in a tweet responseBilled as a separate profile readIncluded free
Read access to public dataYesYes
Write access (post, DM)Yes, follow, like, and quote-post Enterprise-only since April 2026None, read-only
Rate limit300 requests per 15 minutes, varies by endpoint20 requests per second on every plan
AuthenticationOAuth 2.0 with a Bearer tokenSingle API key in a header
Batch requestsLimitedUp to 100 tweets or 100 profiles per call
Monthly ceiling2 million post readsPlan based, 10,000 to 500,000 requests

If you need to post, run filtered streaming, or hold an enterprise compliance agreement, the official X API is the right tool. For read-heavy access to public data at a flat, predictable price, a flat-rate provider wins, and the per-data-unit gap is the reason. Sorsa's pricing lists the plans, and a full breakdown of X API pricing in 2026 shows the per-resource math in detail.

A team that switched off per-resource billing

A roughly 10-person social analytics team came to us after a month of building directly on the official X API. Their product pulled profiles, recent posts, and engagement metrics across a few thousand tracked accounts, and the per-resource bill, where every post read plus every author profile counted separately, was climbing past what their pricing could absorb. Moving the same read workload to flat per-request calls, with author data already included in each tweet response and batch endpoints collapsing hundred-item pulls into single requests, cut their data costs by roughly 30 to 50 times. The write features they had been paying for, they never used.

Getting started

Mapping what you need to the right endpoint is the fastest way to scope a project. The read-only data above is available through 40 endpoints on a single API key, with a flat 20 requests per second on every plan and setup in a few minutes, no app review. Try any endpoint in the browser first without writing code, then read the endpoint reference when you are ready to integrate. Plans run from $49 a month for 10,000 requests to $899 for 500,000.

Frequently asked questions

Can you get view and bookmark counts from the Twitter/X API?

Yes. The Twitter/X API returns view counts on posts, available since December 2022, as well as bookmark counts, alongside the standard likes, retweets, replies, and quotes. These come back as numeric fields on each post object. The one engagement signal not available is the list of accounts that liked a post, which became private in June 2024.

Can you post tweets through the Twitter/X API?

The official X API supports posting, replying, and direct messages, billed per request, though follow, like, and quote-post writes moved to Enterprise-only access in April 2026. Read-only third-party APIs do not post at all. If your project only reads public data, write access is unnecessary and adds permission risk you can avoid.

What is the cheapest way to get Twitter/X data through an API?

For read-heavy work, a flat per-request API is the cheapest route once you pass roughly 10,000 post reads a month. Sorsa charges one request per call regardless of how many items return, includes author profiles in tweet responses, and starts at $49 a month for 10,000 requests, against the official API's $0.005 per post read and $0.010 per profile read.

How far back does Twitter/X API data go?

Search reaches the full public archive back to 2006, the year Twitter launched, not only recent posts. Date-bounded queries using operators like since and until can target a specific historical window. Real-time and historical data use the same search endpoints, so one query can span either recent or older posts.

Do you need a developer account to access Twitter/X API data?

The official X API requires a developer account, an approved app, and an OAuth flow before any data call. A flat-rate provider like Sorsa removes that: a single API key in a request header authenticates every endpoint, with no app review and setup in a few minutes. Reading public X data this way does not require the platform's developer program.

What data can't you get from the Twitter/X API?

You cannot read other users' direct messages, see content from protected accounts you do not follow, recover deleted posts, or retrieve the list of accounts that liked a post, since likes went private in June 2024. Engagement audits rely on followers, repliers, quoters, and reposters instead of likers.

Reviewed by Keksich, founder of Sorsa, marketer and X API researcher.

This guide draws on our day-to-day work operating Sorsa's read-only X API and its public documentation, cross-checked against X's published 2026 pay-per-use pricing and the June 2024 likes-privacy change. Endpoint names, response fields, and limits were verified against the live API, and pricing reflects the rates in effect after X's April 20, 2026 update. More on the team behind these guides is on the Sorsa About page. Verified June 17, 2026.