SerpApi's interest-over-time engine returns weekly or daily Google Trends curves through engine=google_trends with data_type=TIMESERIES. Date range, geography, and category filters do not change the credit charge: one successful timeseries call costs one credit from the shared monthly pool. This page covers only that endpoint, including multi-keyword compare math and when related-query pulls add credits.
Historical curves are the default Google Trends deliverable. SerpApi exposes them through engine=google_trends with data_type=TIMESERIES, and every fresh scrape costs one credit from the account's shared monthly pool. Analysts often assume longer date ranges or wider geography cost more. They do not. The bill scales with successful API calls, not with how many weeks the chart contains.
For SerpApi's full Google Trends pricing across autocomplete, Trending Now, and interest over time, see SerpApi Google Trends API pricing. This page stays on interest over time only.
SerpApi scrapes Google's Trends explore page and returns JSON with a interest_over_time block. A typical response includes:
timeline_data: an array of { date, timestamp, values[] } rowsaverages: mean index values when compare mode is activesearch_metadata: query parameters echoed for auditThe request URL shape is:
GET https://serpapi.com/search?engine=google_trends&q=coffee&data_type=TIMESERIES&api_key=YOUR_KEY
Common optional parameters:
| Parameter | Role | Affects credit cost? |
|---|---|---|
q | Keyword, entity ID, or comma-separated compare list (up to five) | No (still one credit per successful call) |
date | Preset (today 12-m) or custom range (2020-01-01 2026-01-01) | No |
geo | Country or region code (US, GB, US-CA) | No |
cat | Google Trends category ID | No |
gprop | Web, images, news, froogle, youtube | No |
hl | UI language | No |
tz | Timezone offset in minutes | No |
no_cache | Force live scrape | No (but disables free cache hits) |
no_cache=true forces a live scrape and always costs one credit. The default allows SerpApi to serve a cached copy when the query and parameters match a request from the past hour. Cached responses are free.
Interest over time draws from the same credit pool as Google Search, Autocomplete, Trending Now, and every other SerpApi engine.
| Plan | Monthly price | Included searches | Cost per fresh TIMESERIES call (if fully used) | Throughput cap |
|---|---|---|---|---|
| Free | $0 | 250 | $0.00 | 50/hour |
| Starter | $25 | 1,000 | $0.025 | 200/hour |
| Developer | $75 | 5,000 | $0.015 | 1,000/hour |
| Production | $150 | 15,000 | $0.010 | 3,000/hour |
| Big Data | $275 | 30,000 | $0.009 | 6,000/hour |
Row count in timeline_data does not change the charge. A five-year weekly series and a seven-day hourly series both cost one credit when the request succeeds.
Google Trends compare mode overlays up to five terms on one chart. SerpApi models that as a single TIMESERIES call when all q values are comma-separated in one request.
| Approach | API calls | Credits |
|---|---|---|
One compare request with q=term1,term2,term3,term4,term5 | 1 | 1 |
| Five separate TIMESERIES calls | 5 | 5 |
The compare path saves four credits per batch. It only works when Google accepts all five terms in one explore session. Blocked or overly broad terms may force separate calls.
A keyword expansion list with one term per call:
| Calls | Credits | Starter plan share of pool |
|---|---|---|
| 100 | 100 | 10% of 1,000 credits |
Add autocomplete resolution for ambiguous brands (see SerpApi Autocomplete API pricing) and the same batch can reach 200 credits.
Changing geo or gprop changes the scraped URL. Each unique parameter combination is a distinct billable call unless cache rules apply.
| Call | Parameters | Credits |
|---|---|---|
| Web search interest | geo=US, default gprop | 1 |
| YouTube property interest | geo=US, gprop=youtube | 1 |
| Total | 2 |
A dashboard that charts ten keywords across web and YouTube for the US market needs twenty TIMESERIES calls unless compare mode groups keywords. That is twenty credits before any related-query or map pulls.
Interest over time is one data_type. SerpApi exposes others on the same engine that each cost a separate credit when successful:
| data_type | Output | Typical use | Credits per call |
|---|---|---|---|
| TIMESERIES | Weekly or daily index curve | Historical demand tracking | 1 |
| GEO_MAP | Subregion breakdown | State or metro share | 1 |
| RELATED_QUERIES | Rising and top related strings | Content gap discovery | 1 |
| RELATED_TOPICS | Entity-level related topics | Category expansion | 1 |
For one resolved keyword, an analyst pulls the curve, a US state map, and related queries:
| Step | data_type | Credits |
|---|---|---|
| Interest over time | TIMESERIES | 1 |
| Regional breakdown | GEO_MAP | 1 |
| Related queries | RELATED_QUERIES | 1 |
| Total | 3 |
Scale that to fifty keywords without cache reuse: 150 credits on TIMESERIES alone, or 450 if every keyword gets the full three-call dossier.
SerpApi passes date through to Google. Common presets:
now 1-H, now 4-H, now 1-d, now 7-d for intraday and recent windowstoday 1-m, today 3-m, today 12-m, today 5-y for rolling periods2022-01-01 2026-01-01 for fixed windowsNone of these alter SerpApi's per-call credit charge. Teams sometimes pull both a five-year and a ninety-day view for the same keyword to compare volatility. That is two credits, not one.
Credit balance is not the only limit. SerpApi enforces requests-per-hour ceilings by plan. A script that fires two hundred fresh TIMESERIES calls in ten minutes will hit the Starter cap (200/hour) even with nine hundred credits remaining. Production jobs need backoff logic or a higher tier.
Trends MCP does not scrape Google Trends UI curves. It returns normalized weekly google search series through one POST body per keyword. Entity-level Google topic IDs are not required in the request.
| Plan | Monthly price | Included requests |
|---|---|---|
| Free | $0 | 100 |
| Starter | $19 | 1,000 |
| Pro | $49 | 5,000 |
| Business | $199 | 25,000 |
Example request:
{
"source": "google search",
"keyword": "cold brew coffee"
}
One keyword equals one request. A separate call with "source": "youtube" and the same keyword costs another request if the workflow needs video search interest alongside web search.
For the fifty-keyword TIMESERIES-only batch, Trends MCP Starter ($19, 1,000 requests) covers fifty lookups with headroom. SerpApi Starter ($25, 1,000 credits) also covers fifty single-keyword TIMESERIES calls. The gap widens when each keyword needs GEO_MAP and RELATED_QUERIES add-ons (150 SerpApi credits vs fifty Trends MCP requests for curves only).
SerpApi TIMESERIES fits pipelines that must mirror Google's explore UI: category filters via cat, property splits via gprop, entity IDs from autocomplete, and related-query tables in the same vendor response shape. Teams already paying SerpApi for Search or Shopping engines can add trend curves without a second vendor contract.
SerpApi TIMESERIES is a poor fit when the research question spans TikTok, Reddit, Amazon, or npm in one normalized JSON contract, when every keyword dossier needs three or more data types per term, or when credit expiry at month-end wastes unused allocation on variable-volume research. In those cases a multi-source API with one request shape often costs less per answered question.
For live breakout queries in the same SerpApi cluster, see SerpApi Trending Now API pricing. For the broader vendor comparison, see the trend data API pricing comparison.
FAQ