✨ Keyword Research Pro - Bulk Volume & CPC | Launch 80% Off avatar

✨ Keyword Research Pro - Bulk Volume & CPC | Launch 80% Off

Pricing

from $0.50 / 1,000 keyword results

Go to Apify Store
✨ Keyword Research Pro - Bulk Volume & CPC | Launch 80% Off

✨ Keyword Research Pro - Bulk Volume & CPC | Launch 80% Off

Check Google search volume, CPC, competition, and keyword ideas for up to 10,000 keywords per run. Filters, competitor domains, and white-label reports. $0.50 per 1,000 at launch. 230+ countries. Official search data. No scraping. No broken runs.

Pricing

from $0.50 / 1,000 keyword results

Rating

0.0

(0)

Developer

Winning Solutions

Winning Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Keyword Research Pro: Bulk Google Search Volume, CPC and Competition

An Apify Actor for SEO keyword research at scale. Paste a seed keyword list or enter a competitor domain, pick a research mode, and get structured metrics for up to 10,000 keywords per run across 230+ countries. No Google Ads account required.

It returns average monthly search volume, CPC, competition, top-of-page bid ranges, keyword difficulty, search intent, backlink-gap signals, and a 12-month volume series for every term. Optional enrichments add SERP competitors, AI search volume, extended trends, and clickstream demographics. White-label HTML (+ CSV) and PDF reports are available for client delivery.

Designed for SEO teams, PPC planners, agencies, and automation workflows, the Actor uses official search data APIs. Pay only for keywords returned, and cap spend with maxTotalChargeUsd.

No scraping. No broken runs. No captchas to solve.


🚀 Launch pricing: 80% DISCOUNT

$0.50 per 1,000 keywords

Launch rates apply until 31 October 2026. Regular rates start on 1 November 2026 which will also be very competitive. See the price tables.


Use Cases

  • Run bulk search volume checks on hundreds or thousands of keywords in one job
  • Prioritize SEO content by real search demand before you write
  • Plan PPC / Google Ads budgets with CPC and top-of-page bid ranges
  • Spot seasonality and demand shifts with 12-month volume history
  • Feed agents and automation with stable JSON field names for API, MCP, n8n, or Make

Index

Release Notes

v1.0 - Initial public release

  • Five research modes: Suggestions, Ideas, Related, Overview (metrics for your own list), and Competitor (domain seed)
  • Built-in filters: min/max volume, max difficulty, search intent, include/exclude words, questions only, min/max word count
  • Backlink gap metrics: average backlinks, referring domains, and domain rank of top-ranking pages (included in base metrics)
  • Optional enrichments: SERP overview (top competitors), AI search volume, extended trend history
  • SERP feature flags: SERP feature types (including AI Overview), clickstream demographics and normalized volumes
  • White-label reports: HTML (+ CSV) and PDF with custom title, logo, subline, and domain line
  • Export toggles: omit metric, intent, backlink, AI, SERP, or clickstream field groups from dataset rows
  • Pay-per-event pricing: Actor start, per keyword result, optional SERP / AI / trends / clickstream / report charges; spending-limit safe
  • Launch pricing: discounted flat rates until 31 October 2026. Regular rates apply from 1 November 2026.

Research Modes

Choose how the Actor discovers or scores keywords. Set Mode in the Input tab or pass mode in your API call.

ModeSeed requiredWhat it does
suggestionsSeed keywordsLongtail phrases and close variants from each seed
ideasSeed keywordsBroad topic expansion from seed keywords (default)
relatedSeed keywordsSemantically related terms from each seed
overviewSeed keywordsMetrics only for the keywords you provide. No expansion.
competitorCompetitor domainOrganic keywords the domain ranks for

If you provide only a competitor domain and leave the mode on the default, the Actor auto-infers Competitor mode and logs a seed warning.

Ideas expands by Google Ads category, not by semantic similarity. Use Suggestions for close variants, or add includeWords / excludeWords.

