By Sorsa Editorial

Published July 2026. Operator behavior, the search login requirement, and the March 2006 archive start were re-verified July 2026.

Key Takeaway: You search Twitter/X by date using the since: and until: operators in YYYY-MM-DD format, either typed into the search bar or set in the Advanced Search form at x.com/search-advanced. until: is exclusive, dates run in UTC, and the public archive reaches back to March 2006.

Searching by date is the single most useful thing the X search bar can do, and the least obvious. The date fields hide inside a desktop-only Advanced Search form, the operators fail silently on a stray space, and the platform's own feed keeps pushing recent posts in front of the older ones you actually want. This guide covers the three practical routes, the exact operator syntax, and the three date searches people run most: a user's posts inside a window, old posts on a topic, and an account's first tweet.

For anyone pulling date-ranged results at volume rather than one query at a time, Sorsa API, an alternative Twitter/X API provider, runs the same since: and until: operators on its /search-tweets endpoint back to 2006 and exposes dedicated since_date and until_date parameters on /mentions. Every new account gets 100 free requests to test a real date search before paying anything, with no credit card and no OAuth approval queue.

Three ways to search Twitter by date

There are three practical ways to search Twitter by date: the built-in Advanced Search interface, a third-party query builder that generates the operators for you, and an API that runs the search programmatically. All three rely on the same since: and until: date operators underneath. They differ in effort, in whether login is required, and in how much data you can pull.

Pick by what the task needs. For a one-off lookup, type the operators straight into the X search bar or use the Advanced Search form. To avoid memorizing syntax and to run searches without an X login, a browser-based query builder is faster. When the job is a date-bounded pull of hundreds or thousands of posts, a research dataset, a brand's mention history for a quarter, an audit of a competitor's output over a year, an API is the only route that scales and paginates cleanly. The rest of this guide walks each one with real syntax.

The since: and until: operators, explained

The since: and until: operators restrict search results to a date range, written as since:YYYY-MM-DD and until:YYYY-MM-DD. They work in the X search bar, in the Advanced Search form's Dates fields, and inside API queries. Both bound the same range: since: sets the earliest date included, until: sets the cutoff.

The one detail that trips people up: until: is exclusive. until:2026-02-01 returns posts up to and including January 31, not February 1. To include a specific end day, set until: to the day after it. To pull a single calendar day, set since: to that day and until: to the next: since:2026-02-20 until:2026-02-21 returns February 20 only.

Three formatting rules decide whether a date search returns anything at all:

  • Use YYYY-MM-DD, nothing else. since:2024-06-15 works. 06/15/2024, 15-06-2024, and June 15 2024 all fail.
  • No space after the colon. since:2026-01-01 works; since: 2026-01-01 does not.
  • Dates are interpreted in UTC. A post that lands late at night in a western time zone can fall on the next UTC day, which matters at range boundaries.

For minute-level precision, X accepts a timestamp form: since:2026-02-20_14:30:00_UTC. Date operators combine with the rest of the search grammar, so from:username, to:username, exact phrases in quotes, and hashtags all stack with a date range. Date operators are the slice of the grammar this guide focuses on; for engagement filters, media and language operators, and the rest, the full Twitter search operators cheat sheet covers every command that works in 2026.

X Advanced Search is the built-in way to filter by date without typing operators. It lives at x.com/search-advanced (the old twitter.com/search-advanced address redirects there), and its Dates section exposes From and To fields that map directly to since: and until:. The form requires an X account, since the platform has gated search behind a login wall since 2023, and the full form is desktop-only.

To search by date in the form:

  1. Open x.com/search-advanced while signed in, or run any search and pick Advanced search from the three-dot menu.
  2. Add keywords, a hashtag, or an account in the Accounts fields (From these accounts narrows to a single author).
  3. Scroll to Dates and set the From and To range.
  4. Run the search, then switch the results tab from Top to Latest for chronological order.

On mobile, the form does not exist in the app, but the operators do. Type from:elonmusk since:2026-01-01 until:2026-02-01 straight into the app's search bar and it behaves the same as desktop, or open x.com/search-advanced in a mobile browser. Typing operators into the bar is the faster path on any device once the syntax is second nature, and it is the only path on mobile.

Method 2: A query builder that writes the operators for you

A query builder is a form that assembles the since:, until:, from:, and keyword operators from fields you fill in, then runs the search or hands you the finished query string. It removes the two most common failure points, a wrong date format and a space after a colon, and it sidesteps the login wall that blocks the native form for signed-out users.

Sorsa's search query builder tool does exactly this in the browser with no signup: choose an account, a date range, and keywords, and it constructs a valid Advanced Search query you can run or copy. It is the quickest way to get a correct date-ranged query without opening the API or memorizing the grammar, and a natural first stop before scripting anything. For occasional lookups it is often all you need; for repeated or large pulls, Method 3 is the step up.

