Developer Guide

Search Freshness Filters: How to Get Time-Specific SERP Data

By Serpent API Team · · 9 min read

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

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.

Cross-Engine Consistency

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

  1. Define your keywords — Create a list of brand names, competitor names, industry terms, or topics you want to monitor.
  2. Schedule hourly queries — Use a cron job, cloud function, or task scheduler to run searches with freshness=d at regular intervals.
  3. Deduplicate results — Store seen URLs in a database and only surface new results that were not in the previous check.
  4. 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.

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

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

  1. Identify your target keywords — Pull a list of keywords your site ranks for (or wants to rank for).
  2. Run searches with and without freshness filters — For each keyword, compare the default results with freshness=m results.
  3. 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.
  4. 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

Combining Freshness with Other Parameters

Freshness filters work alongside all other Serpent API parameters. Combine them with:

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:

Getting Started

Freshness filtering is available on all Serpent API plans, including the 100 free searches for new accounts. To start using freshness filters:

  1. Sign up at apiserpent.com and get your API key
  2. Add the freshness parameter to any search request
  3. Choose your time window (d, w, m, or y)
  4. 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 Key

Explore: SERP API · Google Search API · Pricing · Try in Playground