Twitter Recent Search API: The 7-Day Limit Explained
The X API's recent search endpoint, GET /2/tweets/search/recent, returns only posts from the last 7 days; any start_time earlier than that is outside its range.

The X API’s recent search endpoint, GET /2/tweets/search/recent, returns only posts from the last 7 days; any start_time earlier than that is outside its range. To reach older posts, use the full-archive endpoint, GET /2/tweets/search/all, which goes back to March 2006 on pay-per-use and Enterprise access, or a scraper that searches X’s web history.
The two endpoints are compared in the Twitter search API guide. This page covers the 7-day window, what to do about it, and what each option costs.
What Is the X API Recent Search Limit?
Recent search covers the last 7 days, returns up to 100 posts per request, and accepts queries of up to 512 characters (4,096 on Enterprise). It’s available to all developers, which is why most first projects hit the 7-day wall (X API docs).
| Point | Recent search | Full-archive search |
|---|---|---|
| Endpoint | /2/tweets/search/recent |
/2/tweets/search/all |
| Time range | Last 7 days | Back to March 2006 |
| Posts per request | Up to 100 | Up to 500 |
| Query length | 512 characters | 1,024 characters |
| Access | All developers | Pay-per-use and Enterprise |
Why Does Recent Search Return Nothing for Older Dates?
Recent search returns nothing older than 7 days because the endpoint only indexes that window; setting start_time or since_id further back doesn’t extend it. If your query mentions an older event, the endpoint can only find posts about it from the past week (X API docs).
How Do You Get Tweets Older Than 7 Days?
You get tweets older than 7 days through full-archive search, through your own account’s owned reads, or through a scraper that searches X’s web history. Listed below are the 3 options.
- Full-archive search. Call
/2/tweets/search/allwithstart_timeandend_time; without them it returns only the last 30 days (X API quickstart). - Owned reads. Your own account’s posts are billed at $0.001 each as owned reads (X API pricing).
- A scraper. apidojo’s Tweet Scraper V2 searches the same history as X web search with
since:anduntil:, at $0.40 per 1,000 tweets.
Code for options 1 and 3 is in how to get historical tweets with an API.
What Does It Cost to Go Beyond 7 Days?
Full-archive search costs the same $0.005 per post as recent search; the difference is access level, not price per post. Pay-per-use plans cap post reads at 3 million per monthly billing cycle (X API pricing).
| Posts | X API (recent or full archive) | Tweet Scraper V2 |
|---|---|---|
| 10,000 | $50 | $4 |
| 100,000 | $500 | $40 |
| 1,000,000 | $5,000 | $400 |
Size a job first with the counts endpoint, billed at $0.010 per request rather than per post (X API pricing).
When Is the 7-Day Window Enough?
The 7-day window is enough for live monitoring, alerts and dashboards that look at the current week. Poll recent search on a schedule, keep the newest post ID, and pass it as since_id on the next call so you only pay for new posts. The scheduling pattern is in how to monitor a keyword on X with an API.
Questions people ask
Is the 7-day limit 7 calendar days?
It is a rolling window of the last 7 days from the time of your request.
Does the 7-day limit apply to X web search?
No, X web search reaches back to 2006 when you're logged in (X Help Center).
Which option should you choose?
Compare them in X API vs Twitter scraper API, or start at the apidojo Twitter Scraper.