Method 3: Searching by date through an API

An API runs date searches programmatically and returns structured results you can page through, store, and analyze, which the browser interface cannot do at scale. Two endpoint patterns cover date search: a keyword search that accepts the since: and until: operators in the query string, and a mention search that takes dedicated date parameters.

On Sorsa, the /search-tweets endpoint takes the same operator grammar as the X search bar. Pass the date range inside the query:

bash
curl -X POST https://api.sorsa.io/v3/search-tweets \
  -H "ApiKey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "from:nasa since:2019-07-16 until:2019-07-25", "order": "latest"}'

Each call returns up to 20 posts plus a next_cursor; pass the cursor back to walk the full range. The response carries the complete post object, text, timestamp, engagement counts, and the author profile, in one call. The /search-tweets endpoint reference in the docs for keyword search lists every parameter.

For date-bounded mention tracking, /mentions exposes since_date and until_date (YYYY-MM-DD) alongside engagement floors like min_likes, which is cleaner than folding dates into a query string:

python
import requests

resp = requests.post(
    "https://api.sorsa.io/v3/mentions",
    headers={"ApiKey": "YOUR_API_KEY"},
    json={
        "query": "openai",
        "order": "latest",
        "since_date": "2026-01-01",
        "until_date": "2026-02-01",
        "min_likes": 50,
    },
)

data = resp.json()
for tweet in data["tweets"]:
    print(tweet["created_at"], tweet["full_text"])

cursor = data.get("next_cursor")

The mention-search endpoint documented in the /mentions reference offers the richest filter set of any search endpoint here. Authentication is a single API key in the ApiKey header against the base URL https://api.sorsa.io/v3, with no OAuth handshake. For the full treatment of search endpoints, parameters, and pagination, the developer guide to searching tweets via API goes deeper than this date-focused walkthrough.

A note on cost per data unit, since it varies by which endpoint you use. Search endpoints like /search-tweets return about 20 posts per call, which works out to roughly $0.10 per 1,000 posts on the Pro plan. Batch endpoints such as /tweet-info-bulk return up to 100 posts per call and drop the effective rate to the base of from $0.02 per 1,000 posts. Both draw from the same flat per-request quota: one call is one request regardless of how many items it returns, so a date search that spans many pages is priced by the number of requests, not the number of posts read. Full plan figures sit on the flat per-request pricing page.

Worked examples: user windows, old topics, and first tweets

These three searches account for most date-based lookups. Each works in the search bar, the Advanced Search form, and the API.

A user's posts inside a date window

Combine from: with a range. To find what an account posted in one month:

from:nasa since:2019-07-01 until:2019-08-01

Switch results to Latest for chronological order. Programmatically, the same string goes into the /search-tweets query and you paginate with next_cursor to capture every post in the window rather than the first page the interface shows.

Old posts on a topic

Drop from: and search a keyword or phrase across a range:

"climate summit" since:2021-11-01 until:2021-11-30

Quote exact phrases to avoid loose matches. Widen the window only if the tight one returns too little, since narrow ranges return faster and more completely than multi-year spans.

An account's first tweet

Finding the earliest post is a date search bounded near the join date. Read the join month from the profile (the calendar line, Joined Month Year), then search that month for the account and sort to the bottom:

from:username since:2015-03-01 until:2015-04-01

Switch to Latest and scroll to the oldest result. This matters because the timeline itself only shows an account's most recent 3,200 posts, so for a prolific account you cannot reach the first tweet by scrolling; a date search near the join date jumps straight past that cap. Programmatically, run the same narrow window through /search-tweets and page to the end.

How far back you can search, and why old tweets go missing

The public archive reaches back to March 2006, Twitter's launch, so since: and until: can in principle target any date from then on. In practice, results thin out for very old and low-engagement posts. X's search index does not contain every post ever written, results from 2006 to 2010 are often incomplete, and posts from suspended or later-protected accounts may never surface even when they technically still exist.

Three limits explain most cases of "the post exists but search won't show it":

  • Index gaps. X's search index is incomplete for older content, especially on high-volume accounts. A keyword search for posts from years ago can return errors or nothing.
  • The 3,200-post timeline cap. Scrolling a profile stops at its most recent 3,200 posts, and the same cap applies to the platform's own user-timeline reads. Date operators bypass it; endless scrolling does not.
  • Infinite-scroll failures. Scrolling far back without a date filter tends to stall or throw a "Something went wrong" error. Jumping to a range with since:/until: avoids the scroll entirely.