Use Overview when you already have a keyword list and need volume, CPC, and competition only. One dataset row per keyword.

Features

🔍 Five research modes: Expand from seeds, score your own list, or map a competitor domain

🎯 Built-in filters: Volume, difficulty, intent, include/exclude words, questions only, exact phrase match, word-count bounds

📈 Core SEO metrics: Search volume, CPC, competition, keyword difficulty (0-100), bid range, monthly history, trend %, opportunity score

🔗 Backlink gap: Average backlinks and referring domains of pages ranking for each keyword

🌍 230+ countries: Location and language targeting for local and international research

📄 White-label reports: HTML (+ CSV) and/or PDF with your branding; first 500 keywords in the report table

🛡️ Reliable by design: Official search data APIs. No scraping. No broken runs.

Optional Enrichments

Turn these on in the Input tab when you need deeper data. Each optional enrichment is billed only when enabled and data is returned.

  • SERP overview (includeSerpOverview) - Top organic competitors per keyword with position and visibility signals. Charged as serp-overview ($3.20 / 1,000 keywords at launch).
  • AI search volume (includeAiSearchVolume) - LLM / AI search volume and AI share for GEO and AI-SEO workflows. Charged as ai-search-volume ($0.40 / 1,000 keywords at launch).
  • Trend data (includeTrends) - Extended monthly search-volume history beyond the default series. Charged as trends ($2.30 / 1,000 keywords at launch).
  • Clickstream data (includeClickstreamData) - Demographics and clickstream / Bing-normalized volumes. Charged as clickstream ($0.22 / 1,000 keywords at launch).
  • SERP feature flags (includeSerpInfo) - SERP feature types (including AI Overview) and indexed result counts from the discovery call. No separate enrichment charge.

White-label HTML (+ CSV) and PDF reports are flat per-run charges when generation succeeds (html-report $0.05, pdf-report $0.05 at launch).

Pricing

Launch pricing is active until 31 October 2026. Base metrics cost $0.50 per 1,000 keywords, roughly a quarter of what comparable actors charge. Reports cost $0.05 each.

Launch pricing is available to everyone. No code is needed. Runs started before 1 November 2026 are billed at the launch rate.

From 1 November 2026 the regular rates apply.

Launch prices (until 31 October 2026)

Cost itemLaunch rate
Keyword result$0.50 / 1,000 keywords
SERP overview (optional)$3.20 / 1,000 keywords
AI search volume (optional)$0.40 / 1,000 keywords
Trend data (optional)$2.30 / 1,000 keywords
Clickstream data (optional)$0.22 / 1,000 keywords
HTML report (optional)$0.05 once per run
PDF report (optional)$0.05 once per run
Actor start$0.02 (infrequent)
Apify platform compute (RAM/time)Billed by Apify platform pricing

Cost per keyword (Overview, no enrichments): ~$0.00052 - about $0.52 per 1,000 keywords including Actor start. 100 keywords cost about $0.07.

No tier discounts during launch. Every plan pays the same launch rate.

Regular prices (from 1 November 2026)

Cost itemRegular rate
Keyword result$1.80 / 1,000 keywords
SERP overview (optional)$5.00 / 1,000 keywords
AI search volume (optional)$0.80 / 1,000 keywords
Trend data (optional)$3.50 / 1,000 keywords
Clickstream data (optional)$0.40 / 1,000 keywords
HTML report (optional)$0.25 once per run
PDF report (optional)$0.15 once per run
Actor start$0.02 (infrequent)
Apify platform compute (RAM/time)Billed by Apify platform pricing

Volume discounts on keyword results down to $1.20 per 1,000 apply from the Bronze plan upwards after 1 November 2026.

Optional enrichments are billed separately when enabled. Use maxTotalChargeUsd (default $25) to cap run cost. The Actor stops charging and keeps results already written.

Cost Examples (launch rates)

