Keyword Search Volume & Difficulty: Ahrefs Alternative avatar

Keyword Search Volume & Difficulty: Ahrefs Alternative

Pricing

from $6.00 / 1,000 keywords

Go to Apify Store
Keyword Search Volume & Difficulty: Ahrefs Alternative

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

PlainRows

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

9 hours ago

Last modified

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

FieldDescription
keywordYour keyword, lowercased with single spaces
foundfalse when no data exists for the keyword (not billed)
searchVolumeAverage monthly Google searches
cpcUsdAverage cost per click, in USD
competition, competitionLevelGoogle Ads competition, 0 to 1, and LOW / MEDIUM / HIGH
lowTopOfPageBidUsd, highTopOfPageBidUsdTypical top-of-page bid range
keywordDifficulty0 (easy) to 100 (hard) to rank organically
searchIntentinformational, navigational, commercial or transactional
trendMonthlyPct, trendQuarterlyPct, trendYearlyPctChange in search volume, in percent
serpFeatures, searchResultsCount, serpUpdatedAtGoogle 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
monthlySearchesMonthly volumes, most recent first: 12 months by default, up to 96 (no extra cost)
aiSearchVolume, aiMonthlySearchesOnly with includeAiSearchVolume (from October 24, 2026): estimated monthly use of the keyword in AI tools, and its monthly history
dataUpdatedAtWhen the underlying data was last refreshed
observedAtWhen 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) or ideas (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); null or 0 is 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: false and a note.
  • 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.

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.