Deleted posts are gone from search permanently, and protected accounts stay invisible unless you follow them. For your own account, the most complete record is the data archive export (Settings, then Your Account, then Download an archive of your data), which contains every post you have made regardless of the 3,200 cap; the guide to downloading a full user tweet archive compares that route with the alternatives.

Where the native interface falls short, at scale, on old content, or without a login, a data API is the reliable path, because it queries the archive directly and paginates instead of scrolling. The three routes compare like this for date and archive search:

RouteArchive depthDate filteringCost modelSetup
X Advanced SearchBack to 2006, index gaps on old and high-volume accountssince:/until: in form or barFreeX login required, form is desktop-only
Official X API (full-archive)Back to 2006since:/until: on full-archive searchPay per resource, around $0.005 per post read, capped at 2M reads per monthOAuth plus app setup
Sorsa API (flat-rate)Back to 2006since:/until: on /search-tweets, since_date/until_date on /mentionsFlat per request, from $0.02 per 1,000 postsSingle API key, about 3-minute setup

Sorsa's per-1,000 figure reflects its batch base, where one request returns up to 100 posts or 200 profiles; flat plans start at $49 for 10,000 requests. The takeaway: the native form is fine for a single lookup, the official API reaches the archive but bills per resource and caps monthly reads, and a flat-rate provider fits repeated date-ranged pulls at a predictable price. For the per-resource math behind the official option, the 2026 X API pricing breakdown works through it, and the deeper treatment of getting historical Twitter data via API compares every archive route with code.

A small investigative-research team ran into all three native limits at once while reconstructing a public figure's posting history across several years: the timeline capped out, keyword searches returned partial results on the older material, and long scrolls kept failing. Moving the date-windowed pulls onto a flat-rate API, using /search-tweets with narrow since:/until: windows and cursor pagination, gave them complete ranges and cut their data cost by more than 90 percent against the per-resource full-archive route they had priced first. For groups doing this kind of work, an API for academic research offers free or discounted access on the same endpoints.

FAQ

How far back can you search Twitter?

Twitter/X search reaches back to March 2006, the platform's launch, so date operators can target any date from then forward. Coverage is not uniform: the search index is incomplete for very old and low-engagement posts, and results from 2006 to 2010 are frequently partial. Deleted posts never appear, and protected accounts stay hidden unless you follow them.

Does the until: operator include the end date?

No, until: is exclusive. until:2026-02-01 returns posts up to and including January 31, not February 1. To include a specific end day, set until: to the day after it. To pull a single calendar day, set since: to that day and until: to the next, for example since:2026-02-20 until:2026-02-21 for February 20 only.

Why can't you find old tweets on X?

Old posts go missing for several reasons: the search index is incomplete for older or high-volume accounts, a profile timeline stops at its most recent 3,200 posts, and long scrolls without a date filter tend to fail with an error. The fix is date operators. Use since: and until: to jump straight to a range instead of scrolling.

How do you search a specific user's posts by date?

Combine the from: operator with a date range in the search bar or Advanced Search form. For example, from:username since:2025-06-01 until:2025-07-01 returns that account's posts from June 2025. Switch results from Top to Latest for chronological order. This works for any public account; private accounts return results only to their followers.

Can you search Twitter by date without logging in?

X itself requires an account for search and has since 2023, and the Advanced Search form needs a login. Two routes avoid it: a browser-based query builder that runs the date search for you, or a data API authenticated by a key rather than an X account. An API key needs no X login, no OAuth, and returns date-ranged results directly.

Can you search old posts by date at scale?

The native interface handles one query at a time and stalls on large historical scrolls. For volume, a flat-rate data API runs date searches programmatically: Sorsa accepts since: and until: on its /search-tweets endpoint and dedicated since_date and until_date parameters on /mentions, returning date-bounded results with cursor pagination across the full archive.

For a single date lookup, the fastest start is the browser: open Sorsa's browser-based query builder, set an account and a date range, and run it with no signup and no login wall. When the task grows into repeated or large date-bounded pulls, move to the API. A new account includes 100 free requests, one-time, no credit card, valid across all 40 endpoints and never expiring, enough to run a real date search over a full window before choosing a plan. From there, a request is a request whether it returns one post or a full page, and the rate is a flat 20 requests per second on every plan. Point /search-tweets at a range with since: and until:, paginate with next_cursor, and the archive back to 2006 is queryable in a few lines.


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

This guide draws on hands-on operation of the Sorsa API and its live search endpoints, the current API documentation, and the behavior of X Advanced Search as tested in July 2026. Operator syntax was cross-checked against the community-maintained Twitter advanced search operator reference. Three access routes were compared for date and archive search. Volatile facts, the March 2006 archive start, the login requirement for search, the 3,200-post timeline cap, and official X API per-resource pricing, were re-verified on July 11, 2026.