Bulk Google search volume, CPC and difficulty by keyword
seranking.google.keywords.volumeGoogle volume, CPC, difficulty, competition and intent for up to 5,000 keywords
- Price
- $0.00179/resultAt provider cost
- Success rate
- 99.9%Last 30 days · 6,350 calls
- Latency p50
- 1.8 sp95 2.9 s
- Last verified
- Jul 31, 2026Verified working
POSThttps://toolswitch.dev/v1/tools/seranking.google.keywords.volume?source=usPreviewTry onlineComing soonProvider docs ↗
- Uses platform quota
- Synchronous response
- Reads public data
Parameters
note the split: `source` rides in the QUERY STRING while the keyword list rides in the JSON body. Returns volume, cpc, difficulty, competition, intents and history_trend per keyword.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| Query parameters | ||||
source | string | Required | regional database code — selects which country's index answers | us |
- Query parameters
sourcestringRequiredregional database code — selects which country's index answers
Example:
us
Code samples
Replace $TOOLSWITCH_KEY with the key you created in the console.
Preview
curl -X POST 'https://toolswitch.dev/v1/tools/seranking.google.keywords.volume?source=us' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '{"keywords":["seo platform"]}'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/seranking.google.keywords.volume?source=us",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("{\"keywords\":[\"seo platform\"]}"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/seranking.google.keywords.volume?source=us", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("{\"keywords\":[\"seo platform\"]}")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());This gateway API is in preview; its URL and authentication may change. The example parameters are sample data. Calls are billed at $0.00179/result, including the service fee.