Home / Tools / Keyword Search Volume & Keyword Research

Keyword research

Keyword Search Volume & Keyword Research

SEO keyword research tool with real Google Keyword Planner data: bulk search volume, CPC, competition, 12-month trends and keyword ideas for any country, city or language. No Google Ads account needed. $4 per 1,000 keywords; keywords without data are free.

Run it on Apify API & MCP

Sample output

KeywordMonthly searchesCPC (USD)CompetitionTop-of-page bid (high)
keyword research135,00016.68LOW26.33
seo tools165,00024.39LOW29.08
ai seo6,60041.45MEDIUM34.42

Real rows from the prefilled example run (Oct 19, 2026), 5 of 21+ fields shown. Export as JSON, CSV, Excel or HTML, or read them through the API.

Full JSON of one real output row (5 rows in the example dataset)
{
  "keyword": "keyword research",
  "type": "keyword",
  "seed_keyword": null,
  "location": "United States",
  "location_code": 2840,
  "language": "English",
  "language_code": "en",
  "search_volume": 135000,
  "cpc": 16.68,
  "competition": "LOW",
  "competition_index": 0,
  "low_top_of_page_bid": 3.63,
  "high_top_of_page_bid": 26.33,
  "keyword_difficulty": null,
  "search_intent": null,
  "trend": {
    "monthly": 233,
    "quarterly": 124,
    "yearly": null
  },
  "monthly_searches": [
    {
      "date": "2025-10",
      "year": 2025,
      "month": 10,
      "search_volume": 8100
    },
    {
      "date": "2025-11",
      "year": 2025,
      "month": 11,
      "search_volume": 2400
    },
    {
      "date": "2025-12",
      "year": 2025,
      "month": 12,
      "search_volume": 1900
    },
    "... 9 more"
  ],
  "found": true,
  "source": "google_ads_live",
  "data_updated_at": null,
  "scraped_at": "2026-10-19T09:59:59Z"
}

Output fields

From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.

FieldTypeDescription
keywordstringKeyword (normalized, lower-case)
typestringkeyword = one of your input keywords; idea = a keyword idea generated from your seed keywords
seed_keywordstringSeed keyword(s) an idea was generated from
locationstringLocation name
location_codeintegerGoogle Ads location code (e.g. 2840 = United States)
search_volumeintegerAverage monthly searches (last 12 months)
cpcnumberAverage cost per click in USD
competitionstringPaid search competition level: LOW, MEDIUM or HIGH
competition_indexintegerPaid search competition index, 0-100
low_top_of_page_bidnumberTop-of-page bid, low range (USD)
high_top_of_page_bidnumberTop-of-page bid, high range (USD)
keyword_difficultyintegerSEO ranking difficulty 0-100 (keyword database only)
search_intentstringinformational, navigational, commercial or transactional (keyword database only)
trendobjectSearch volume change in % of the latest month vs. previous month / 3 months / 12 months earlier
search_volume_avg_in_rangeintegerAverage monthly searches within the requested date range (only when a date range is set)
monthly_searchesarrayMonthly search volume history, oldest to newest: {date, year, month, search_volume}
foundbooleantrue if search volume data was found (only these rows are charged)
spellstringGoogle's spelling correction, if the keyword looked misspelled
notestringExplanation when no data was found
sourcestringkeyword_database, google_ads_live or google_ads_queued
data_updated_atstringWhen the keyword's metrics were last refreshed (keyword database)
scraped_atstringWhen this row was produced (UTC)

Pricing

Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.

EventFree planBronzeSilverGold
Keyword result main
Charged once per keyword or keyword idea returned with search-volume data.
$0.004$0.0036$0.0034$0.0033
Google Ads live request
Charged once per live Google Ads Keyword Planner API request (up to 1,000 keywords, or up to 20 seeds for ideas).
$0.15$0.15$0.15$0.15
Google Ads queued request
Charged once per queued Google Ads Keyword Planner API request.
$0.08$0.08$0.08$0.08

Examples on the Free plan: 100 keyword results = $0.40, 1,000 keyword results = $4, 10,000 keyword results = $40. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-19).

Scheduled price change from 2026-10-23 (Free-plan tier): Google Ads live request: $0.15 → $0.25; Google Ads queued request: $0.08 → $0.15. Paid-plan tiers change accordingly. The table shows today's prices.

