Keyword Search Volume API: Bulk Google Volume & CPC · Apify
Keyword Search Volume: Bulk Google Volume & CPC avatar

Keyword Search Volume: Bulk Google Volume & CPC

Pricing

from $2.25 / 1,000 keyword results

Go to Apify Store
Keyword Search Volume: Bulk Google Volume & CPC

Keyword Search Volume: Bulk Google Volume & CPC

Bulk keyword search volume checker: Google search volume, CPC, competition, top-of-page bids and a 12-month trend for up to 10,000 keywords per run, by country and language. Keyword Planner data without a Google Ads account. $3 per 1,000 keywords with data.

Pricing

from $2.25 / 1,000 keyword results

Rating

0.0

(0)

Developer

SteadyScrape

SteadyScrape

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

4

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

🔎 Keyword Search Volume: Bulk Google Volume & CPC

Who it's for: SEOs, PPC marketers, content teams and AI agents who need Google search volume for a keyword list without a Google Ads account.

What you get: Monthly search volume, CPC, competition, top-of-page bids and a 12-month trend per keyword, for any country and language, up to 10,000 keywords per run.

Price: $3 per 1,000 keywords with data ($0.003 each) plus a $0.12 lookup fee per run when fresh data is fetched. Keywords with no data are free.

Get Google search volume, CPC, competition, top-of-page bids and a 12-month trend for up to 10,000 keywords per run, for any country and language. It's Keyword Planner data without a Google Ads account, and you get clean JSON that's ready for spreadsheets, SEO tools and AI agents. It costs $3 per 1,000 keywords with data ($0.003 each) plus a $0.12 lookup fee per run when fresh data is fetched; keywords without data are free.

Built and maintained by SteadyScrape (steady-scrape). See all our Actors.

  • 📊 Keyword Planner metrics: average monthly searches, CPC, competition (LOW/MEDIUM/HIGH plus a 0-100 index), and low/high top-of-page bids
  • 📈 12-month trend: searches for each month, oldest first
  • 🌍 190+ countries, 50+ languages: pass names ("Germany", "German"), ISO codes ("DE", "de") or Google Ads location codes (2276)
  • ⚡ Fast by default: results in seconds. Keywords looked up in the last 30 days come back instantly from a cache
  • 🧹 Clean input: lowercases, trims and dedupes keywords. Keywords Google Ads rejects are flagged invalid and never charged
  • 💸 You pay only for keywords that return data: no_data, invalid and error rows are free

Use cases

  • Content planning: score a list of article ideas by monthly searches and trend before you write them.
  • PPC budgeting: get CPC, competition and top-of-page bids for a new campaign's keyword list without opening Google Ads.
  • Client reports and SEO tools: refresh volumes for thousands of tracked keywords once a month on a schedule and push them to a sheet or database.
  • Market and product research: compare demand for product names, features or locations across countries with the 12-month trend.
  • AI agents: let an agent check "how many people search for this?" mid-task through the API or MCP and get a structured answer.

Quick start

{
"keywords": ["keyword research", "seo tools", "best running shoes"],
"location": "United States",
"language": "English"
}

Sample output

A real excerpt from one of our own runs on Oct 26, 2026 (20 keywords, United States, English). Selected fields only; each row in your dataset has more.

keywordstatussearchVolumecpccompetitioncompetitionIndex
keyword researchok135,00016.68LOW0
best running shoesok60,5001.16HIGH100
email marketing softwareok135,00083.18LOW2
crm for small businessok4,40051.28LOW22
website builderok201,00029.40LOW16
backlink checkerno_data

Rows with status: "no_data" (like backlink checker here) are not charged.

Output

One item per keyword, in the same order as your input:

FieldExampleNotes
keywordbest running shoesNormalized keyword
inputKeywordBest Running Shoes!As you typed it
statusokok, no_data, invalid or error
searchVolume201000Average monthly searches (last 12 months)
monthlySearches[{"month": "2025-10", "searchVolume": 165000}, …]Last 12 months
cpc1.42USD
competition / competitionIndexHIGH / 100Paid-search competition
lowTopOfPageBid / highTopOfPageBid0.61 / 2.07USD
keywordDifficulty / searchIntent71 / commercialOnly when the data comes from the keyword database (auto and labs modes)
spellCorrectionnullThe spelling Google Ads used, when it corrected the keyword
location, locationCode, language, languageCodeUnited States, 2840, English, en
dataDate2026-09Latest month in the data
sourcelivelive (fetched this run) or cache (looked up in the last 30 days)
dataSourcegoogle_adsgoogle_ads (Keyword Planner) or dataforseo_labs (keyword database built from Google Ads data)
fetchedAt2026-10-26T22:11:36ZWhen the data was fetched

