Keywords Trends
Keyword Historical Profile Snapshots
Keyword Historical Profile Snapshots. Bounded Google database facts; estimated traffic is not measured visits.
MCP tool name
nexscope_seo_keyword_historyMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "seo-keyword-history-1",
"method": "tools/call",
"params": {
"name": "nexscope_seo_keyword_history",
"arguments": {
"fromMonth": "2026-01",
"keywords": [
" C ",
"d"
],
"toMonth": "2026-03"
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
No arguments are defined for this tool.
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
data | any | required | Data value used by this API operation. |
msg | string | null | required | Msg value used by this API operation. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
traceId | string | null | required | Trace id value used by this API operation. |
ts | string | required | Epoch milliseconds. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data | any | required | Data value used by this API operation. |
One of option 1 — requires callId, status, result
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.callId | string | required | Call id value used by this API operation. |
data.completedAt | string | integer | null | optional | Completed at value used by this API operation. |
data.coverage | object | null | optional | Coverage value used by this API operation. |
data.requestedAt | string | integer | null | optional | Requested at value used by this API operation. |
data.result | any | required | Result value used by this API operation. |
data.schemaVersion | string | optional | Schema version value used by this API operation. |
data.source | string | optional | Source value used by this API operation. |
data.status | string | required | Status value used by this API operation. |
data.usage | object | null | optional | Usage value used by this API operation. |
data.usage.billingStatus | string | null | optional | Billing status value used by this API operation. |
data.usage.chargedCredits | string | integer | null | optional | Charged credits value used by this API operation. |
Any of option 1 — requires keywords, normalizedKeywords, fromMonth, toMonth, market, language, sourceProduct, engine, returnedCount, items, missing, truncated, metricSource, timeGranularity
| Name | Type | Required | Description |
|---|---|---|---|
data.result | object | required | Result value used by this API operation. |
data.result.engine | string | required | Engine value used by this API operation. Constant: google |
data.result.fromMonth | string | required | From month value used by this API operation. |
data.result.items | array | required | Items value used by this API operation. Minimum items: 0 Maximum items: 20 |
data.result.items[] | object | required | Item in data result items. |
data.result.items[].history | array | required | History value used by this API operation. Minimum items: 0 Maximum items: 12 |
data.result.items[].history[] | object | required | Item in data result items[] history. |
data.result.items[].history[].cpcUsd | string | null | required | Cpc usd value used by this API operation. Pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$ |
data.result.items[].history[].metricsUpdatedAt | integer | null | required | Metrics updated at value used by this API operation. Minimum: 0 |
data.result.items[].history[].missing | array | required | Missing value used by this API operation. Minimum items: 0 |
data.result.items[].history[].missing[] | object | required | Item in data result items[] history[] missing. |
data.result.items[].history[].missing[].field | string | required | Field value used by this API operation. |
data.result.items[].history[].missing[].reason | string | required | Reason value used by this API operation. Allowed: UPSTREAM_FIELD_MISSING, UPSTREAM_FIELD_INVALID, DUPLICATE_UPSTREAM_ITEM, UPSTREAM_ITEM_MISSING |
data.result.items[].history[].month | integer | required | Month value used by this API operation. Minimum: 1 Maximum: 12 |
data.result.items[].history[].paidCompetition | number | null | required | Paid competition value used by this API operation. Minimum: 0 Maximum: 1 |
data.result.items[].history[].searchVolume | integer | null | required | Search volume value used by this API operation. Minimum: 0 |
data.result.items[].history[].year | integer | required | Year value used by this API operation. Minimum: 1 |
data.result.items[].keyword | string | required | Keyword value used by this API operation. |
data.result.items[].missing | array | required | Missing value used by this API operation. Minimum items: 0 |
data.result.items[].missing[] | object | required | Item in data result items[] missing. |
data.result.items[].missing[].field | string | required | Field value used by this API operation. |
data.result.items[].missing[].reason | string | required | Reason value used by this API operation. Allowed: UPSTREAM_FIELD_MISSING, UPSTREAM_FIELD_INVALID, DUPLICATE_UPSTREAM_ITEM, UPSTREAM_ITEM_MISSING |
data.result.keywords | array | required | Keywords value used by this API operation. Minimum items: 1 Maximum items: 20 |
data.result.keywords[] | string | required | Item in data result keywords. |
data.result.language | string | required | Language value used by this API operation. Constant: en |
data.result.market | string | required | Market value used by this API operation. Constant: US |
data.result.metricSource | string | required | Metric source value used by this API operation. Constant: google_ads_historical_keyword_profile |
data.result.missing | array | required | Missing value used by this API operation. Minimum items: 0 |
data.result.missing[] | object | required | Item in data result missing. |
data.result.missing[].field | string | required | Field value used by this API operation. |
data.result.missing[].reason | string | required | Reason value used by this API operation. Allowed: UPSTREAM_FIELD_MISSING, UPSTREAM_FIELD_INVALID, DUPLICATE_UPSTREAM_ITEM, UPSTREAM_ITEM_MISSING |
data.result.normalizedKeywords | array | required | Normalized keywords value used by this API operation. Minimum items: 1 Maximum items: 20 |
data.result.normalizedKeywords[] | string | required | Item in data result normalizedKeywords. |
data.result.returnedCount | integer | required | Returned count value used by this API operation. Minimum: 0 |
data.result.sourceProduct | string | required | Source product value used by this API operation. Constant: dataforseo_labs |
data.result.timeGranularity | string | required | Time granularity value used by this API operation. Constant: month |
data.result.toMonth | string | required | To month value used by this API operation. |
data.result.truncated | boolean | required | Truncated value used by this API operation. |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.result | null | required | Result value used by this API operation. |
One of option 2 — requires callId, status, reason, retryable
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.callId | string | null | required | Call id value used by this API operation. |
data.reason | string | required | Reason value used by this API operation. |
data.retryable | boolean | required | Retryable value used by this API operation. |
data.status | string | required | Status value used by this API operation. |
data.taskId | string | null | optional | Task id value used by this API operation. |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
Examples
Example arguments
{
"fromMonth": "2026-01",
"keywords": [
" C ",
"d"
],
"toMonth": "2026-03"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {
"callId": "00000000-0000-4000-8000-000000000001",
"reason": "IN_PROGRESS",
"retryable": false,
"status": "PROCESSING"
},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}