Skip to content

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 startSorsa APIOfficial X API
An X accountNoYes, to sign in at console.x.com
A developer account and an appNoYes
CredentialsOne API keyUp to 7 credentials
AuthenticationApiKey headerOAuth 2.0 bearer token or OAuth 1.0a
Before the first readSign up: 100 free requestsBuy credits
Tweets, per 1,000From $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
    ApiKey header
    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.

  1. 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.

  2. 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.

  3. Send the first request. Ask GET /info (opens in a new tab) for a public profile, with the key in the ApiKey header.

    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 readEndpointPer requestSorsa API, per 1,000Official X API, per 1,000
Tweets by ID or linkPOST /tweet-info-bulk (opens in a new tab)up to 100from $0.014$5.00
Profiles by username or IDGET /info-batch (opens in a new tab)up to 100from $0.014$10.00
Followers of an accountGET /followers (opens in a new tab)up to 200from $0.007$10.00
Search results, back to 2006POST /search-tweets (opens in a new tab)about 20from $0.07$5.00
An account's tweetsPOST /user-tweets (opens in a new tab)about 20from $0.07$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.

What do you want to read?

Terminal
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.

Official X API Sorsa API GET /2/users/by/username 3 fields id name username More fields on request: user.fields=... Authors need expansions, $0.010 each from Nov 22 GET /info 19 fields id username display_name description location created_at followers_count followings_count tweets_count media_count favourites_count verified protected can_dm possibly_sensitive profile_image_url profile_background_image_url bio_urls, pinned_tweet_ids A tweet: 3 fields A tweet: 22 fields, its author's profile inside
Three fields by default on the official X API; 19 for a profile and 22 for a tweet on Sorsa API, author included.

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.

Your code on your server ApiKey JSON Sorsa API one key, 20 requests/s reads Public X data posts, profiles, lists Your X account not part of the request: no login, no cookies, no OAuth
The request path runs from your code to Sorsa API and back. Your X account is never part of it.

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.

By the Sorsa API team. We build and run Sorsa API, the read-only Twitter/X API and scraper, in production since 2022 (formerly TweetScout API) with 6B+ requests served. About Sorsa API

What changed
  • Rewritten from scratch around one route: a Sorsa API key instead of a developer account. New request walkthrough, endpoint table with prices per 1,000, request builder, default-fields comparison with the official X API and its November 22 expansion billing, and current official requirements.
  • First published.