Keyword Search Volume, CPC & Difficulty
Pricing
Pay per event
Keyword Search Volume, CPC & Difficulty
Search volume, CPC, competition, keyword difficulty and search intent for up to thousands of keywords per run. Keywords without data are not charged.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Dušan Jolović
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Share
What does Keyword Search Volume, CPC & Difficulty do?
It returns search volume, cost per click, paid competition, keyword difficulty and search intent for a list of keywords in one run. Paste up to thousands of keywords, pick a country and a language, and get a table you can download as CSV, Excel or JSON, or pull through the Apify API.
Use it for keyword research, content planning, PPC budgeting and SEO reports, without a Semrush or Ahrefs subscription.
What data do you get?
| Field | Meaning |
|---|---|
searchVolume | Average monthly searches over the last 12 months |
monthlySearches | Searches for each of the last 12 months |
trendMonthly, trendQuarterly, trendYearly | Change in search volume, in percent |
cpc | Average cost per click in USD |
competition, competitionLevel | Paid search competition, 0 to 1 and LOW / MEDIUM / HIGH |
lowTopOfPageBid, highTopOfPageBid | Range of the top-of-page bid in USD |
keywordDifficulty | How hard it is to rank organically, 0 to 100 |
searchIntent, secondaryIntents | Informational, navigational, commercial or transactional |
lastUpdated | When the keyword's data was last refreshed |
The data comes from the DataForSEO keyword database, which is built from Google Ads data and refreshed monthly. It is not a live Google Keyword Planner session, so it needs no Google Ads account.
How much does it cost?
You pay per keyword that returns data, plus a small fee per request:
- $0.002 per keyword with data ($2 per 1,000 keywords)
- $0.02 per request, and one request covers up to 700 keywords
A run of 1,000 keywords costs at most $2.04. Keywords without data, duplicates and invalid keywords cost nothing.
Apify free plan users can look up 20 keywords per run. Any paid Apify plan removes the limit.
How to use it
- Paste your keywords into Keywords, one per line.
- Set Location, for example
United States, and Language, for exampleEnglish. - Click Start and download the results from the Output tab.
Input as JSON, for the API or a schedule:
{"keywords": ["keyword research", "seo tools", "best running shoes"],"locationName": "United States","languageName": "English"}
Output example
A real result from October 2026, with 3 of the 12 months shown:
{"keyword": "best running shoes","found": true,"searchVolume": 60500,"cpc": 1.16,"competition": 1,"competitionLevel": "HIGH","lowTopOfPageBid": 0.21,"highTopOfPageBid": 1.67,"keywordDifficulty": 28,"searchIntent": "commercial","secondaryIntents": ["transactional"],"trendMonthly": 0,"trendQuarterly": 22,"trendYearly": 0,"monthlySearches": [{ "year": 2026, "month": 9, "search_volume": 60500 },{ "year": 2026, "month": 8, "search_volume": 60500 },{ "year": 2026, "month": 7, "search_volume": 49500 }],"location": "United States","language": "English","lastUpdated": "2026-10-15 20:18:08 +00:00","error": null}
A keyword without data has "found": false, empty metrics and a note in error. It is not charged.
Which locations and languages work?
Use the English name of the country and the language: United States, United Kingdom, Canada, Australia, Germany, France, Spain, Italy, Netherlands, Brazil, India and most other countries. The full list is in the DataForSEO locations and languages reference. A misspelled name stops the run with a message that says so, and no keywords are charged.
FAQ
Why is a keyword not found? The database covers keywords that people search for. Very rare or brand-new phrases may have no data yet. You are not charged for them.
Can I run it on a schedule or from my code? Yes. Use Apify schedules, the Apify API, or integrations such as Make, Zapier and Google Drive.
How do I limit what a run costs? Set Maximum cost per run in the run options. The run stops at that amount and keeps the results it has.
Something is wrong with the data. Open an issue on the Issues tab with the keyword, the location and the run link.