Keyword Search Volume, CPC & Competition — Keyword Difficulty
Pricing
from $8.00 / 1,000 keywords
Keyword Search Volume, CPC & Competition — Keyword Difficulty
Google keyword search volume, CPC, competition and keyword difficulty from keyword planner data for SEO research. Check lists of keywords or generate keyword ideas with monthly search history. Export to CSV, JSON or Excel.
Pricing
from $8.00 / 1,000 keywords
Rating
0.0
(0)
Developer
Andrey Afanasenko
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Check Google keyword search volume or find keyword ideas, with CPC, advertising competition, keyword difficulty and monthly search history. Export a keyword planner table for SEO research, content planning or advertising research.
🆓 Start on the free plan: check one keyword with full metrics, or get ten ideas in full. More rows are shown locked, within a monthly allowance. Full rows and completed lookups use your Apify credits.
🎯 What it does
Choose the operation mode first. Each mode has its own keyword input and result limit.
| Mode | You give | You receive |
|---|---|---|
| Mode 1: Check Keyword Metrics | A list of up to 1,000 keyword phrases | One row per matched keyword, in your input order |
| Mode 2: Find Keyword Ideas (default) | Exactly one seed phrase | Related keyword ideas; 100 by default, up to 1,000 |
Both modes include search volume, CPC in USD, advertising competition, organic keyword difficulty and monthly history when available. Mode 2 also includes search intent.
Some keywords have no reported volume. Their other metrics remain available, with status: volume_unavailable. Values vary by country and language, and update dates vary by keyword.
📦 Output sample
Each row describes one keyword:
- Market and keyword:
keyword,country,language,mode. - Volume and advertising:
searchVolume,cpcUsd,competition,competitionLevel,lowTopOfPageBidUsd,highTopOfPageBidUsd. - SEO and intent:
keywordDifficulty,coreKeyword,categories,detectedLanguage,isAnotherLanguage,intent,secondaryIntents. - History and availability:
monthlySearches,volumeTrend,metricsUpdatedAt,status,isLocked.
Missing metrics are null. A true zero remains 0. Locked rows have null metrics; Mode 2 also hides the keyword itself.
A real Mode 2 row from the US/en validation run on 6 October 2026:
{"keyword": "on running shoes","country": "US","language": "en","mode": "ideas","searchVolume": 201000,"cpcUsd": 1.42,"competition": 1,"competitionLevel": "HIGH","lowTopOfPageBidUsd": 0.42,"highTopOfPageBidUsd": 2.43,"keywordDifficulty": 27,"monthlySearches": [{"year": 2026,"month": 8,"searchVolume": 49500},{"year": 2026,"month": 7,"searchVolume": 74000},{"year": 2026,"month": 6,"searchVolume": 450000},{"year": 2026,"month": 5,"searchVolume": 301000},{"year": 2026,"month": 4,"searchVolume": 246000},{"year": 2026,"month": 3,"searchVolume": 135000},{"year": 2026,"month": 2,"searchVolume": 74000},{"year": 2026,"month": 1,"searchVolume": 74000},{"year": 2025,"month": 12,"searchVolume": 550000},{"year": 2025,"month": 11,"searchVolume": 90500},{"year": 2025,"month": 10,"searchVolume": 165000},{"year": 2025,"month": 9,"searchVolume": 110000}],"volumeTrend": {"monthly": -33,"quarterly": -89,"yearly": -55},"categories": [10014,13605,13616],"coreKeyword": "running shoes","detectedLanguage": "en","isAnotherLanguage": false,"intent": "transactional","secondaryIntents": ["informational"],"metricsUpdatedAt": "2026-09-14T16:55:29.000Z","status": "ok","isLocked": false}
Views in Storage → Dataset show the same rows with different columns:
| View | Row | Best for |
|---|---|---|
| Keyword metrics | One keyword, trimmed to volume, CPC, competition and difficulty | Comparing a keyword list |
| Keyword ideas | The same rows, trimmed to volume, CPC, difficulty and intent | Finding content opportunities |
| Monthly search history | The same rows, trimmed to history, trends and update dates | Checking seasonality |
The full field descriptions are in .actor/dataset_schema.json.
⚡ Quick start
Select Mode 2: Find Keyword Ideas, then enter one seed:
{"operationMode": "ideas","seedKeywords": ["running shoes"],"maxIdeas": 100,"country": "US","language": "en"}
Run it and open Storage → Dataset. On the free plan, ten ideas are shown in full and up to forty more are locked. On a paid plan, up to your requested limit are shown in full.
🧭 When to use it
- Compare search volume and difficulty before writing content.
- Build a keyword planner table with CPC and advertising competition.
- Find related ideas and their search intent from a seed phrase.
- Check monthly history for seasonal topics.
- Research another country in its supported language.
🛠 Input
Choose your mode first, then fill the matching section:
| Field | Meaning | Default |
|---|---|---|
operationMode | metrics or ideas | ideas |
keywords | Mode 1: one keyword phrase per line; commas also separate phrases | Empty |
maxKeywords | Mode 1: how many input keywords to check, 1–1,000 | 1,000 |
seedKeywords | Mode 2: exactly one seed phrase | Empty |
maxIdeas | Mode 2: idea limit, 1–1,000 | 100 |
country | Country for the metrics | US |
language | Supported search language for that country | en |
Spaces stay inside a phrase. Duplicates are removed without changing the order. Each keyword can have at most 80 characters and ten words. An unsupported country/language pair or malformed input is rejected before anything is looked up or charged.
Set Maximum cost per run in the run options to cap charges. It limits work before each lookup. If the main keyword field of your chosen mode is empty, the run announces a built-in sample, capped at ten rows; it still follows the free-plan limits.
💰 How much will keyword research cost?
Apify Pay Per Event charges for full matched keyword rows and completed lookups:
| Event | Free | Bronze | Silver | Gold and up |
|---|---|---|---|---|
| Keyword | $0.012 | $0.01067 | $0.00933 | $0.008 |
| Keyword lookup | $0.030 | $0.025 | $0.022 | $0.020 |
A lookup is one checked batch of up to 700 input keywords or one ideas page. An empty successful result still costs one lookup; it costs no keyword events. Missing keywords and locked rows are not charged. Matched rows with unavailable volume are charged because they contain other metrics. Unfinished lookups are not charged.
| Example | Bronze charge |
|---|---|
| 3 matched input keywords | $0.05701 |
| 50 matched input keywords | $0.55850 |
| 100 keyword ideas | $1.09200 |
| 1,000 matched input keywords, two batches | $10.72000 |
| Empty result, one lookup | $0.02500 |
The platform may include its small standard start event. Your run ceiling applies to the complete run.
🆓 Free vs paid plan
| Free plan | Paid plan | |
|---|---|---|
| Mode 1 full keyword rows | 1 per run | Up to 1,000 |
| Mode 1 extra locked rows | Up to 49; your input keyword remains visible | All delivered rows in full |
| Mode 2 full ideas | Up to 10 per run | Up to 1,000 |
| Mode 2 extra locked rows | Up to 40; keyword and metrics hidden | All delivered rows in full |
| Monthly allowance | Typically five full batches; shorter or empty results may allow more | Free-plan allowance lifted |
Sample runs count toward the monthly allowance. If less allowance remains, the run requests fewer rows and states the actual full and locked counts. The allowance resets at the start of each UTC calendar month. Full rows and completed lookups consume credits even on the free plan.
Upgrade your Apify plan and run the same input again for full results. Paid plans start at $19/mo with $19 in platform credits.
🧪 Filter recipes
These recipes choose a mode and a market. No post-fetch filters remove paid results.
Check your keyword list — Mode 1
{"operationMode":"metrics","keywords":["running shoes","pizza near me","seo agency"],"country":"US","language":"en","maxKeywords":1000}
Find Spanish ideas — Mode 2
{"operationMode":"ideas","seedKeywords":["zapatillas de correr"],"country":"ES","language":"es","maxIdeas":100}
🔁 Resume / checkpoint
Already saved rows remain in the dataset when a run is stopped. For a new run, paste the unfinished input keywords again; Skipped Items lists them and their reasons. A new run charges for new completed work. It does not resume the prior dataset automatically.
📡 Live status & storage records
The Output tab links to the live status page and results. After completion, the stored status page shows the saved count and the run's message.
| Record | Contents |
|---|---|
| Run Summary | Full and locked rows, completed lookups, prices, skipped count and stop reason |
| User Message | What happened and what to change; always present when no full rows were saved |
| Skipped Items | Input keywords not delivered, with the reason |
| Free-Plan Limits Applied | Limits that affected a free-plan run |
🤖 Programmatic / API use
Choose operationMode explicitly in automated calls. Use the same inputs as the form with Apify's API:
curl -X POST 'https://api.apify.com/v2/acts/afanasenko~keyword-search-volume/run-sync-get-dataset-items' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"operationMode":"ideas","seedKeywords":["running shoes"],"maxIdeas":100}'
AI agents can call the actor through Apify's MCP server. Download the complete dataset as JSON, CSV or Excel.
💡 Tips & Best Practices
Pick a market first
Volume for the same phrase can differ greatly by country. Use a language supported for that market.
Use a clear seed
Mode 2 accepts one phrase. For a product range, start separate runs for distinct topics.
Read difficulty and competition separately
Difficulty estimates organic ranking effort. Competition measures advertisers, not organic results.
Check the update date
Monthly averages and history are reported data, not a count of today's searches. Compare update dates before judging changes.
❓ FAQ
How do I check Google keyword search volume? Choose Mode 1 and enter keyword phrases, a country and a language. Export the matched rows.
How do I find keyword ideas? Choose Mode 2 and enter exactly one seed. It returns related ideas with volume, CPC, difficulty and intent when known.
Is there a free keyword search volume option? The free Apify plan shows one checked keyword or ten ideas in full within a monthly allowance. Full rows and lookups use credits.
Can I use Google Keyword Planner instead? Yes. This actor is useful when you want an export or an automated workflow with the same input and output shape on each run.
Does it return Ahrefs keyword difficulty? No. Difficulty is an independent 0–100 estimate of the effort to rank in the organic top ten.
Is advertising competition the same as difficulty? No. Advertising competition is a 0–1 value about advertisers. Organic difficulty has its own column.
Why is search volume null? Some matched keywords have no reported average volume. Other available metrics are kept and the full matched row is charged. A missing keyword gets no dataset row and no keyword charge.
Do empty results cost anything? A successfully checked empty batch or ideas page costs one lookup. No keyword rows are charged.
How many months of history are returned? It varies by keyword and mode. Ideas commonly have twelve months; list metrics can have longer history. Check the array and update date for each row.
Can I export CSV or Excel? Yes. Open the dataset and select Export. JSON keeps the history arrays in their original structure.
Why are rows locked? Your free-plan limits apply. Locked rows are not charged. Upgrade and run the same input again to see full results.
What happens with empty input? The run announces a sample and returns at most ten rows, subject to your plan and ceiling. Put your own phrase in the matching mode section for real research.
🔗 Other SEO actors (same author)
| Actor | Purpose |
|---|---|
| Backlink Scraper | Check linking pages, anchor text, dofollow, dates and spam score |
🛟 Support & feedback
- Open the Apify Store Issues tab with your run link if results differ from your expectations.
- Include the selected mode, country and language so the query can be checked.
- Leave a review if the actor helped your keyword research.
⚖️ Is it legal to research keyword search volume?
Use keyword metrics for lawful research and respect the terms of the services in your workflow. See Apify's guidance on web scraping.