Skip to content

What replaced the Twitter academic API

Nothing official replaced it: X closed the free Academic Research track in 2023 and offers no academic tier today, so researchers pay the standard $0.005 per post unless an EU study qualifies under the Digital Services Act.

Short answer: From January 2021 to spring 2023 the track gave approved researchers free full-archive search and 10 million posts a month. The official X API now bills $5.00 per 1,000 posts, capped at 3M a month. For a study's corpus, use Sorsa API: full-archive search from $0.07 per 1,000 tweets, academic access on top, and 100 free requests.

Endpoint
POST /search-tweets
Page size
about 20 tweets per request
Price
from $0.07 per 1,000

#What replaced the Twitter Academic Research API

No program replaced the Twitter Academic Research API. In September 2026 an X developer-relations engineer put it plainly on the official forum: "There is no separate academic / free research tier today" (opens in a new tab), and pay-per-use is the self-serve path for students and faculty alike.

The track itself opened on January 26, 2021. Approved academics got full-archive search back to 2006, 10 million posts a month and 1,024-character queries, at no cost. It was the data source behind thousands of papers and tools such as academictwitteR and twarc.

The end came in two steps. In February 2023 Twitter announced that free API access would stop. On March 30, 2023 it launched paid tiers (opens in a new tab), retired the old access levels "over the next 30 days" and told academics it was "looking at new ways to continue serving this community". No new program followed, and academic keys stopped working by mid-2023. A survey of 167 researchers (opens in a new tab) published that December counted more than 100 projects canceled, halted or moved to other platforms.

The gap between then and now is easiest to see side by side.

What a researcher gotAcademic Research track, 2021–2023Official X API, November 2026
Price per 1,000 postsFree$5.00, or $15.00 with each post's author from November 22
Monthly ceiling10M posts3M post reads, then Enterprise from about $42K a month
ArchiveBack to 2006Back to 2006
Who could use itApproved academic researchersAnyone with a developer account and prepaid credits
  • Price per 1,000 posts

    Academic Research track, 2021–2023
    Free
    Official X API, November 2026
    $5.00, or $15.00 with each post's author from November 22
  • Monthly ceiling

    Academic Research track, 2021–2023
    10M posts
    Official X API, November 2026
    3M post reads, then Enterprise from about $42K a month
  • Archive

    Academic Research track, 2021–2023
    Back to 2006
    Official X API, November 2026
    Back to 2006
  • Who could use it

    Academic Research track, 2021–2023
    Approved academic researchers
    Official X API, November 2026
    Anyone with a developer account and prepaid credits

The X forum gives every new question about academic access the same reply: enroll in the standard pay-per-use API, or apply under Article 40 of the EU's Digital Services Act if the study qualifies.

#Three routes to X data for research in 2026

A researcher has three working routes to X data in 2026: the official X API at standard prices, EU researcher access for studies of systemic risks in the EU, and Sorsa API, a Twitter (X) API and scraper with academic access for non-commercial studies.

Official X API Pay-per-use Who Anyone with a developer account and credits Price $5.00 per 1,000 posts From Nov 22, with authors $15.00 per 1,000 posts Ceiling 3M posts a month EU researcher access DSA Article 40 Who Researchers studying systemic risks in the EU How EU Data Access Portal, open since Oct 29, 2025 Non-public data Vetted status from a national coordinator Sorsa API Academic access Who Non-commercial research in any discipline Price from $0.07 per 1,000 tweets Academic access Granted requests or a deep discount Archive and speed Back to 2006, 20 requests a second
Only the EU route is reserved for researchers, and only for studies of systemic risks in the EU. Sorsa API's academic access covers any discipline.

The official X API, pay-per-use

The official X API sells posts at $0.005 each and profiles at $0.010 (opens in a new tab), from prepaid credits, and its full-archive search reaches back to 2006. You need an approved developer account, a project, an app and its keys. Pay-per-use stops at 3 million post reads a month; past that, only an Enterprise contract.

