# Google Trends Interest Over Time (Keyword)

> Google Trends Interest Over Time (Keyword) is a paid API for AI agents from keywords.duoleads.com, paid per call via x402, $0.045/call, status unknown (last checked 2026-10-18).

Returns a dated 0-100 Google Trends interest-over-time series for a single keyword, by country or worldwide, across selectable time windows from 7 days to 5 years.

## Facts

- Endpoint: GET https://keywords.duoleads.com/v1/trend?utm_source=zero.xyz
- Price: $0.045/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/google-trends-interest-over-time-keyword-8bac83ae
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cj3KZfObGTg9qzW1q1yPZ

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability google-trends-interest-over-time-keyword-8bac83ae
```

Example prompt: Can you pull the Google Trends interest-over-time data for 'electric bikes' in the US over the past 12 months, so I can see whether demand is growing or seasonal?

## When to prefer this

Choose this endpoint when you need a time-indexed interest signal for a single keyword — for seasonality analysis, demand direction, or trend monitoring. It is ideal when you want the raw dated series (daily or weekly) to plot or analyze over time, rather than a point-in-time volume number. Prefer the search-volume endpoint instead when you need absolute monthly search volume, CPC, or keyword difficulty. Use this alongside the related-queries or by-region endpoints for fuller keyword intelligence.

## Known failure modes

- Bad or unrecognized keyword input returns a free (uncharged) error response
- Upstream DataForSEO/Google Trends errors are charged but may return empty or partial series
- Invalid country code (not ISO 3166-1 alpha-2) causes a validation error
- Keyword shorter than 2 or longer than 100 characters is rejected
- Live call latency can reach ~30 seconds; timeouts may occur in constrained environments
- The most recent data point may be marked 'partial: true' as the period is incomplete

## How this service works

Search volume, CPC, competition, keyword difficulty, intent, keyword ideas and Google Trends, paid per call over x402 (USDC on Base). No account, no API key.

## Output

A JSON object containing: a time-series array of {date, value} points where value is Google's relative interest index (0–100, with 100 = peak of the period); market metadata (country code, location name, location code); granularity (daily or weekly depending on window); the source (Google Trends via DataForSEO); a 'see_also' hint pointing to the related-queries endpoint; and request metadata (queried_at, dataAsOf, request_id).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "keyword"
     ],
     "properties": {
      "country": {
       "type": "string",
       "pattern": "^[A-Za-z]{2}$",
       "description": "ISO 3166-1 alpha-2 country code (us, gb, de, ...; uk = gb). Omit for worldwide."
      },
      "keyword": {
       "type": "string",
       "maxLength": 100,
       "minLength": 2,
       "description": "One keyword or phrase (2-100 characters, no commas)."
      },
      "timeframe": {
       "enum": [
        "past_7_days",
        "past_30_days",
        "past_90_days",
        "past_12_months",
        "past_5_years"
       ],
       "type": "string",
       "default": "past_12_months",
       "description": "Time window. Default past_12_months."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "units": "value: Google Trends interest, 0-100 relative to the peak of the period (100 = peak, 0 = too little data); partial: the period is not complete yet",
  "market": {
   "country": "US",
   "locationCode": 2840,
   "locationName": "United States"
  },
  "series": [
   {
    "date": "2025-10-05",
    "value": 62
   },
   {
    "date": "2025-10-12",
    "value": 45
   },
   {
    "date": "2025-10-19",
    "value": 41
   },
   {
    "date": "2026-10-11",
    "value": 11,
    "partial": true
   }
  ],
  "source": "Google Trends (via DataForSEO)",
  "country": "US",
  "keyword": "seo tools",
  "dataAsOf": "2026-10-11T19:24:11Z",
  "see_also": {
   "params": [
    "keyword",
    "country",
    "timeframe"
   ],
   "reason": "Want the top and rising searches related to this keyword? Call related-queries with the same parameters.",
   "endpoint": "https://keywords.duoleads.com/v1/related-queries"
  },
  "timeframe": "past_12_months",
  "queried_at": "2026-10-11T19:24:11Z",
  "request_id": "01KEXAMPLE0000000000000000",
  "granularity": "week"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/google-trends-interest-over-time-keyword-8bac83ae/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from keywords.duoleads.com](https://www.zero.xyz/host/keywords.duoleads.com/llms.txt)