Scenario A: 1,000 keywords, Overview, no enrichments

  • Actor start: $0.02
  • 1,000 keyword results: $0.50
  • Total: ~$0.52

Scenario B: 1,000 keywords + HTML report

  • Actor start: $0.02
  • 1,000 keyword results: $0.50
  • HTML report: $0.05
  • Total: ~$0.57

Scenario C: 1,000 keywords + live SERP overview

  • Actor start: $0.02
  • 1,000 keyword results: $0.50
  • SERP overview (1,000 x $0.0032): $3.20
  • Total: ~$3.72

Scenario D: 1,000 keywords + AI search volume + PDF report

  • Actor start: $0.02
  • 1,000 keyword results: $0.50
  • AI volume (1,000 x $0.0004): $0.40
  • PDF report: $0.05
  • Total: ~$0.97

Input

The Actor accepts the following input parameters (see the Input tab in the Apify Console for the full, interactive schema):

ParameterTypeRequiredDefaultDescription
modestringnoideasResearch mode: suggestions, ideas, related, overview, or competitor.
seedKeywordsstringfor non-competitor modes-One seed keyword per line (up to 1,000). Required for Suggestions / Ideas / Related / Overview.
seedDomainstringfor competitor-Bare hostname of the competitor (no https:// or www). Required for Competitor; ignored otherwise (warning only).
locationstringnoGermanyCountry or region for volume and competition data (English country name preferred).
languagestringnodeTwo-letter ISO language code.
limitintegerno100Maximum keywords returned for the whole run (1-10,000).
maxTotalChargeUsdnumberno25Stop the run once this USD amount has been charged.
limitPerSeedintegerno-Optional cap per seed for Suggestions / Ideas / Related. Ignored in Overview and Competitor.
minVolumeintegerno-Drop keywords below this monthly search volume.
maxVolumeintegerno-Drop keywords above this monthly search volume.
maxDifficultyintegerno-Drop keywords harder than this score (0-100).
intentFilterstringno-Keep only informational, commercial, transactional, or navigational.
includeWordsarrayno-Keep only keywords that contain every listed word (case-insensitive).
excludeWordsarrayno-Drop keywords that contain any listed word (case-insensitive).
questionsOnlybooleannofalseKeep only question-style keywords (who / what / how / why / when / where).
exactMatchbooleannofalseSuggestions / Related only: keyword must contain the exact seed phrase.
ignoreSynonymsbooleannofalsePrefer core keywords; skip near-duplicate synonym variants.
includeSeedKeywordbooleannofalseAlso return metrics for the seed itself (Suggestions / Ideas / Related).
includeSerpInfobooleannofalseAdd SERP feature types and result counts (no separate enrichment charge).
includeClickstreamDatabooleannofalseAdd demographics and clickstream / Bing-normalized volumes (extra charge per keyword with data).
includeSerpOverviewbooleannofalseEnrich with top organic SERP competitors ($0.0032 / keyword at launch when data returned).
includeAiSearchVolumebooleannofalseEnrich with AI / LLM search volume ($0.0004 / keyword at launch when data returned).
includeTrendsbooleannofalseAdd extended monthly search-volume history ($0.0023 / keyword at launch when data returned).
htmlReportbooleannofalseWrite white-label HTML (+ CSV) to the key-value store ($0.05 once at launch). Auto-enabled by custom title/logo.
pdfReportbooleannofalseWrite white-label PDF to the key-value store ($0.05 once at launch; independent of HTML).
reportTitlestringnoKeyword Research ReportReport headline. Non-default title auto-enables HTML report.
reportLogoUrlstringno-Public logo URL. Setting a logo auto-enables HTML report.
reportShowSublinebooleannotrueShow meta line (keyword count, location, language, mode).
reportShowDomainbooleannotrueShow "for domain: ..." line on reports.
reportDomainstringno-Domain label for reports; falls back to competitor seed when empty.
minWordsintegerno-Keep keywords with at least this many words (1-32).
maxWordsintegerno-Keep keywords with at most this many words (1-32).
disableMetricsbooleannofalseOmit volume, CPC, competition, difficulty, and related columns.
disableIntentbooleannofalseOmit intent columns.
disableBacklinkGapbooleannofalseOmit backlink-gap columns.
disableAiVolumebooleannofalseOmit AI volume columns (even if enrichment ran).
disableSerpOverviewbooleannofalseOmit SERP competitor columns (even if enrichment ran).
disableSerpInfobooleannofalseOmit SERP-feature columns.
disableClickstreambooleannofalseOmit demographics / clickstream columns.

Input Example

Overview: bulk Volume / CPC for your list

{
"mode": "overview",
"seedKeywords": "seo tools\nkeyword research\nbest crm for startups",
"location": "United States",
"language": "en",
"limit": 1000
}

Competitor domain

{
"mode": "competitor",
"seedDomain": "ahrefs.com",
"location": "United States",
"language": "en",
"limit": 500,
"minVolume": 100,
"includeSerpOverview": true,
"pdfReport": true,
"reportTitle": "Competitor Keyword Map: Ahrefs",
"reportLogoUrl": "https://cdn.example.com/brand/logo.png",
"reportDomain": "your-agency.com"
}

Ideas from seed keywords

{
"mode": "ideas",
"seedKeywords": "seo tools\nkeyword research",
"location": "Germany",
"language": "de",
"limit": 100,
"minVolume": 50,
"maxDifficulty": 40,
"intentFilter": "commercial",
"includeAiSearchVolume": false,
"htmlReport": false
}

API and MCP usage

Runs write one dataset row per keyword. Optional reports are stored in the run key-value store as HTML_REPORT / CSV_REPORT and/or PDF_REPORT. Fetch rows from the default dataset after the run succeeds (or use the synchronous endpoint below).

REST (sync, returns dataset items): replace YOUR_USERNAME, YOUR_API_TOKEN, and use the same JSON body as in Input Example.

curl "https://api.apify.com/v2/acts/YOUR_USERNAME~keyword-research-pro/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-X POST \
-H "Content-Type: application/json" \
-d '{"mode":"overview","seedKeywords":"seo tools\nkeyword research","location":"United States","language":"en","limit":50}'

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
mode: 'overview',
seedKeywords: 'seo tools\nkeyword research',
location: 'United States',
language: 'en',
limit: 50,
};
const run = await client.actor('YOUR_USERNAME~keyword-research-pro').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
// Optional reports (when enabled in input):
// await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('HTML_REPORT');
// await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('PDF_REPORT');