Two details hit research budgets hardest. From November 22, 2026, authors and other expanded objects are billed (opens in a new tab) like direct reads, so a post with its author's profile costs $0.015. And X issues no letters for ethics boards (opens in a new tab): institutions rely on the public terms and proof of a paid tier.

EU researcher access under the Digital Services Act

Article 40 of the Digital Services Act obliges very large platforms, X included, to give data to researchers whose work studies systemic risks in the EU. Article 40(12) covers publicly accessible data, for researchers at universities and not-for-profit bodies that meet its conditions. Article 40(4) covers non-public data for "vetted researchers", approved by a national Digital Services Coordinator through the EU Data Access Portal (opens in a new tab), open since October 29, 2025.

The route is real but narrow. A thesis on, say, oil prices or brand sentiment doesn't qualify, and on X's forum a PhD student whose request was declined reported getting no feedback at all.

Sorsa API with academic access

Sorsa API gives researchers the same archive through one API key: search with X's operators back to 2006, posts by ID 100 at a time, timelines, replies, quotes and follower lists, with no developer account. Every tweet arrives with its author's full profile at no extra cost, and every key runs at 20 requests per second.

For non-commercial research in any discipline, Sorsa API adds academic access, shaped around the study: requests granted to your project or a deep discount on a plan. PhD and Master's students, postdocs, faculty, research staff and NGO or newsroom researchers apply from an institutional email, and a person on the team reads every application.

#How to collect a study corpus with Sorsa API

A study corpus is the set of posts your analysis runs on: here, every English post about a heat wave in July 2022. Collecting it takes a key, one test request and a short script that keeps a record of what it did.

  1. Get your API key. Sign up with your institutional email: the account starts with 100 free requests, no card needed, and the key works on every endpoint.

  2. Test your date range. Send one search with the since: and until: operators and look at what comes back before you plan the full collection.

    Terminal
    curl -X POST "https://api.sorsa.io/v3/search-tweets" \
      -H "ApiKey: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"query": "\"heat wave\" lang:en since:2022-07-01 until:2022-08-01",
           "order": "latest"}'
    
    Response200 OK
    {
      "tweets": [
        {
          "id": "1549368207425953792",
          "full_text": "Third day above 40C. Cooling centers open until 10 pm.",
          "created_at": "2022-07-19T12:41:07Z",
          "lang": "en",
          "likes_count": 212,
          "retweet_count": 64,
          "reply_count": 18,
          "quote_count": 5,
          "view_count": 48210,
          "conversation_id_str": "1549368207425953792",
          "is_reply": false,
          "user": {
            "id": "1203345678901234567",
            "username": "heatwave_watch_desk",
            "display_name": "Heat Watch Desk",
            "followers_count": 15420,
            "created_at": "2019-12-07T09:15:00Z",
            "location": "London",
            "verified": false
          }
        }
      ],
      "next_cursor": "DAACCgACGW5vTq3AJxAKAAMZbm9Ord-x8AgABAAAAAIA"
    }
    
  3. Collect every page and log the run. The POST /search-tweets (opens in a new tab) endpoint returns about 20 posts per page and a next_cursor for the next one; the script follows it until it comes back empty and writes a manifest beside the data.

    collect_study.py
    import json, time, requests
    from datetime import datetime, timezone
    
    URL = "https://api.sorsa.io/v3/search-tweets"
    KEY = "YOUR_API_KEY"
    QUERY = '"heat wave" lang:en since:2022-07-01 until:2022-08-01'
    
    manifest = {
        "provider": "Sorsa API (https://api.sorsa.io)",
        "endpoint": "POST /v3/search-tweets",
        "query": QUERY,
        "order": "latest",
        "collected_at": datetime.now(timezone.utc).isoformat(),
    }
    ids, cursor = [], None
    with open("posts.ndjson", "w", encoding="utf-8") as out:
        while True:
            body = {"query": QUERY, "order": "latest"}
            if cursor:
                body["next_cursor"] = cursor
            r = requests.post(URL, headers={"ApiKey": KEY}, json=body)
            if r.status_code == 429:  # above 20 requests per second
                time.sleep(1)
                continue
            r.raise_for_status()  # 403: missing key or no requests left
            page = r.json()
            for tweet in page.get("tweets", []):
                out.write(json.dumps(tweet, ensure_ascii=False) + "\n")
                ids.append(tweet["id"])
            cursor = page.get("next_cursor")
            if not cursor:
                break
    
    manifest["posts"] = len(ids)
    with open("post_ids.txt", "w") as f:
        f.write("\n".join(ids))
    with open("manifest.json", "w") as f:
        json.dump(manifest, f, indent=2)
    
  4. Apply for academic access before the full run. Send the application on the academic research page with your study's scope while the free requests cover the pilot; the agreed access appears on the same account and key.

    Good to know

    A post collected today carries today's like and view counts and its author's current profile, even if it was written in 2014. Deleted posts and protected accounts are never returned, so a list collected in 2022 comes back smaller now. Write both points into your limitations section.

