Keyword Search Volume Checker
Pricing
from $6.00 / 1,000 keyword with search volumes
Keyword Search Volume Checker
[from $8/1K keywords] Bulk keyword search volume checker for Google: monthly search volume, CPC, competition, top-of-page bids, keyword difficulty, search intent, 12-month history and trend. Keyword ideas mode. No run fee; keywords without data are free. Export, run via API or use with AI agents.
Pricing
from $6.00 / 1,000 keyword with search volumes
Rating
0.0
(0)
Developer
BlueskyScraper
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
17 hours ago
Last modified
Share
What is Keyword Search Volume Checker?
Keyword Search Volume Checker is a bulk keyword search volume API for Google. Paste a list of keywords, pick a country and a language, and get one row per keyword with monthly search volume, CPC, Google Ads competition, top-of-page bids, keyword difficulty, search intent, the last 12 months of searches and a computed 3-month and 12-month trend. It is a Google Keyword Planner alternative that needs no Google Ads account, no API key and no login.
One row is one keyword. The numbers are aggregated from Google Ads Keyword Planner and clickstream data via a licensed data provider, for 94 countries. A second mode, Keyword ideas, turns a seed keyword into longer phrases that contain it, sorted by search volume, with the same metrics.
- π° From about $0.008 per keyword with data on paid plans ($0.012 on the Apify Free plan) β no start fee, no monthly subscription
- π Keywords without data are free β they stay in the table with
hasData: false, so your list is complete - π 12-month history and computed trend on every row:
change3mPct,change12mPct,trend,peakMonth - π¦ Bulk: up to 10,000 keywords per run, sent in batches of 700
- π€ Works from the Apify API, MCP server (Claude, ChatGPT, Cursor), n8n, Make and Zapier
What data can Keyword Search Volume Checker extract?
| Field | Example | What it means |
|---|---|---|
π keyword | running shoes | The keyword (lowercase) |
π searchVolume | 301000 | Average monthly Google searches over the last 12 months |
π΅ cpc | 1.09 | Average cost per click in USD (Google Ads) |
βοΈ competition | HIGH | Google Ads competition: LOW, MEDIUM or HIGH |
competitionIndex | 100 | Google Ads competition index, 0β100 |
lowTopOfPageBid | 0.47 | Low range of the top-of-page bid, USD |
highTopOfPageBid | 2.17 | High range of the top-of-page bid, USD |
π§ keywordDifficulty | 43 | SEO difficulty 0β100: how hard it is to reach the organic top 10 |
π― searchIntent | transactional | Main intent: informational, navigational, commercial or transactional |
secondaryIntents | ["transactional"] | Other intents the keyword also carries |
π
monthlySearches | [{"year":2026,"month":8,"searchVolume":301000}, β¦] | Last 12 months, newest first |
π change3mPct | 22.4 | Computed: latest month vs 3 months earlier, % |
change12mPct | -45.3 | Computed: latest month vs the first month of the 12-month window, % |
yearOverYearPct | -45 | The provider's year-over-year trend, % |
trend | falling | Computed: rising (β₯ +10%), falling (β€ β10%) or stable over 12 months |
peakMonth | 2025-09 | Computed: the month with the most searches |
hasData | true | false = no data for this keyword (free row) |
seedKeyword | trail running shoes | Keyword ideas mode: the seed the idea came from |
location, locationCode | United States, 2840 | Country |
language, languageCode | English, en | Language |
dataUpdatedAt | 2026-09-15T04:30:26.000Z | When the provider last refreshed this keyword |
scrapedAt | 2026-10-01T13:38:12.000Z | When the row was made |
The computed fields (change3mPct, change12mPct, trend, peakMonth) are calculated by the Actor from the 12 monthly values, so you can sort a list by momentum or seasonality without a spreadsheet formula.
π° How much does it cost to check keyword search volume?
Keyword Search Volume Checker uses pay-per-event pricing. You pay only for keyword rows that have data:
| Event | Free plan | Starter (Bronze) | Scale (Silver) | Business (Gold) | What you get |
|---|---|---|---|---|---|
keyword | $0.012 | $0.0080025 | $0.0069975 | $0.006 | One keyword row with search volume and metrics β in either mode |
Platinum and Diamond plans pay the Business price.
- No start fee and no charge per run.
- Keywords without data are free. If the database has no search volume for a keyword, it appears with
hasData: falseand is not charged. Switch on Skip keywords without data to leave them out. - Error rows are free (a keyword that is too long, an unsupported country).
- Starter plan: $1 β 125 keywords, 1,000 keywords β $8.00. On Scale 1,000 keywords cost about $7.00, on Business and above $6.00, on the Free plan $12.
- Apify's free plan includes $5 of monthly credit, which covers about 400 keywords a month.
- Keywords dropped by Minimum search volume are not charged.
The default run (5 running-shoes keywords, United States, English) costs about $0.04 on the Starter plan ($0.06 on the Free plan) and finishes in about 5 seconds.
How to check keyword search volume in bulk
- Open Keyword Search Volume Checker in Apify Console and sign in (a free account works).
- Paste your keywords into π Keywords, one per line β or upload a list through the API.
- Type the π Country (
United States,US,Germany,DEβ¦) and π£οΈ Language (English,enβ¦). - Keep Mode on Search volume for my keywords, or choose Keyword ideas from seed keywords.
- Click Start. A few hundred keywords take seconds.
- Download the table as CSV, Excel, JSON or HTML, or open the Monthly searches tab for one row per keyword and month.
β¬οΈ Input
Search volume for your keywords (default)
{"keywords": ["running shoes", "trail running shoes", "best running shoes", "running shoes women", "nike running shoes"],"location": "United States","language": "English"}
| Field | Type | Description |
|---|---|---|
π keywords | array | Keywords, one per item. Up to 10,000 per run; each up to 80 characters and 10 words. |
π location | string | Country name or two-letter code. 94 countries; an unsupported one returns a free error row with the full list. |
π£οΈ language | string | Language name or code. Must be available for the country (United States: English or Spanish). Empty = the country's main language. |
mode | string | metrics (default) or ideas. |
π― maxIdeasPerSeed | integer | Ideas mode: ideas per seed, highest volume first (1β1,000, default 50). |
minSearchVolume | integer | Optional: drop keywords below this monthly volume (not charged). |
skipKeywordsWithoutData | boolean | Leave out keywords with no data instead of returning free rows. |
maxKeywords | integer | Safety cap per run (default 1,000, max 10,000). |
Keyword ideas from seed keywords
{"mode": "ideas","keywords": ["trail running shoes"],"location": "United States","language": "English","maxIdeasPerSeed": 10}
For each seed, the Actor returns longer phrases that contain the seed's words β best trail running shoes, salomon trail running shoes, hoka trail running shoes β sorted by search volume, with the same metrics. Most close word-order variants are collapsed, the seed itself is left out (check it in the default mode), and an idea found for two seeds appears once.
β¬οΈ Output
Each keyword is one flat row. Real output for running shoes, United States, English (checked 1 October 2026):
{"type": "keyword","keyword": "running shoes","hasData": true,"searchVolume": 301000,"cpc": 1.09,"competition": "HIGH","competitionIndex": 100,"lowTopOfPageBid": 0.47,"highTopOfPageBid": 2.17,"keywordDifficulty": 43,"searchIntent": "transactional","secondaryIntents": null,"change3mPct": 22.4,"change12mPct": -45.3,"yearOverYearPct": -45,"trend": "falling","peakMonth": "2025-09","monthlySearches": [{ "year": 2026, "month": 8, "searchVolume": 301000 },{ "year": 2026, "month": 7, "searchVolume": 246000 },{ "year": 2026, "month": 6, "searchVolume": 201000 }],"seedKeyword": null,"location": "United States","locationCode": 2840,"language": "English","languageCode": "en","dataUpdatedAt": "2026-09-15T04:30:26.000Z","scrapedAt": "2026-10-01T13:38:12.000Z"}
(monthlySearches is shortened here; every row with data carries 12 months.)
The dataset has five tabs:
- Keyword metrics β volume, CPC, competition, difficulty, intent and trend for each keyword
- Google Ads (CPC & bids) β CPC, competition index and the top-of-page bid range for PPC planning
- Monthly searches β one row per keyword and month, ready for a chart or a pivot table
- Keyword ideas β seed, idea and its metrics (ideas mode)
- All fields β everything
A keyword without data
{ "type": "keyword", "keyword": "zzqx blorptangle shoes", "hasData": false, "searchVolume": null, "cpc": null, "location": "United States", "language": "English" }
Free. It means nobody searches for the phrase often enough to be in the keyword database for that country and language.
Use cases for keyword search volume data
SEO keyword research
Check the volume and keyword difficulty of every phrase in a content plan, then sort by volume Γ· difficulty to find the easy wins. searchIntent separates blog topics (informational) from landing-page topics (transactional, commercial).
PPC and Google Ads planning
The Google Ads tab gives CPC, competition and the top-of-page bid range for each keyword β the numbers Keyword Planner shows, without opening a Google Ads account.
Trend and seasonality checks
monthlySearches, change3mPct, change12mPct and peakMonth show which topics are growing, which are fading, and when demand peaks β useful for timing a campaign or a product launch.
Bulk validation of keyword lists
Got 5,000 keywords from an autocomplete scraper, a competitor export or a brainstorm? Run them all at once and keep only those with real demand. Pair it with our Keyword Suggestions Scraper: it collects long-tail phrases from 10 search engines' autocomplete, and this Actor adds the search volume.
AI agents and LLM workflows
An agent writing an article or planning ads can call the Actor through the Apify MCP server, pass a list of candidate keywords and pick the ones with demand β one flat row per keyword, field names that explain themselves.
Integrations
Apify API (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('lergassy/keyword-search-volume-checker').call({keywords: ['running shoes', 'trail running shoes'],location: 'United States',language: 'English',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((r) => [r.keyword, r.searchVolume, r.cpc]));
Apify API (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("lergassy/keyword-search-volume-checker").call(run_input={"keywords": ["running shoes", "trail running shoes"],"location": "US","language": "en",})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["keyword"], row["searchVolume"], row["keywordDifficulty"])
One HTTP call
POST https://api.apify.com/v2/acts/lergassy~keyword-search-volume-checker/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN with the input JSON as the body returns the rows directly.
No-code tools
Use the Apify integrations for n8n, Make, Zapier, Google Sheets, Airtable or a webhook after each run. A scheduled run with the same keyword list gives you a monthly volume tracker.
MCP server
Connect https://mcp.apify.com to Claude, ChatGPT, Cursor or any MCP client and ask for lergassy/keyword-search-volume-checker. The agent sees the input fields and gets one flat row per keyword back.
π€ For AI Agents & LLM Apps
Compact reference for agents calling lergassy/keyword-search-volume-checker through the Apify MCP server or API.
Purpose: one row per keyword with Google search demand and advertising cost for a country and language: is this phrase searched, how much, how competitive, which intent, rising or falling.
Minimal input:
{ "keywords": ["keyword one", "keyword two"], "location": "US", "language": "en" }
Output: type, keyword, hasData, searchVolume, cpc, competition, competitionIndex, lowTopOfPageBid, highTopOfPageBid, keywordDifficulty, searchIntent, secondaryIntents, change3mPct, change12mPct, yearOverYearPct, trend, peakMonth, monthlySearches (array of year, month, searchVolume), seedKeyword, location, locationCode, language, languageCode, dataUpdatedAt, scrapedAt. Error rows: type = error, input, error.
Behaviors an agent should know:
searchVolumeis a 12-month average, rounded the way Google Ads rounds it;monthlySearchesholds the 12 months, newest first.hasData: falsemeans the phrase is not in the keyword database for that country and language β treat it as near-zero demand, not as an error. It is not billed.- Close variants (word order, plurals, "best" vs "good") often share identical Google Ads numbers.
- Use
minSearchVolumeto filter on the server instead of post-filtering; dropped rows are not billed. - Billing:
keywordevent per row with data, in both modes. No start fee. - Location and language are required together; the country must support the language (United States: en, es).
Error items / Troubleshooting
Error rows look like { "type": "error", "input": "Narnia", "error": "Unknown or unsupported location β¦. Not charged.", "scrapedAt": "β¦" } and are always free. They appear when:
- the country is not one of the 94 supported (the message lists them all);
- the language is not available for the country (the message lists the ones that are);
- a keyword is longer than 80 characters, has more than 10 words, or has no letters or digits.
If a large run contains mostly phrases with no data, the Actor stops early with one error row and keeps every row it already returned β check that the keywords match the chosen country and language.
β FAQ
How accurate is the search volume?
The numbers come from the same family of data Google Keyword Planner shows: monthly averages, rounded into Google's buckets (9,900, 12,100, 14,800β¦). They are estimates of demand, not exact counts. Use them to compare keywords and spot trends.
What is the difference between this and Google Keyword Planner?
Keyword Planner needs a Google Ads account, shows ranges unless you run ads, and exports one list at a time. This Actor returns 12 monthly figures, keyword difficulty and intent for up to 10,000 keywords per run, through an API.
How is keyword difficulty calculated?
keywordDifficulty (0β100) is the data provider's estimate of how hard it is to rank in Google's organic top 10, based on the strength of the pages already ranking.
Why do some keywords return no data?
Very rare phrases, misspellings and brand-new terms are not in the keyword database for that country. They come back as free rows with hasData: false.
Can I check search volume for any country?
94 countries are supported, including the United States, United Kingdom, Germany, France, Spain, Italy, India, Indonesia, Brazil, Mexico, Japan, Australia and Canada. Worldwide totals and cities are not available.
How much does it cost to check 1,000 keywords?
About $8.00 on the Starter plan ($0.0080025 per keyword with data), about $7.00 on Scale and $6.00 on Business and above; $12 on the Free plan. Keywords without data, filtered keywords and error rows are free. There is no start fee.
Are repeated checks of the same list cheaper?
Identical requests within 7 days may be answered from a cache (keyword volumes are monthly figures, so they do not change within a week). The price per row is the same; the run is faster.
Is it legal to use keyword search volume data?
The Actor returns aggregated, anonymous statistics about search demand β no personal data. Using such statistics for SEO and advertising research is common practice. If you have doubts about your specific use, consult a lawyer.
Can I use Keyword Search Volume Checker with the Apify API?
Yes. Every run can be started, scheduled and read through the Apify API, with the JavaScript and Python clients above or a single HTTP call.
Can I use it through an MCP server?
Yes. Add the Apify MCP server (https://mcp.apify.com) to Claude, ChatGPT, Cursor or another MCP client; the Actor is available as a tool with its input schema.
Can I integrate it with other apps?
Yes β n8n, Make, Zapier, Google Sheets, Airtable, Slack and webhooks through Apify integrations.
Do I get one row per keyword?
Yes. Every keyword you send is one row (with data or a free hasData: false row). The Monthly searches tab unwinds the 12 months into separate rows when you need them.
Your feedback
Found a keyword that looks wrong, or need a field we do not return yet? Open an issue in the Issues tab β we answer quickly and ship fixes fast. A review helps other users find the Actor.
You might also like
| Actor | What it does |
|---|---|
| Keyword Suggestions Scraper | Long-tail keyword ideas from Google, YouTube, Amazon, Bing, eBay, TikTok and more autocomplete β then check their volume here |
| Google Trends Scraper | Interest over time, by region and related queries from Google Trends |
| Google Ads Transparency Scraper | Every ad an advertiser runs on Google: format, first and last shown, previews |
| Domain Intelligence Scraper | WHOIS, DNS records, SSL certificate, technology stack and subdomains for any domain |
| Website Tech Gap Scanner | Technology stack of any website and the tools it is missing: booking, live chat, CRM, analytics, ad pixels |