Apify MCP server (AI agents): configure your MCP client with URL https://mcp.apify.com?tools=YOUR_USERNAME~keyword-research-pro (you can combine multiple tools per Apify MCP docs). Pass the API token via your client (for example an Authorization: Bearer ... header), not inside the Actor input JSON.

Output Structure

The Actor returns structured data for each keyword. The table below lists the main fields. Optional dataset views in the Apify Console (Overview, Metrics, Enrichments, Diagnostics) may show a subset. When disable options are enabled, the corresponding keys are omitted from each row.

FieldTypeDescriptionExample Value
keywordstringKeyword phrase"seo tools"
seed_keywordstringnullSeed keyword or competitor domain that produced this row
search_volumeintegernullAverage monthly search volume
cpcnumbernullCost per click (USD)
competitionnumbernullCompetition index (0-1)
competition_levelstringnullLOW / MEDIUM / HIGH
low_top_of_page_bidnumbernullLower Ads top-of-page bid
high_top_of_page_bidnumbernullUpper Ads top-of-page bid
keyword_difficultyintegernullDifficulty score 0-100
words_countintegernullNumber of words in the keyword
search_intentstringnullPrimary intent
search_intent_probabilitiesobjectnumbernull
foreign_intentarraynullSecondary intents
monthly_searchesarrayMonthly volume historysee below
search_volume_trendobjectnullMoM / QoQ / YoY trend percentages
opportunity_scorenumbernullVolume / max(difficulty, 1)
categoriesarrayCategory IDs / labels from the API[10004]
core_keywordstringnullCore form of the keyword when provided by the API
avg_backlinksnumbernullAvg backlinks of top-ranking pages
avg_dofollownumbernullAvg dofollow links
avg_referring_pagesnumbernullAvg referring pages
avg_referring_domainsnumbernullAvg referring domains
avg_domain_ranknumbernullAvg domain rank of ranking pages
avg_main_domain_ranknumbernullAvg main-domain rank
backlink_gapnumbernullEstimated backlinks needed to compete (same basis as avg backlinks)
serp_item_typesarraySERP feature types when includeSerpInfo is on["organic","people_also_ask"]
se_results_countintegernullIndexed result count for the query
has_ai_overviewbooleannullWhether an AI Overview appears in the SERP
gender_distributionobjectnullClickstream gender mix when enabled
age_distributionobjectnullClickstream age mix when enabled
clickstream_search_volumeintegernullClickstream volume
clickstream_normalized_volumeintegernullClickstream-normalized volume
bing_normalized_volumeintegernullBing-normalized volume
ai_search_volumeintegernullAI / LLM search volume when enrichment is on
ai_sharenumbernullai_search_volume / search_volume
ai_monthly_searchesarrayMonthly AI volume history when AI enrichment is onsee API
ai_search_volume_trendobjectnullAI volume trend percentages when AI enrichment is on
serp_competitorsarrayTop organic competitors when SERP overview is onsee below
detected_languagestringnullDetected keyword language
is_another_languagebooleannullLanguage mismatch flag
_metadata.resultChargedbooleanWhether this row was charged as a keyword resulttrue
_metadata.errorstringnullPresent on failure / empty diagnostic rows
_metadata.errorContextstringnullExtra error context when error is set

