Skip to content
Eden Engine

Google Keyword Metrics History by Month (US English)

omnial/google-keyword-monthly-metrics-history-us-english

Given a list of keywords, returns for each one a month-by-month history of its Google keyword metrics in the United States in English, newest first. Each monthly snapshot has the average search volume and when it was updated, ad competition (as a 0 to 1 figure and as a level), average cost per click, the top-of-page ad bid range, the searches in each of the 12 months up to and including it, and the volume change over the last month, quarter and year.

activeper resultv1

Price

Up to $0.0164 base + $0.000164 per result; you pay what the call used

The price shown is the price you pay. No monthly minimum. Top-ups start at $5.

Data source

Google search ranking index

Data from an index of Google search rankings, with keyword search volume and ad metrics.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/google-keyword-monthly-metrics-history-us-english" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/google-keyword-monthly-metrics-history-us-english" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/google-keyword-monthly-metrics-history-us-english", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/google-keyword-monthly-metrics-history-us-english", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Base price
Charged once per request
$0.0164
Per result
Charged for every result returned
$0.000164
Updated
Oct 15, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "keywords",
    "location_code",
    "language_code"
  ],
  "properties": {
    "keywords": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[^,]*$",
        "maxLength": 80,
        "minLength": 1
      },
      "maxItems": 700,
      "minItems": 1,
      "description": "The keywords to look up, each up to 80 characters. Maximum 700 items. An item cannot contain a comma."
    },
    "language_code": {
      "enum": [
        "en"
      ],
      "type": "string",
      "description": "The search language; only \"en\" (English) is offered."
    },
    "location_code": {
      "enum": [
        2840
      ],
      "type": "integer",
      "description": "The search market; only 2840 (the United States) is offered."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "history": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "year": {
                        "type": "number",
                        "description": "The snapshot's year."
                      },
                      "month": {
                        "type": "number",
                        "description": "The snapshot's month (1 to 12)."
                      },
                      "keyword_info": {
                        "type": "object",
                        "properties": {
                          "cpc": {
                            "type": "number",
                            "description": "Average cost per click in ads (USD)."
                          },
                          "competition": {
                            "type": "number",
                            "description": "Ad competition, from 0 to 1."
                          },
                          "search_volume": {
                            "type": "number",
                            "description": "Average monthly searches over the past 12 months."
                          },
                          "monthly_searches": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "year": {
                                  "type": "number"
                                },
                                "month": {
                                  "type": "number"
                                },
                                "search_volume": {
                                  "type": "number"
                                }
                              }
                            },
                            "description": "Searches in each of the 12 months, newest first."
                          },
                          "competition_level": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Ad competition as a level (LOW, MEDIUM or HIGH); null in some older snapshots."
                          },
                          "last_updated_time": {
                            "type": "string",
                            "description": "When the snapshot's figures were updated (UTC)."
                          },
                          "low_top_of_page_bid": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Low end of the top-of-page ad bid range (USD); null in some older snapshots."
                          },
                          "search_volume_trend": {
                            "type": "object",
                            "properties": {
                              "yearly": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "monthly": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "quarterly": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              }
                            },
                            "description": "Search volume change, in percent."
                          },
                          "high_top_of_page_bid": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "High end of the top-of-page ad bid range (USD); null in some older snapshots."
                          }
                        },
                        "description": "The keyword's metrics as of that month."
                      }
                    }
                  },
                  "description": "One snapshot per month, newest first."
                },
                "keyword": {
                  "type": "string",
                  "description": "The keyword."
                }
              }
            },
            "description": "One entry per keyword."
          },
          "items_count": {
            "type": "number",
            "description": "The number of entries in items."
          }
        }
      },
      "description": "One result for the call."
    }
  },
  "description": "The call's result, wrapped as results."
}