Twitter API without a developer account
No, not the official X API: every call needs a developer account, an app with OAuth credentials and prepaid credits, at $5.00 per 1,000 posts. Public X data can still be read without one, through a data API with its own key.
Short answer: X ties every call to that account: you sign in at console.x.com with an X account, accept the Developer Agreement, create an app and buy credits first, $0.005 per post. To skip all of it, use Sorsa API: one key returns 100 tweets per POST /tweet-info-bulk request, from $0.014 per 1,000, and your 100 free requests need no card.
- Endpoint
POST /tweet-info-bulk- Page size
- 100 tweets per request
- Price
- from $0.014 per 1,000
#What the official X API asks for before your first read
The official X API answers nothing until you hold four things: an X account, a developer account, an app with its credentials, and a prepaid credit balance. X's Getting Access guide (opens in a new tab) lists the route. You sign in at console.x.com with your X account, accept the Developer Agreement and describe how you'll use the API. Then you create an app with a name, a description and a use case.
The app hands you up to seven credentials: an API key and secret, a bearer token, an access token and secret, and an OAuth 2.0 client ID and secret. X shows each of them once. Signing up costs nothing, but reading does: credits are bought upfront, and X's price list (opens in a new tab) charges $0.005 per post read and $0.010 per profile or follower. Our X API pricing breakdown covers the full rate card. The console steps, one by one, are in the guide on how to get a Twitter API key.
No read on the official X API is free in 2026, as the answer to is the Twitter API free shows in full. The way around the whole list is a data API that issues its own key: it reads the same public posts, profiles and follower lists, and no X account of yours takes part.
#Get a Sorsa API key and make your first request
To read X data without a developer account, use Sorsa API, a Twitter (X) API and scraper: one key in the ApiKey header replaces the X account, the app, OAuth and the credits, and tweets cost from $0.014 per 1,000, 250x below the official X API.
| What you need to start | Sorsa API | Official X API |
|---|---|---|
| An X account | No | Yes, to sign in at console.x.com |
| A developer account and an app | No | Yes |
| Credentials | One API key | Up to 7 credentials |
| Authentication | ApiKey header | OAuth 2.0 bearer token or OAuth 1.0a |
| Before the first read | Sign up: 100 free requests | Buy credits |
| Tweets, per 1,000 | From $0.014 | $5.00 |
An X account
- Sorsa API
- No
- Official X API
- Yes, to sign in at console.x.com
A developer account and an app
- Sorsa API
- No
- Official X API
- Yes
Credentials
- Sorsa API
- One API key
- Official X API
- Up to 7 credentials
Authentication
- Sorsa API
ApiKeyheader- Official X API
- OAuth 2.0 bearer token or OAuth 1.0a
Before the first read
- Sorsa API
- Sign up: 100 free requests
- Official X API
- Buy credits
Tweets, per 1,000
- Sorsa API
- From $0.014
- Official X API
- $5.00
Three steps take you from no account to a JSON response in about 3 minutes, and none of them touches X.
-
Sign up. Sign up with your email or Google account. You need no X account and no card, and the first 100 requests are free.
-
Copy the key. The dashboard shows your API key. Put it where the samples say
YOUR_API_KEY, and keep it on your server, not in code you ship to a browser. -
Send the first request. Ask
GET /info(opens in a new tab) for a public profile, with the key in theApiKeyheader.Terminal curl -G "https://api.sorsa.io/v3/info" \ -H "ApiKey: YOUR_API_KEY" \ --data-urlencode "username=nova_reads_public"Response200 OK { "id": "1601184620738576384", "username": "nova_reads_public", "display_name": "Nova Reads", "description": "Open-data notes and charts.", "location": "Lisbon", "created_at": "2022-12-09T10:41:07Z", "followers_count": 4210, "followings_count": 318, "tweets_count": 1874, "media_count": 266, "favourites_count": 5032, "verified": false, "protected": false, "can_dm": false, "possibly_sensitive": false, "profile_image_url": "https://pbs.twimg.com/profile_images/16011/nova.jpg", "profile_background_image_url": "", "bio_urls": ["https://novareads.example.org"], "pinned_tweet_ids": ["1849120057347842318"] }
That is the whole setup. A 403 means the header is missing or your requests have run out, a 401 means the key is wrong, and a 429 means more than 20 requests in one second. Failed requests are never charged. GET /key-usage-info (opens in a new tab) shows the requests you have left, and it costs nothing.
#Read tweets, search and followers with one key
Every Sorsa API endpoint takes the same ApiKey header, so the key from step 2 already reads timelines, search, follower lists and batches of up to 100 tweets or profiles. Every plan runs at 20 requests per second, and each kind of read costs a small fraction of the official X API's rate.
| What you read | Endpoint | Per request | Sorsa API, per 1,000 | Official X API, per 1,000 |
|---|---|---|---|---|
| Tweets by ID or link | POST /tweet-info-bulk (opens in a new tab) | up to 100 | from $0.014 | $5.00 |
| Profiles by username or ID | GET /info-batch (opens in a new tab) | up to 100 | from $0.014 | $10.00 |
| Followers of an account | GET /followers (opens in a new tab) | up to 200 | from $0.007 | $10.00 |
| Search results, back to 2006 | POST /search-tweets (opens in a new tab) | about 20 | from $0.07 | $5.00 |
| An account's tweets | POST /user-tweets (opens in a new tab) | about 20 | from $0.07 | $5.00 |
Tweets by ID or link
- Per request
- up to 100
- Sorsa API, per 1,000
- from $0.014
- Official X API, per 1,000
- $5.00
Profiles by username or ID
- Per request
- up to 100
- Sorsa API, per 1,000
- from $0.014
- Official X API, per 1,000
- $10.00
Followers of an account
- Per request
- up to 200
- Sorsa API, per 1,000
- from $0.007
- Official X API, per 1,000
- $10.00
Search results, back to 2006
- Per request
- about 20
- Sorsa API, per 1,000
- from $0.07
- Official X API, per 1,000
- $5.00
An account's tweets
- Per request
- about 20
- Sorsa API, per 1,000
- from $0.07
- Official X API, per 1,000
- $5.00
Lists come back a page at a time. Each page carries a next_cursor, a token that points to the next page; send it back with the next request and stop when it comes back empty. The search below takes the same X operators as the search box on x.com, such as from:, since: and lang:.
import requests
API = "https://api.sorsa.io/v3"
HEADERS = {"ApiKey": "YOUR_API_KEY"}
def search(query, max_pages=5):
body = {"query": query, "order": "latest"}
for _ in range(max_pages):
r = requests.post(f"{API}/search-tweets", headers=HEADERS,
json=body, timeout=30)
r.raise_for_status()
page = r.json()
yield from page["tweets"]
if not page.get("next_cursor"):
break
body["next_cursor"] = page["next_cursor"]
for t in search('"open data" lang:en since:2026-10-01'):
print(t["created_at"], t["user"]["username"], t["full_text"][:60])
Pick what you need below and the builder writes the request for your own handle, query or tweet links, with its endpoint, page size and price per 1,000.
curl -X POST \
"https://api.sorsa.io/v3/user-tweets" \
-H "ApiKey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"username": "nova_reads_public"}'
- Endpoint
POST /user-tweets- Per request
- about 20 tweets
- Sorsa API, per 1,000
- from $0.07
Next page: send the next_cursor from the response back in the JSON body.
The request for your data, ready for a terminal once YOUR_API_KEY is replaced with your key.
#What comes back in the response
A Sorsa API profile comes back with 19 fields and every tweet carries its author's full profile, while the official X API returns three fields per object unless you ask for more. X's fields guide (opens in a new tab) says so in its first line: version 2 "returns minimal data by default". A user is id, name and username; a post is id, text and edit_history_tweet_ids.
On the official X API, the author of a post takes an expansion plus user.fields. From November 22, 2026, X also bills every object returned through an expansion at its standard rate, $0.010 per user, as its expansions notice (opens in a new tab) says. On Sorsa API the author's profile sits inside each tweet as user, at no extra charge, together with quoted_status when the tweet quotes another one.
#Why your X account stays out of it
Sorsa API never asks for your X login or cookies, so no X account of yours takes part in a request or carries any risk.
That is the line between this route and the free libraries that read X through a logged-in session. Such a library sends your account's session cookies with every call, so X sees your account doing the reading, and a restriction lands on that account. It also breaks whenever X changes its web app. With Sorsa API, when X changes something, we fix it on our side, and your code and the response schema stay the same.
Good to know
Keep the key on your server. Sorsa API keys are meant for server-side code: browsers can't call the API directly, and a key placed in front-end code can be copied by anyone who opens the page. If a key leaks, roll it in the dashboard.
#What you can read, and what still needs X
Through Sorsa API you can read any public X data without a developer account; private data and posting are the two things it leaves out.
- Readable: profiles, tweets, replies, quotes and retweeters, search back to 2006, followers and following lists, X Lists, Communities, Spaces, trends and X Articles, plus checks of follows, retweets and comments. Sorsa API covers them in 45 endpoints, each returning fresh data.
- Not available: protected accounts, direct messages, a user's likes and bookmarks, the list of who liked a post, and deleted posts. New posts come by polling: Sorsa API doesn't push them to you.
- Posting: Sorsa API is read-only by design. To publish, pair it with the official X API, which needs the developer account for that part.
If the only data you need is your own account's history, X's settings let you download an archive without any API. For a single lookup without code, the free Twitter tools need no key at all, and AI agents call Sorsa API through the Twitter MCP server.
#Make your first call without a developer account
Reading X data takes one Sorsa API key, not an X account, an app and a stack of OAuth credentials. Sign up, paste the request from step 3, and public tweets cost from $0.014 per 1,000 after the first 100 requests, which are free.
#FAQ
Do I need a developer account to use Twitter's API?
Only for the official X API, where every call needs an X account, a developer account, an app with its credentials and credits bought in advance. Public X data needs none of that through Sorsa API, which issues its own key after a sign-up and reads tweets from $0.014 per 1,000. To publish posts, you still use the official X API.
Is Twitter's API public?
The data is public, but access to the official X API is not anonymous. X documents its API openly and serves public posts and profiles, yet every request needs credentials from a developer app and prepaid credits. Sorsa API returns the same public data with a key you get by signing up, with no developer account, and the first 100 requests are free.
Which Twitter API should I use without a developer account?
Use Sorsa API. One key in the ApiKey header replaces the X account, the app and OAuth, and every plan runs at 20 requests per second. Tweets cost from $0.014 per 1,000 and followers from $0.007 per 1,000, 250x and 1,000x below the official X API. Sorsa API has served 6B+ requests of X data since 2022, and its search reaches back to 2006.
How long does it take to get an X developer account?
X publishes no approval time. Its Getting Access guide lists steps instead: sign in at console.x.com with an X account, accept the Developer Agreement and describe your use of the API. You then create an app, save its credentials and buy credits before the first read. A Sorsa API key takes about 3 minutes from sign-up to the first response, with no review.
Can I post tweets without a developer account?
Not through Sorsa API: it is read-only by design, so it never posts, likes, follows or sends messages, and your X account is never at risk. Posting runs through the official X API with a developer account and OAuth, at $0.015 per post or $0.20 with a link. A bot can read through Sorsa API and use the official X API only to publish.
#How we checked
On November 2, 2026 we read X's Getting Access, pricing, fields and data dictionary pages on docs.x.com, and X's notice on expansion billing. We compared them with the live Sorsa API reference, 45 endpoints in its swagger file. The requests on this page follow that reference, the 19 and 22 field counts come from its User and Tweet schemas, and the sample response uses a fictional account.