The run summary (counts, cached vs fresh, and the mode used) is saved in the key-value store as OUTPUT.

Modes

ModeSpeedData sourceBest for
auto (default)secondsDataForSEO Labs keyword database, then Google Ads live for anything missingMost lists: fast and complete
live~7 s per 1,000 keywordsGoogle Ads Keyword Planner (live)When you want every number straight from Keyword Planner
labssecondsDataForSEO Labs keyword database onlyAdds keyword difficulty and search intent; keywords not in the database come back as no_data
queue1-3 hoursGoogle Ads Keyword Planner (standard queue)Very large lists (5,000+ keywords) where waiting is fine

All modes return the same fields. Keyword Planner numbers only change once a month, so keywords looked up in the last 30 days for the same country and language can come back instantly from a cache.

AI search volume (optional)

Turn on Include AI search volume ("includeAiVolume": true) to see how often people ask AI assistants (ChatGPT, Gemini and similar) about each keyword, next to its Google volume. Each row gets aiSearchVolume (monthly average), aiMonthlySearches (last 12 months), aiDataDate and aiStatus. It costs $0.005 per keyword with an AI value; keywords without one are free. Available in 94 countries in their main languages (for example the US in English or Spanish, Germany in German), not for worldwide. AI answers are cached for 30 days like the rest; when AI data is fetched fresh, the run pays the $0.12 lookup once (also if the Google numbers came from the cache).

Example: 500 keywords with Google + AI volume: 500 × ($0.003 + $0.005) + $0.12 = $4.12.

Pricing

Pay per event, no subscription:

EventPriceWhen
Lookup$0.12 per runOnce per run, only when fresh data is requested from the provider. Runs answered fully from the cache don't pay it
Keyword result$0.003 per keyword ($3 per 1,000)Per keyword that returns a search volume
AI search volume (optional)$0.005 per keywordOnly with includeAiVolume, per keyword that has an AI value
Actor start$0.00005Apify's standard start fee

Keywords without data are free: no_data, invalid and error rows are never charged as keyword results. The lookup is charged only when at least one freshly fetched keyword returns data, so a run where every fresh keyword comes back without data doesn't pay the lookup fee. To keep this free, keywords that came back without data in the last 30 days aren't looked up again, obvious junk such as long random strings is flagged invalid, and each Apify account has a daily limit on fresh lookups that return no data (it resets at 00:00 UTC); keywords over the limit come back as free error rows to retry the next day.

Examples: 20 keywords = $0.18, 100 keywords = $0.42, 1,000 keywords = $3.12 (if every keyword has data).

Worked example: a monthly refresh of 500 tracked keywords costs 500 × $0.003 + $0.12 = $1.62 per run. If you rerun the same list within 30 days (same country and language), the answers come from the cache: you still pay $0.003 per keyword with data, but not the $0.12 lookup.

Set Max cost per run in the run options to cap spending. The Actor only processes as many keywords as your limit covers.

The default maximum charge per run is $2.00, about 10–20 typical runs. Raise it in the run options if you need a larger job.

Run time and cost examples

Costs use the current list prices on the Apify Free plan, including Apify's $0.00005 start event. Run times are from our own test runs in October 2026 at the default memory; yours depend on the input.

RunRun time (our tests)Cost (Free plan)
Up to 20 keywords (fresh lookup)about 2 to 8 secondsabout $0.18
100 keywords (fresh lookup)not measured yetabout $0.42
1,000 keywords (fresh lookup)not measured yetabout $3.12
500 keywords rerun within 30 days (from cache)not measured yetabout $1.50

Price per keyword with data: $0.003 on the Apify Free plan, $0.0027 on Starter (Bronze), $0.0024 on Scale (Silver), $0.00225 on Business (Gold) and above. The discount is applied automatically. The $0.12 lookup fee is the same on every plan.

How it compares

