Search Freshness Filters: How to Get Time-Specific SERP Data
Why Freshness Matters in Search Data
Not all search data is created equal. When you search for "inflation rate" or "AI funding news," the relevance of results is directly tied to how recently they were published. A result from six months ago might be factually outdated, while a result from today carries current data.
Search engines recognize this. Google, DuckDuckGo, and Yahoo all offer time-based filters that let users restrict results to content published within a specific window — past 24 hours, past week, past month, or past year. These filters are the "Tools" menu options you see on Google, and they fundamentally change which results appear.
For developers building products that rely on search data, freshness filtering is not a nice-to-have — it is essential. Without it, your rank tracker is comparing today's positions against a mix of current and stale content. Your news monitor is surfacing articles from last month alongside breaking stories. Your trend analysis is polluted with evergreen content that obscures actual temporal patterns.
Serpent API supports freshness filtering across all search engines and endpoints, giving you precise control over the time window of your search results.
Understanding Freshness Parameters
Serpent API uses a single freshness parameter that works consistently across all supported engines. The parameter accepts four values:
| Parameter Value | Time Window | Equivalent Google Filter | Best For |
|---|---|---|---|
d |
Past 24 hours | Past 24 hours | Breaking news, real-time alerts |
w |
Past 7 days | Past week | Weekly trend reports, recent coverage |
m |
Past 30 days | Past month | Monthly monitoring, content audits |
y |
Past 365 days | Past year | Annual analysis, long-term tracking |
When no freshness parameter is provided, search engines return their default results — a mix of recent and historically relevant content, ranked by their standard algorithms.
Engine-by-Engine Support
DuckDuckGo
DuckDuckGo supports all four freshness values (d, w, m, y) for web search. The filtering is applied server-side through DuckDuckGo's native date filtering, so results accurately reflect the specified time window. DDG freshness filtering works with both the standard web search and news search endpoints.
Google's freshness filtering is the most robust. It leverages Google's index timestamps, which are typically very accurate. Google also applies freshness signals to its ranking algorithm, so time-filtered results are not just filtered by date — they are re-ranked based on recency relevance. Freshness filters work with Google Web, News, and Image search endpoints.
Yahoo / Bing
Yahoo (which is also aliased as Bing in Serpent API) supports freshness filtering for web search. The time filtering uses Yahoo's native date range parameters, providing accurate results within the specified window. Yahoo freshness filters work with web, news, and image search endpoints.
One of the key advantages of using Serpent API's freshness parameter is that the same value (d, w, m, y) works identically across all engines. You do not need to learn different parameter names or formats for each search engine.
Code Examples
Basic Freshness Filter (Python)
import requests
API_KEY = "your_api_key"
# Get results from the past 24 hours only
response = requests.get("https://apiserpent.com/api/search", params={
"q": "OpenAI funding announcement",
"engine": "google",
"freshness": "d", # Past 24 hours
"num": 10,
"apiKey": API_KEY
})
data = response.json()
for result in data["results"]["organic"]:
print(f"{result['position']}. {result['title']}")
print(f" {result['url']}")
print()
Freshness Filter with News Endpoint (Node.js)
const axios = require('axios');
async function getRecentNews(query, timeWindow = 'w') {
const { data } = await axios.get('https://apiserpent.com/api/news', {
params: {
q: query,
engine: 'ddg',
freshness: timeWindow, // 'd', 'w', 'm', or 'y'
apiKey: 'your_api_key'
}
});
console.log(`Found ${data.results.length} news articles from past ${timeWindow}`);
data.results.forEach(article => {
console.log(`- ${article.title}`);
console.log(` ${article.source} | ${article.date}`);
console.log(` ${article.url}\n`);
});
return data;
}
// Get news from the past week
getRecentNews('artificial intelligence regulation', 'w');
Comparing Results Across Time Windows (Python)
import requests
API_KEY = "your_api_key"
QUERY = "best CRM software"
# Fetch results for each time window
for freshness in ['d', 'w', 'm', 'y', None]:
params = {
"q": QUERY,
"engine": "ddg",
"num": 10,
"apiKey": API_KEY
}
if freshness:
params["freshness"] = freshness
response = requests.get("https://apiserpent.com/api/search", params=params)
data = response.json()
count = len(data["results"]["organic"])
label = freshness if freshness else "all time"
print(f"Freshness={label}: {count} results")
# Compare which domains appear in each time window
domains = [r['url'].split('/')[2] for r in data["results"]["organic"]]
print(f" Top domains: {', '.join(domains[:5])}")
print()
Use Case: Real-Time News Monitoring
One of the most valuable applications of freshness filtering is automated news monitoring. Instead of manually checking news sites, you can set up a scheduled job that queries Serpent API every hour with freshness=d to catch breaking stories as they appear in search results.
How It Works
- Define your keywords — Create a list of brand names, competitor names, industry terms, or topics you want to monitor.
- Schedule hourly queries — Use a cron job, cloud function, or task scheduler to run searches with
freshness=dat regular intervals. - Deduplicate results — Store seen URLs in a database and only surface new results that were not in the previous check.
- Alert on matches — Send notifications (Slack, email, webhook) when new results appear for critical keywords.
This approach works particularly well with the /api/news endpoint combined with freshness=d. Google News RSS results are especially fast and cost-effective at just $0.03 per 1,000 queries (Scale tier), making high-frequency monitoring affordable.
Practical Example: Brand Monitoring
A SaaS company monitoring mentions of their brand name can run a query every 30 minutes for "CompanyName" -site:companyname.com with freshness=d. This surfaces any new web pages or news articles mentioning the brand within the last 24 hours, excluding the company's own website. At Google News RSS pricing, running this query 48 times per day costs less than $0.01 per day.
Use Case: Trend Tracking Over Time
Freshness filters become powerful analytical tools when you compare results across different time windows. By running the same query with freshness=d, freshness=w, freshness=m, and no freshness filter, you can observe how search results evolve over time.
What You Can Measure
- New entrants: Which domains appear in the daily results but not in the monthly results? These are newly published pages gaining traction.
- Content velocity: How many new results appear each day for a given keyword? High velocity indicates a trending topic.
- Ranking stability: Do the same pages dominate across all time windows, or do positions shift dramatically between daily and monthly views?
- Seasonal patterns: By tracking daily results over weeks, you can identify recurring patterns in search result composition.
Building a Trend Dashboard
A practical trend tracking setup involves running the same set of queries daily with freshness=d and storing the results in a database. Over time, this creates a time-series dataset showing which URLs, domains, and content types appear in search results and when. This data powers dashboards that reveal content trends, competitor publishing patterns, and topic lifecycle stages.
Use Case: Content Freshness Auditing
Search engines increasingly favor fresh content for certain types of queries. A content freshness audit helps you understand whether your pages are competing against recently published content or older, established pages.
The Audit Process
- Identify your target keywords — Pull a list of keywords your site ranks for (or wants to rank for).
- Run searches with and without freshness filters — For each keyword, compare the default results with
freshness=mresults. - Analyze the overlap — If many pages from the past month appear in the default results, freshness is a strong ranking signal for that query. Your content needs regular updates to compete.
- Prioritize content updates — Focus your content refresh efforts on keywords where freshness matters most.
This audit is especially important for industries with rapidly changing information: technology, finance, healthcare, legal, and news. Keywords in these verticals often show significant differences between filtered and unfiltered results, indicating that Google is actively prioritizing fresh content.
Best Practices and Tips
Choosing the Right Time Window
- Use
d(daily) for breaking news, real-time monitoring, and time-sensitive queries. Be aware that daily results may return fewer results for niche topics. - Use
w(weekly) for most monitoring use cases. It provides a good balance between freshness and result volume. - Use
m(monthly) for content audits, competitive analysis, and trend reports. Monthly results give a comprehensive view of recent content without being too narrow. - Use
y(yearly) for long-term analysis and historical comparisons. Useful for annual industry reports and long-cycle trend tracking.
Combining Freshness with Other Parameters
Freshness filters work alongside all other Serpent API parameters. Combine them with:
- Country targeting —
country=us&freshness=dfor US-specific daily results - Pagination —
freshness=w&num=50to get up to 50 results from the past week - Engine selection — Compare
engine=google&freshness=dvsengine=ddg&freshness=dto see how different engines handle time-filtered results - Safe search —
safe=true&freshness=dfor filtered daily results
Handling Low Result Counts
Narrow freshness windows (especially d) may return fewer results for niche queries. This is expected — if only 3 new pages were published about your topic in the last 24 hours, you will get 3 results. Plan for this in your application logic:
- Fall back to a wider time window if the narrow one returns too few results
- Display a clear "no recent results" message rather than showing an empty state
- Use the result count itself as a signal — a sudden spike in daily results indicates a trending topic
Getting Started
Freshness filtering is available on all Serpent API plans, including the 100 free searches for new accounts. To start using freshness filters:
- Sign up at apiserpent.com and get your API key
- Add the
freshnessparameter to any search request - Choose your time window (
d,w,m, ory) - Parse the structured JSON response — the format is identical regardless of freshness filter
For a broader overview of all Serpent API parameters and endpoints, see our API documentation. If you are building a news monitoring tool specifically, our News API for Developers guide covers the news endpoint in detail.
Try Serpent API Free
100 free searches included. No credit card required. Test freshness filters across Google, DuckDuckGo, and Yahoo.
Get Your Free API KeyExplore: SERP API · Google Search API · Pricing · Try in Playground