Example input

This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.

{
  "keywords": [
    "keyword research",
    "seo tools",
    "ai seo",
    "content marketing",
    "running shoes"
  ],
  "location": "United States",
  "language": "English",
  "mode": "search_volume",
  "includeMonthlySearches": true
}

Use it from code, no-code or an AI agent

cURL (one request, returns rows)
curl -X POST \
  "https://api.apify.com/v2/acts/wrenfield-data~keyword-search-volume/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["keyword research", "seo tools", "ai seo", "content marketing", "running shoes"], "location": "United States", "language": "English", "mode": "search_volume", "includeMonthlySearches": true}'
Python
# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/keyword-search-volume").call(
    run_input={
    "keywords": [
        "keyword research",
        "seo tools",
        "ai seo",
        "content marketing",
        "running shoes"
    ],
    "location": "United States",
    "language": "English",
    "mode": "search_volume",
    "includeMonthlySearches": True
},
    max_total_charge_usd=1.00,  # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)
JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/keyword-search-volume').call({
  "keywords": [
    "keyword research",
    "seo tools",
    "ai seo",
    "content marketing",
    "running shoes"
  ],
  "location": "United States",
  "language": "English",
  "mode": "search_volume",
  "includeMonthlySearches": true
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
MCP (Claude, Cursor, VS Code, any MCP client)
{
  "mcpServers": {
    "wrenfield-keyword-search-volume": {
      "url": "https://mcp.apify.com?tools=wrenfield-data/keyword-search-volume"
    }
  }
}

Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--keyword-search-volume. More client setups on the MCP page.

n8n, Make, Zapier

Use the official Apify node or app, pick Run Actor, enter wrenfield-data/keyword-search-volume and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.

Video walkthrough

Free Keyword Research Tool: Exact Google Search Volume Without a Google Ads Account▶ Free Keyword Research Tool: Exact Google Search Volume Without a Google Ads Account

FAQ

How much does Keyword Search Volume cost?

$0.004 per keyword result on the Apify Free plan ($4 per 1,000), billed per result by Apify with no subscription. Plus $0.15 per google ads live request. Plus $0.08 per google ads queued request. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.

Is there a free keyword research tool or free trial?

Every Apify account, including the free plan, gets $5 of platform credit each month with no credit card. That's enough to try this Actor. Free-plan runs use the keyword database and are limited to 10 keywords and 10 ideas per run (country level). Any paid Apify plan removes the limits and adds volume discounts.

Is this a Google Keyword Planner alternative without an Ads account?

Yes. Keyword Planner hides exact volumes (it shows ranges like "1K–10K") unless you run ads. This Actor returns the exact Keyword Planner averages, monthly history and CPC with no Google Ads account and no ad spend.

Is there a search volume API?

Yes. Every Apify Actor is an API. Call the run-sync-get-dataset-items endpoint shown above from any language, or use the official Python and JavaScript clients, Make, Zapier, n8n or the Apify MCP server.

Where does the data come from?

From the Google Ads API, which is the same data you see in Google Keyword Planner. With dataSource: keyword_database, the Actor reads a database built from Google Ads data and refreshed every month instead. It's cheaper for small runs and adds keyword difficulty and search intent.

Can I use it as a cheaper alternative to big SEO suites for search volume?

Yes, for search volume, CPC, competition, trends and keyword ideas. You pay only for keywords that return data, with no monthly subscription. (This Actor isn't affiliated with any SEO suite.)

Why is a keyword returned with found: false?

Google has no measurable search volume for it, usually because the phrase is very rare or new. You aren't charged for it.

Related tools

Keyword Research Tool Launching soon

Keyword ideas with volume, KD, intent and SERP features in one row.

Competitor Keywords Launching soon

Every keyword a domain ranks for, with position, volume and traffic.

Keyword Difficulty Checker Launching soon

KD 0-100 and search intent for thousands of keywords at once.

Google Autocomplete Expander Launching soon

Long-tail and question keywords from Google and YouTube suggestions.

People Also Ask Scraper Launching soon

PAA question trees, related searches and AI Overview text.

Google Trends Scraper

Interest over time, by region, related queries and Trending Now.

Compare and plan

Try Keyword Search Volume & Keyword Research now

Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.

Open on Apify