How to search tweets by date on X (Twitter)

Last updated October 1, 2026

Short answer: type your search followed by since:YYYY-MM-DD until:YYYY-MM-DD into the X search bar, for example from:nasa since:2026-01-01 until:2026-02-01, then open the Latest tab. since: includes its date and until: stops just before its date. If you'd rather fill in a form, use X's Advanced Search or our free Twitter advanced search builder.

This guide covers the exact syntax, how to narrow a date search to one account, how to add filters for likes, media and language, and why some posts don't show up.

How do since: and until: work?

X search has a small set of date operators. You type them into the normal search bar, with or without other words. Dates are written as year, month and day separated by hyphens.

OperatorWhat it doesExample
since:Posts on or after this date (the date is included).since:2026-01-01
until:Posts before this date (the date is not included).until:2026-02-01
since_time:Posts on or after a Unix timestamp, in seconds.since_time:1767225600
until_time:Posts before a Unix timestamp, in seconds.until_time:1767229200
within_time:Posts from the last few days, hours or minutes.within_time:2d
since_id:Posts newer than a given post ID.since_id:1234567890
max_id:Posts at or older than a given post ID.max_id:1234567890

The one rule that trips people up: until: is exclusive. A search for since:2026-01-01 until:2026-01-31 misses everything posted on January 31. Write until:2026-02-01 to cover the whole month.

X doesn't document which time zone the dates use. Community testing generally finds they are UTC days, so a post you made late in the evening in New York can land on the next day. When the boundary matters, use since_time: and until_time: with Unix seconds. Some people also use the longer form since:2026-01-01_09:00:00_UTC, but Unix seconds are the most predictable.

How do I search tweets from one specific day?

Set since: to the day you want and until: to the day after. These all work in the X search bar:

eclipse since:2024-04-08 until:2024-04-09
"world cup" since:2022-12-18 until:2022-12-19
#SuperBowl since:2026-02-08 until:2026-02-09 lang:en

For a single hour or a few minutes, switch to timestamps. A Unix timestamp is the number of seconds since January 1, 1970 (UTC). For example, 1767225600 is midnight UTC on January 1, 2026, so since_time:1767225600 until_time:1767229200 covers the first hour of 2026.

How do I find someone's tweets from a certain date?

Add from:and the username (without the @) to your date range. This is the fastest way to answer “what did this account post that week?”

from:nasa since:2026-01-01 until:2026-02-01
from:nasa since:2026-01-01 until:2026-02-01 -filter:replies
to:nasa since:2026-01-01 until:2026-01-08
@nasa since:2026-01-01 until:2026-01-08

The first line returns everything the account posted in January. The second hides its replies so you only see its own posts. to: finds replies sent to the account, and @username finds any post that mentions it. Protected accounts only show up if you follow them. If an account has changed its username, search with the current one.

Looking for posts from years ago? See our guide on how to search old tweets, which also covers downloading your own archive.

How do I combine a date range with other filters?

Date operators combine with every other X search operator. Put them in any order, separated by spaces. The most useful ones:

FilterOperatorExample
Minimum likesmin_faves:min_faves:500
Minimum repostsmin_retweets:min_retweets:100
Minimum repliesmin_replies:min_replies:20
Has photos or videofilter:mediaalso filter:images, filter:videos
Has a linkfilter:linksfilter:links
No replies-filter:replies-filter:replies
Languagelang:lang:en
Exact phrase"...""rate cut"
Either wordORbitcoin OR btc
Exclude a word-wordapple -fruit
Include repostsinclude:nativeretweetsreposts are left out by default

Some combined examples:

from:nasa since:2026-01-01 until:2026-02-01 filter:media
bitcoin since:2026-01-01 until:2026-01-08 min_faves:1000 lang:en
"product launch" since:2026-03-01 until:2026-04-01 filter:videos -filter:replies

Typing these by hand gets fiddly. Our free Twitter advanced search toolbuilds the query from a simple form, so you don't have to remember the syntax.

X has its own form for this. It's available on x.com in a browser when you're logged in. X says it can search posts from any date since the first public post.

  1. Log in at x.com and search for anything.
  2. On the results page, click Advanced search under Search filters (or open x.com/search-advanced directly).
  3. Fill in the words, accounts and engagement fields you need.
  4. Under Dates, choose a From date, a To date, or both.
  5. Click Search, then switch to the Latest tab.

The form simply writes operators into the search box for you, so you can see and edit the since: and until:it created. The X mobile apps don't have the form. On iOS or Android, type the operators straight into the search bar.

Why should I use the Latest tab?