OptionGood forTrade-offs
This ActorBulk lookups by API, pay per keyword, no Google Ads accountMonthly averages only (Keyword Planner data doesn't change more often)
Google Keyword Planner in the Google Ads UIFree, the original sourceNeeds a Google Ads account; accounts with little ad spend often see volume ranges instead of exact numbers; manual export
An SEO suite subscriptionMany tools in one place, keyword difficulty, SERP dataA monthly plan; bulk exports and API access often cost extra
A keyword data API directlyFull control over endpointsIts own account, billing and integration code

Data source

Data comes from DataForSEO, from its Google Ads Keyword Planner API and its DataForSEO Labs keyword database. DataForSEO's site says its customers may show its data in tools they sell to their own users. This Actor is built by SteadyScrape and isn't affiliated with Google or DataForSEO.

Limits & notes

  • Each keyword can have at most 80 characters and 10 words. Characters Google Ads rejects are removed when Clean up keywords is on.
  • Google Ads groups close variants, so for example running shoe and running shoes can show the same volume.
  • Very low-volume keywords may return no_data.
  • Worldwide (no location) is only available in live and queue modes.
  • Up to 1,000 keywords per run by default (Max keywords per run, up to 10,000). Very large fresh lists may be asked to split into smaller runs.

Integrations

  • Schedule: save your input as a task and add a schedule (hourly, daily, weekly) in Apify Console.
  • API: start runs and read the keyword rows with the Apify API or the official Python and JavaScript clients (apify-client). POST https://api.apify.com/v2/acts/steady-scrape~keyword-search-volume/run-sync-get-dataset-items runs the Actor and returns the dataset in one request (JSON, CSV or Excel).
  • Make, Zapier and n8n: use Apify's apps for Make and Zapier, or the Apify node for n8n, to start this Actor and send the keyword rows to Google Sheets, Slack, a CRM or a database without code.
  • Webhooks: call your own URL when a run succeeds or fails.
  • AI agents (MCP): the Apify MCP server exposes this Actor as a tool to Claude, Cursor and other MCP clients, so an agent can run it and read structured output. The input and output fields are documented for that.

Use it from an AI agent (Apify MCP)

Give Claude, Cursor, VS Code or any other MCP client this Actor as a tool through the Apify MCP server. Add this to your client's MCP config; you sign in to Apify with OAuth on first connect:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=steady-scrape/keyword-search-volume"
}
}
}

Clients without OAuth can send an Authorization: Bearer <APIFY_TOKEN> header instead. Then ask, for example: "Get the US monthly search volume and CPC for these 50 keywords and sort them by volume." The agent starts a normal run, so the prices above and your maximum charge per run still apply.

FAQ

What is AI search volume? An estimate of monthly prompts mentioning the keyword in AI assistants, from DataForSEO's AI keyword data. Use it to spot topics people research in AI tools, not to replace Google volume.

Is this the same number Keyword Planner shows? In live and queue modes it comes from the Google Ads Keyword Planner API. In auto and labs modes it can come from a keyword database built from Google Ads data; dataSource on each row tells you which.

Why do running shoe and running shoes have the same volume? Google Ads groups close variants and returns one volume for the group.

Why is a keyword no_data? Its volume is too low for Google Ads to report, or (in labs mode) it isn't in the keyword database. no_data rows are free.

How fresh is the data? Keyword Planner volumes update monthly. dataDate shows the latest month and source says whether it was fetched live or from the 30-day cache.

Can I cap spend? Yes. Set Max cost per run in the run options; the Actor processes only as many keywords as the limit covers.

How can I get keyword search volume without a Google Ads account? Run this Actor with your keyword list, country and language. It returns monthly volume, CPC, competition and a 12-month trend per keyword, with no Google Ads account or spend needed.

What's the cheapest way to check search volume for thousands of keywords? Put them all in one run: the $0.12 lookup fee is charged once per run, so 1,000 keywords cost $3.12 and keywords without data are free.

Can I get search volume for a specific country or language? Yes. Set location and language, for example United Kingdom and English.

Does it give keyword difficulty? No. It returns Keyword Planner data: volume, CPC, competition, top-of-page bids and the monthly trend.

More from SteadyScrape

See every SteadyScrape (steady-scrape) Actor on our Apify profile.

Need something else?

Open an issue in the Issues tab. SteadyScrape usually replies within a day.

Acceptable use

You may not use results from this service to build or operate a search engine, or any product or service that competes with or harms the business of search engine providers.

— SteadyScrape