Keyword Search Volume: Bulk Google CPC, Difficulty & Trends
Pricing
from $2.70 / 1,000 keyword with search volumes
Keyword Search Volume: Bulk Google CPC, Difficulty & Trends
Google keyword search volume in bulk from real Keyword Planner data, no Google Ads account needed: monthly volume, up to 8 years of monthly history, trend, CPC, competition, keyword difficulty and intent for 36 countries. Plus keyword suggestions and ideas from seeds. $0.004 per keyword.
Pricing
from $2.70 / 1,000 keyword with search volumes
Rating
0.0
(0)
Developer
DTK Foundry
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Security
Limited permissionsShare
Google search volume for thousands of keywords at once, from real Google Keyword Planner data, with no Google Ads account needed. For each keyword you get:
- average monthly searches, with up to about 8 years of month-by-month history
- the trend over the last month, quarter and year
- CPC and top-of-page bid range
- competition
- keyword difficulty (0-100)
- search intent
Also turns seed keywords into suggestions (phrases that contain the seed) or ideas (related keywords on the same topic), highest volume first. 36 countries.
- The same numbers as Keyword Planner. Tested on 7,667 keywords across 15 countries against live Google Ads lookups: 96.8% were exactly equal, and 99% were within 25% (2026-10-27).
- Reliable and fast. In a 200-lookup test (18,420 keywords), 200 of 200 lookups succeeded. 700 keywords come back in about 6 seconds.
- Bulk. Up to 10,000 keywords per run, sent 700 at a time.
- More than volume. Difficulty, intent and trend come in the same row, so there is no second tool to run.
- Fill the gaps (optional). Long-tail keywords missing from the keyword database can be looked up live in Keyword Planner. In tests this found about half of the missing ones.
- $0.004 per keyword with data, plus $0.02 per run. Keywords without search volume are free.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | metrics | metrics = numbers for your keyword list. suggestions = keywords that contain each seed. ideas = related keywords on the seed's topic. |
keywords | array | [] | Metrics: up to 10,000 keywords. Suggestions and ideas: up to 20 seeds. Empty = a free format example. |
country | string | us | us, gb, ca, au, nz, ie, in, sg, za, de, at, ch, fr, be, nl, es, mx, ar, co, cl, it, pt, br, pl, se, dk, no, fi, jp, kr, tr, id, ph, my, ae, sa. |
language | string | country's main | Second options: us es, ca fr, in hi, sg zh-CN, ch fr/it, be fr/de, id en, ph tl, my ms, ae ar, sa en. |
maxResultsPerSeed | integer | 100 | Suggestions and ideas: how many keywords per seed, highest volume first (up to 1,000). |
groupVariants | boolean | true | Suggestions and ideas: Google gives reordered phrases the same numbers ("shoes running" = "running shoes"). On, each group is one row and the others are listed in variants. The actor reads 3 times maxResultsPerSeed phrases to fill the rows; for very broad seeds ("running shoes" gave 45 groups from 300 phrases) you get fewer rows, never more. |
minVolume | integer | 0 | Leave out keywords with fewer monthly searches. They are not charged. |
historyMonths | integer | 12 | Months of history per keyword, newest first (0-120). Metrics mode has up to about 8 years; suggestions and ideas have 12 months. |
fillGaps | boolean | false | Metrics mode, paid Apify plans: look up keywords the database lacks live in Keyword Planner. |
{"mode": "metrics","keywords": ["standing desk", "running shoes", "crm software"],"country": "us","historyMonths": 12}
{"mode": "suggestions","keywords": ["standing desk"],"maxResultsPerSeed": 200,"minVolume": 100,"country": "gb"}
Output (one record per keyword)
{"status": "ok","keyword": "standing desk","searchVolume": 135000,"cpc": 5.16,"competition": 1,"competitionLevel": "HIGH","lowTopOfPageBid": 0.89,"highTopOfPageBid": 6.92,"keywordDifficulty": 38,"intent": "transactional","trendMonthlyPct": -18,"trendQuarterlyPct": 0,"trendYearlyPct": 0,"monthlySearches": [{"month": "2026-09", "searches": 135000}, {"month": "2026-08", "searches": 165000}],"country": "us","language": "en","source": "google-ads-database","dataUpdatedAt": "2026-10-15 22:33:34 +00:00"}
- Volumes:
searchVolumeis Google's average monthly searches over the last 12 months.monthlySearcheslists each month, newest first. - Trend:
trendMonthlyPct,trendQuarterlyPctandtrendYearlyPctcompare the latest month with 1, 3 and 12 months earlier. - CPC and bids:
cpcis Google's average cost per click in USD.lowTopOfPageBidandhighTopOfPageBidare the bid range advertisers paid to appear at the top of the page. - Competition:
competition(0-1) andcompetitionLevel(LOW / MEDIUM / HIGH) measure how many advertisers bid on the keyword. They are about paid search, not organic. - Difficulty and intent:
keywordDifficulty(0-100) estimates how hard it is to rank in the top 10 organic results.intentis informational, navigational, commercial or transactional. - Seed and variants: in suggestions and ideas mode each record also has
seed, andvariants: the close variants Google counts as the same search (same volume and history), grouped into this row. One row is one charged keyword. - Source:
google-ads-databasecomes from a keyword database built from Google Ads data and refreshed monthly.google-ads-liverows come from a live Keyword Planner lookup (fillGaps). These have the year-on-year trend only, and no difficulty or intent.
- Free records:
status: "no-data": Google has no volume for the keyword in that country.status: "invalid": a keyword Google does not accept (over 80 characters, more than 10 words, emoji or symbols such as!or().status: "failed": a lookup that failed after retries.status: "no-results": a seed with no suggestions or ideas.
Pricing
Prices below are for Apify's Free plan. Paid Apify plans pay less per run and per keyword: Bronze 10% off, Silver 20% off, Gold and above about 33% off. The Google Ads lookup costs the same on every plan.
Pay per event, no subscription.
| Event | Price | When it is charged |
|---|---|---|
| Run | $0.02 | Once per run, when the first keyword data arrives. Runs that fail before that are free. |
| Keyword | $0.004 | Per keyword delivered with a search volume ($4 per 1,000). Keywords without data are free, as are invalid ones and those under minVolume. |
| Google Ads lookup | $0.15 | Only with fillGaps: one live Keyword Planner lookup of up to 1,000 missing keywords. |
What a run costs:
| Run | Cost |
|---|---|
| 100 keywords | about $0.42 |
| 1,000 keywords | about $4.02 |
| 10,000 keywords | about $40 |
| 1 seed, 100 suggestions or ideas | about $0.42 |
1,000 long-tail keywords with fillGaps: 850 in the database, 75 of the other 150 filled | about $3.87 |
Set a maximum charge in the run options and the actor stops before it would go over: it looks up only as many keywords as fit. Apify's standard run-start event adds $0.00005 per run.
Limits, stated plainly
- Google's numbers, Google's rounding. Volumes come in Google's buckets (for example 135,000, then 165,000). Close variants share one volume ("running shoe" and "running shoes").
- Monthly data. The database refreshes once a month, so the newest month is last month.
- Rare keywords have no volume. In tests, 97.6% of common keywords (head terms, questions, brands, local) had
one. For long-tail autocomplete phrases it was 84% in the database and 92% with
fillGaps. Google withholds data for some topics entirely (for example "vpn" in the US). - CPC is in USD.
- Difficulty and intent are estimates. They are not numbers from Google.
fillGapsneeds a paid Apify plan. It is ignored on the Free plan, and the status message says so. Live lookups are spaced a few seconds apart, so a large fill takes longer.- Run limits: up to 10,000 keywords per run, or 20 seeds with up to 1,000 results each.
Privacy
Only the keywords you give are sent for lookup. Results are stored only in your run's dataset. The actor runs with limited permissions and reads nothing else in your account.