Keyword Search Volume & Difficulty: Ahrefs Alternative
Pricing
from $6.00 / 1,000 keywords
Keyword Search Volume & Difficulty: Ahrefs Alternative
An Ahrefs and Semrush alternative without a subscription: Google search volume, CPC, competition, keyword difficulty, intent and monthly history for up to 10,000 keywords per run, or keyword ideas from seed keywords, in 94 countries. You only pay for keywords with data.
Pricing
from $6.00 / 1,000 keywords
Rating
0.0
(0)
Developer
PlainRows
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
3
Monthly active users
9 hours ago
Last modified
Categories
Share
Get Google monthly search volume, CPC, competition, keyword difficulty, search intent and up to 8 years of monthly history for up to 10,000 keywords per run, in 94 countries. You only pay for keywords that have data: keywords with no data are returned for free, so you know they were checked.
Need new keywords rather than metrics for your own list? Switch to ideas mode: each keyword becomes a seed and you get related keyword ideas with the same metrics.
Typical uses
- Prioritise a content plan: volume, difficulty and intent for every keyword idea in one table.
- Estimate ad budgets with CPC and top-of-page bid ranges per country.
- Spot seasonality and rising topics with up to 8 years of monthly history.
- Enrich keyword lists in Google Sheets, n8n / Make workflows or AI agents.
Why this one
- All the metrics in one row: volume, CPC, competition, difficulty, search intent, SERP features and up to 8 years of monthly history together, not volume alone.
- Big lists in one run: up to 10,000 keywords (or 100 seeds in ideas mode), not a few dozen rows.
- No fee per run and no charge for keywords without data: a test with 5 keywords costs 5 results at most (plus AI search volume, if you turn it on).
- Hard cost cap: the run stops before the maximum cost you set.
What you get for each keyword
| Field | Description |
|---|---|
keyword | Your keyword, lowercased with single spaces |
found | false when no data exists for the keyword (not billed) |
searchVolume | Average monthly Google searches |
cpcUsd | Average cost per click, in USD |
competition, competitionLevel | Google Ads competition, 0 to 1, and LOW / MEDIUM / HIGH |
lowTopOfPageBidUsd, highTopOfPageBidUsd | Typical top-of-page bid range |
keywordDifficulty | 0 (easy) to 100 (hard) to rank organically |
searchIntent | informational, navigational, commercial or transactional |
trendMonthlyPct, trendQuarterlyPct, trendYearlyPct | Change in search volume, in percent |
serpFeatures, searchResultsCount, serpUpdatedAt | Google result types on the keyword's results page (e.g. organic, people_also_ask, popular_products), the result count, and when that page was last checked by the data source (often a few weeks or months ago). No extra cost; null when not available |
monthlySearches | Monthly volumes, most recent first: 12 months by default, up to 96 (no extra cost) |
aiSearchVolume, aiMonthlySearches | Only with includeAiSearchVolume (from October 24, 2026): estimated monthly use of the keyword in AI tools, and its monthly history |
dataUpdatedAt | When the underlying data was last refreshed |
observedAt | When this run fetched it |
Missing values are always null, never guessed.
Input
{"keywords": ["coffee maker", "espresso machine", "french press"],"country": "US","languageCode": "","historyMonths": 12}
- keywords: one per line. Max 80 characters and 10 words each. Duplicates are removed for free (case-insensitive).
- country: two-letter code of one of 94 countries: the US, Canada, the UK and most of Europe, Latin America, Asia-Pacific, the Middle East and Africa (full list in the input form).
- languageCode: optional. Defaults to the country's main language (German for Switzerland, French for Belgium). Regional variants are written like
zh-TW. A language the data source doesn't offer for that country stops the run with a clear message and no charge. - historyMonths: months of monthly history per keyword, 0 to 96. Default 12.
- includeAiSearchVolume: search volume mode only, off by default, available from October 24, 2026 (see below).
- mode:
volume(default) orideas(see below). - maxIdeasPerSeed: ideas mode only, 5 to 1,000. Default 50.
AI search volume (from October 24, 2026)
Turn on includeAiSearchVolume to see how often each keyword is used in AI tools and chat assistants (an estimate from the data source), next to its Google search volume: aiSearchVolume (estimated monthly figure) and aiMonthlySearches (as many months as historyMonths). Useful to decide which topics to cover for AI search (GEO) as well as for Google.
- Billed per keyword with a positive AI search volume (an extra event, see the Pricing tab);
nullor0is free. Keywords without Google data are not sent. - Available for all 94 countries in their default language (data source location lists read on 2026-10-12); another language may have no AI figure (then
null, free, with a warning). - Before October 24, 2026 the option is accepted but ignored (the run says so and charges nothing for it).
- Needs a paid Apify plan: on the free plan the option is ignored (the run says so).
Ideas mode
Set "mode": "ideas": each line of keywords is a seed (up to 100 seeds per run), and the run returns up to maxIdeasPerSeed related keyword ideas per seed, most relevant first, with exactly the same fields as above plus seedKeyword.
{ "keywords": ["coffee maker"], "mode": "ideas", "maxIdeasPerSeed": 50, "country": "US" }
- Each idea with data is billed like one keyword. An idea found by two seeds is returned and billed once (for the first seed); the seed itself is not returned as an idea.
- A seed with no idea gives one free row with
found: falseand anote. - Ideas come with 12 months of history at most (the data source keeps 12 months for ideas).
- If many seeds in a row return no idea, the run stops early and tells you which were not searched (nothing is charged for them).
- For very large idea lists, PlainRows Keyword Ideas Generator is cheaper per idea, and adds filters (volume, difficulty, words) and other idea sources.
Output example
Real row from a run on 2026-10-07 (US, historyMonths: 3; the three serp… fields from a check on 2026-10-12):
{"keyword": "coffee maker","found": true,"country": "US","languageCode": "en","searchVolume": 201000,"cpcUsd": 0.79,"competition": 1,"competitionLevel": "HIGH","lowTopOfPageBidUsd": 0.25,"highTopOfPageBidUsd": 1.23,"keywordDifficulty": 32,"searchIntent": "transactional","trendMonthlyPct": 22,"trendQuarterlyPct": 22,"trendYearlyPct": 0,"serpFeatures": "popular_products, organic, product_considerations, perspectives, people_also_ask, related_searches, images","searchResultsCount": 293,"serpUpdatedAt": "2026-07-30T03:52:04.000Z","monthlySearches": [{ "month": "2026-08", "searchVolume": 165000 },{ "month": "2026-07", "searchVolume": 135000 },{ "month": "2026-06", "searchVolume": 135000 }],"dataUpdatedAt": "2026-09-15T12:07:43.000Z","observedAt": "2026-10-07T10:29:36.658Z","schemaVersion": "1.0"}
Pricing
You pay per keyword with data. No subscription, no fee per run. See the Pricing tab for the current prices. Price change on October 24, 2026: new optional AI search volume event, $0.005 (FREE) / $0.004 (BRONZE) / $0.003 (GOLD+) per keyword with a positive AI volume, only when Include AI search volume is on. The keyword price does not change. Keywords without data, duplicates and invalid keywords are never billed. Input mistakes (unsupported country or language, empty list) stop the run with a clear message and cost nothing. The run never spends more than the maximum cost you set: it stops looking up keywords before reaching it.
Free Apify plan: each run looks up the first 20 keywords (ideas mode: the first 2 seeds, 20 ideas each), so you can test the output. A paid Apify plan removes this limit.
Run summary
Each run also stores a summary in the key-value store (OUTPUT): keywords submitted, found, not found, billed, duplicates removed, invalid keywords with the reason, and any keyword skipped because of the free-plan or budget limit (with AI search volume on: aiSearchVolumesFound and aiSearchVolumesBilled). In ideas mode: mode, seeds submitted and searched, seeds without ideas, ideas found and billed, duplicate ideas removed, and seeds skipped (free plan, budget, or too many seeds without ideas).
Use it from code, automations or AI agents
API (one call, results returned directly):
curl -X POST "https://api.apify.com/v2/acts/plainrows~keyword-search-volume/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords": ["coffee maker", "espresso machine"], "country": "US"}'
n8n, Make, Zapier: use the Apify integration and pick plainrows/keyword-search-volume as the Actor; map the dataset items to your sheet, CRM or database.
AI agents (MCP): add https://mcp.apify.com?tools=plainrows/keyword-search-volume to Claude, Cursor or any MCP client. The agent gets a typed tool with the input and output schemas of this page and pays per result.
Limits
- Data comes from Google Ads keyword data via a commercial SEO data provider and is refreshed monthly. Very new or very rare keywords may have no data.
- Search volumes are averages and estimates, not exact counts.
- This tool is not affiliated with Google, Ahrefs or Semrush.
FAQ
How do I check the search volume of many keywords at once? Paste them in keywords, one per line (up to 10,000 per run), pick the country and run. You get one row per keyword with monthly volume, CPC, competition, difficulty, intent and monthly history.
Is this the same data as Google Keyword Planner? It comes from Google Ads keyword data through a commercial SEO data provider, refreshed monthly. You get exact monthly averages instead of Keyword Planner's ranges, without a Google Ads account.
Is this an Ahrefs or Semrush alternative? For keyword metrics, yes: search volume, CPC, competition, keyword difficulty (0-100), intent and monthly history for up to 10,000 keywords per run, without a subscription or an Ahrefs or Semrush account. Difficulty is computed by the data provider on its own 0-100 scale, so it will not match Ahrefs KD or Semrush KD% exactly.
Can it find new keyword ideas, not only volumes?
Yes: set mode to ideas. Each keyword becomes a seed and you get up to 1,000 related ideas per seed with volume, CPC, competition, difficulty, intent and 12-month history, billed per idea with data at the same price as a keyword. Ideas are deduplicated across seeds. For very large idea lists, PlainRows Keyword Ideas Generator is cheaper per idea.
Which countries and languages? 94 countries, in the country's main language or another one the data source offers there.
What does it cost for 1,000 keywords? See the Pricing tab: you pay per keyword with data only, with no subscription and no fee per run. Keywords without data are free.
Can I use it in Google Sheets, n8n, Make or an AI agent? Yes: through the Apify API, the Apify integrations for n8n, Make and Zapier, or the Apify MCP server (see above).
More PlainRows tools
Same pay-per-result pricing, same clean JSON, built to chain together in n8n, Make, Zapier or AI agents.
- SEO and keywords: Keyword Ideas Generator · Google Autocomplete & People Also Ask · Google Trends Explorer · Website Organic Traffic & Top Keywords · Bulk Domain Authority Checker · Backlink Checker · Broken Link Checker · AI Search Visibility Tracker (ChatGPT, Gemini, AI Mode) · Google Maps Rank Tracker (Geo-Grid Local SEO)
- Leads and companies: Google Maps Scraper · Website Technology Checker · ATS Jobs Scraper (Workday, Greenhouse, Lever, Ashby) · Google Jobs Scraper · Google Ads Scraper (Transparency Center) · Company Registry Lookup (SIRENE, LEI, Brreg) · Public Tenders Search (EU TED & UK)
- E-commerce and travel: Amazon Product Search Scraper · Google Shopping Prices Scraper · Google Hotels Prices Scraper · Tripadvisor Reviews Scraper
- Content and media: Google News Scraper · YouTube Search Scraper · YouTube Comments Scraper · Google Images Scraper · Website Screenshot API · Google Maps Reviews Scraper · App Store & Google Play Reviews Scraper
Compared with other APIs: Exact keyword search volume without a Google Ads budget · Search volume and CPC by API · Semrush API alternative
Support
Found a bug or need a field? Open an issue on this page. Issues are read and answered.