For years-long collections split by month, the guide to historical Twitter data covers backfill windows. To rebuild a published dataset from its ID list instead, rehydrate tweet IDs through POST /tweet-info-bulk (opens in a new tab), 100 posts per request.

#What a study's tweets cost

A corpus of 1 million tweets from archive search costs from $70 on Sorsa API and $5,000 on the official X API, or $15,000 once authors are billed. Switch the size to see your study.

Corpus size

Official X API

$5,000

for 1M tweets from archive search

$0.005 per post

Sorsa API

from$70

for 1M tweets from archive search

from $0.07 per 1,000

The same budget logic holds for other study designs. Rebuilding a published dataset by post ID costs from $0.014 per 1,000 posts, against $5.00 on the official X API. A follower network costs from $0.007 per 1,000 profiles, against $10.00. Prices quoted with "from" are at the lowest per-request rate; academic access lowers what a study pays further.

Time matters on a thesis schedule too. At 20 requests per second, 1 million tweets from search take about 42 minutes, and 1 million posts by ID about 8 minutes.

#Make your data hold up in review

Reviewers and ethics boards ask the same three things about X data: where it came from, whether someone else can rebuild it, and what it leaves out. A record kept during collection answers all three.

1 Query Words, operators and a date window 2 Collect /search-tweets page by page until the cursor ends 3 Save posts.ndjson post_ids.txt manifest.json 4 Publish Methods paragraph and the post IDs 5 Rebuild /tweet-info-bulk 100 posts a request manifest.json keeps the query, the window, the endpoint and the collection time (UTC).
Keep the query, the window, the collection time and the post IDs, and anyone can rebuild your corpus later.

Fill in your study below to get a data-collection paragraph for the methods section.

Data collection, for your methods section