Key-value store reports

When enabled, download from the run's key-value store:

RecordContent
HTML_REPORTWhite-label HTML report (text/html)
CSV_REPORTCSV companion written with the HTML report
PDF_REPORTWhite-label PDF report (application/pdf)

Output Example

{
"keyword": "seo tools",
"seed_keyword": "seo tools",
"search_volume": 12100,
"cpc": 2.45,
"competition": 0.67,
"competition_level": "MEDIUM",
"low_top_of_page_bid": 0.85,
"high_top_of_page_bid": 3.2,
"keyword_difficulty": 42,
"words_count": 2,
"search_intent": "commercial",
"search_intent_probabilities": 0.82,
"foreign_intent": ["informational"],
"monthly_searches": [
{ "year": 2026, "month": 6, "search_volume": 11800 },
{ "year": 2026, "month": 5, "search_volume": 12100 }
],
"search_volume_trend": {
"monthly": 5.2,
"quarterly": 8.1,
"yearly": 12.4
},
"opportunity_score": 288.1,
"categories": [10004],
"core_keyword": "seo tool",
"avg_backlinks": 120.5,
"avg_dofollow": 95.2,
"avg_referring_pages": 340,
"avg_referring_domains": 48.3,
"avg_domain_rank": 512,
"avg_main_domain_rank": 480,
"backlink_gap": 120.5,
"serp_item_types": ["organic", "people_also_ask", "ai_overview"],
"se_results_count": 125000000,
"has_ai_overview": true,
"ai_search_volume": 420,
"ai_share": 0.03,
"serp_competitors": [
{
"domain": "ahrefs.com",
"avg_position": 2.1,
"etv": 15400.5,
"visibility": 0.42
}
],
"detected_language": "en",
"is_another_language": false,
"_metadata": {
"resultCharged": true,
"error": null,
"errorContext": null
}
}