X search opens on Top, which shows a selection of posts ranked by engagement. For a date search that usually means a handful of popular posts and lots missing. Latest shows every matching post, newest first. If you share a search link, adding &f=live to the URL opens it on Latest.

Why are some tweets missing from my date search?

A post can be real and still not show up in search. Common reasons:

ReasonWhat to try
You're on the Top tabSwitch to Latest.
It's a repostAdd include:nativeretweets, or use filter:nativeretweets to see only reposts.
The account is protectedOnly followers can find its posts.
The post was deletedIt's gone from search. See how to see deleted tweets.
The account is search bannedCheck it with the free shadowban checker.
Sensitive content is hiddenTurn off the hide-sensitive-content option in your search settings.
The date boundary is offMove until: one day later, or use Unix timestamps.

If you have a post's link but not its date, the post ID (the long number at the end of the link) gives it away. Since late 2010, X post IDs encode the moment they were created: shift the ID right by 22 bits and add 1288834974657 to get the time in milliseconds since 1970 (UTC). You can also use post IDs as search boundaries with since_id: and max_id:. If an account changed its username, its numeric user ID stays the same; look it up with our free Twitter ID finder. To read a long thread you found in a date search on one page, open it in the thread reader.

Do it from code

The same operators work through the twitr.sh x_search tool, with no X account, API key or signup. Send the query as a flat JSON body:

curl -X POST https://twitr.sh/api/tools/x_search \
  -H 'content-type: application/json' \
  -d '{"q":"from:nasa since:2026-01-01 until:2026-02-01","queryType":"Latest","resultsLimit":20}'

# → HTTP 402 Payment Required with the exact price
#   ($0.0012 per returned tweet, so about $0.024 for 20)
# → pay with any x402 or MPP wallet and send the same request again
# → 200 with the posts

resultsLimit caps what you can be billed. Agents in Claude Code, Cursor or any MCP client can call the same search as the x_searchtool. To pull an account's recent posts in order, use x_timeline. See all tools and pricing.

FAQ

How do I search tweets by date on X?

Type your keywords followed by since:YYYY-MM-DD and until:YYYY-MM-DD into the X search bar, for example: climate since:2026-01-01 until:2026-02-01. Press Enter, then open the Latest tab to see every matching post in time order instead of a ranked selection.

Is the until: date included in the results?

No. since: includes the date you give it, but until: stops just before its date. To include all of January 31, write until:2026-02-01. To search a single day, set until: to the day after since:, like since:2026-03-14 until:2026-03-15.

How do I find tweets from a specific person on a specific date?

Combine from: with a date range: from:nasa since:2026-03-14 until:2026-03-15. Use the username without the @. This only works for public accounts, or protected accounts you follow.

Can I search tweets by exact time, not just by day?

Yes. since_time: and until_time: take a Unix timestamp in seconds, for example since_time:1767225600 until_time:1767229200 for one hour. Many people also use the format since:2026-01-01_09:00:00_UTC, but Unix seconds are the most predictable.

What time zone does X use for since: and until:?

X doesn't document it. Community testing generally finds that the dates are read as UTC days. If the exact boundary matters, for example around midnight in your time zone, use since_time: and until_time: with Unix seconds instead.

Can I search tweets by date on the X mobile app?

Yes, but not with a form. The Advanced Search form is on x.com in a browser. In the iOS or Android app, type the operators (since:, until:, from:) straight into the search bar. They work the same way.

Why does my date search show so few results?

You are probably on the Top tab, which shows a ranked selection. Switch to Latest. Results also leave out deleted posts, protected accounts you don't follow, suspended accounts, reposts (unless you add include:nativeretweets) and accounts that X filters from search.

How far back can I search tweets by date?

X says its search covers posts from any date since the first public post in 2006. Very old results can still be incomplete, so if something is missing, narrow the range or add a keyword from the post.

Can I find the most popular tweets from a date?

Yes. Add an engagement filter such as min_faves:1000 (at least 1,000 likes) or min_retweets:500 to your date range. For example: bitcoin since:2026-01-01 until:2026-01-08 min_faves:1000.

Do I need an account to search tweets by date?

On x.com, yes: X's search and Advanced Search work only when you're logged in. To run date searches from code without an X account, the twitr.sh x_search tool takes the same operators and is paid per call.

How do I search tweets by date with an API?

POST the query to https://twitr.sh/api/tools/x_search with a JSON body like {"q":"from:nasa since:2026-01-01 until:2026-02-01","queryType":"Latest","resultsLimit":20}. The first response is HTTP 402 with the exact price; pay it with an x402 or MPP wallet and send the request again to get the posts.