Posts were collected through Sorsa API (https://api.sorsa.io), an independent API for public X (Twitter) data, using its full-archive search with the query "heat wave" lang:en for posts published from 1 July 2022 to 31 July 2022 (UTC). Collection ran on 2 November 2026. Engagement counts and author profiles are as of that date, and posts deleted or made protected before it were not returned. Post IDs and the collection script are available, so the corpus can be rebuilt.

Keep with your data: the query, the date window, the collection time, the endpoint (POST /v3/search-tweets) and the post ID list.

The paragraph updates as you type; copy it into your methods section and keep the manifest with your data.

Ethics boards usually ask a short list of questions. Sorsa API's answers:

  • What data? Public posts and profiles only: no protected accounts, no direct messages.
  • Any interaction with users? None. Sorsa API is read-only: it never posts, likes, follows or messages.
  • Whose X account is used? None: Sorsa API never asks for your X login.
  • What does the provider keep? Request logs for one year and full responses for 30 days. X never learns who is asking.
  • Paperwork? On request, the team writes a short letter about the data source for your ethics board.

Sharing follows X's Developer Policy (opens in a new tab): publish post IDs and user IDs, not full posts. The policy caps sharing at 1.5 million post IDs per entity every 30 days without X's written permission, and lets academic researchers share IDs for non-commercial research approved by X in writing or for peer review. For datasets built to train models, the guide to a Twitter dataset for machine learning covers the training clause.

#How to choose a Twitter API for academic research

The tests that matter for a study are price per 1,000 posts, what each post carries, archive depth, a monthly ceiling above the corpus, setup a student can finish in a day, speed and an academic offer. Sorsa API meets each with a number, and because it is read-only, no one's X account is ever at risk.

TestSorsa APIOfficial X API
Price per 1,000 tweets, archive searchfrom $0.07$5.00 ($15.00 with authors from November 22)
Price per 1,000 posts by IDfrom $0.014$5.00
Author profile on each postIncludedBilled as a user read from November 22
ArchiveBack to 2006Back to 2006
Monthly ceilingYour plan or agreed academic access3M post reads, then Enterprise
SetupOne API key, no developer accountDeveloper account, project, app, keys
Speed20 requests per second on every planRate limits per endpoint
Academic offerGranted requests or a deep discountNone since 2023
  • Price per 1,000 tweets, archive search

    Sorsa API
    from $0.07
    Official X API
    $5.00 ($15.00 with authors from November 22)
  • Price per 1,000 posts by ID

    Sorsa API
    from $0.014
    Official X API
    $5.00
  • Author profile on each post

    Sorsa API
    Included
    Official X API
    Billed as a user read from November 22
  • Archive

    Sorsa API
    Back to 2006
    Official X API
    Back to 2006
  • Monthly ceiling

    Sorsa API
    Your plan or agreed academic access
    Official X API
    3M post reads, then Enterprise
  • Setup

    Sorsa API
    One API key, no developer account
    Official X API
    Developer account, project, app, keys
  • Speed

    Sorsa API
    20 requests per second on every plan
    Official X API
    Rate limits per endpoint
  • Academic offer

    Sorsa API
    Granted requests or a deep discount
    Official X API
    None since 2023

The first row decides most grant budgets: a 3M-tweet corpus from archive search costs from $210 on Sorsa API and $15,000 on the official X API, before authors are billed.

#Start your study on 100 free requests

X ended free academic access in 2023, and its pay-per-use price of $5.00 per 1,000 posts now applies to every study. For a corpus searched back to 2006 at from $0.07 per 1,000 tweets, use Sorsa API: test your date range on the free requests today, then apply for academic access with your study's scope.

#FAQ

Is the Twitter Academic Research API still available?

No. Twitter retired the Academic Research track in spring 2023, and X confirmed on its developer forum in September 2026 that there is no separate academic or free research tier. Researchers now use the standard pay-per-use X API at $0.005 per post, apply under the EU's Digital Services Act if the study qualifies, or use a third-party API such as Sorsa API.

Is there free Twitter API access for researchers?

Not from X: its API has had no free read tier since 2023, and academics pay the same prices as everyone else. EU researchers studying systemic risks can apply for data under Article 40 of the Digital Services Act. Sorsa API gives every account 100 free requests that never expire, about 2,000 tweets by search, and grants requests to approved non-commercial studies.

Which API should I use for academic research on Twitter?

For most studies, use Sorsa API: full-archive search back to 2006 from $0.07 per 1,000 tweets, posts by ID from $0.014 per 1,000, each with its author's profile, at 20 requests per second with one key. Academic access adds granted requests or a deep discount. The official X API charges $5.00 per 1,000 posts and caps pay-per-use at 3M a month.

Can I cite data from Sorsa API in a paper?

Yes. Name Sorsa API and its URL, the endpoint, the exact query and date window, and the collection date in your methods section, and publish the post IDs with your code so others can rebuild the corpus. A citation line for Sorsa API reads: Scouts Labs Inc, Sorsa API: Twitter (X) API and scraper, https://api.sorsa.io, accessed on your collection date.

Does DSA Article 40 cover researchers outside the EU?

Only for research on systemic risks in the EU. Article 40 of the Digital Services Act ties access to that purpose, not to where the researcher works, and non-public data needs vetted status from an EU Digital Services Coordinator. A study on another topic or region falls outside it and goes through the standard X API or a third-party API.

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
  • First published.