DEV Community

clement-melkior
clement-melkior

Posted on

How to get Google search volume for a list of keywords (without a Google Ads account)

"How many people search for this?" is the first question behind any content plan, product idea or ad budget. Getting a straight answer for a list of keywords is harder than it should be.

Here are the options I looked at, with their real limits.

1. Google Keyword Planner

The official source. It is free, but:

  • You need a Google Ads account, and setting one up pushes you toward creating a campaign.
  • Without an active campaign, volumes come back as wide ranges such as "1K – 10K", which is not much use for comparing keywords.
  • There is no bulk export through code unless you get approved for the Google Ads API.

Good for: people already running Google Ads.

2. Google Trends

Free and needs no account, but it does not answer the question. Trends shows interest on a relative 0 to 100 scale, not how many searches there are. Two keywords at "80" can differ by a factor of a thousand in real volume.

Good for: seasonality and comparing a few terms. Not for volumes.

3. SEO suites

Ahrefs, Semrush and similar tools show volume, difficulty and much more. They are excellent, and they start at around a hundred dollars a month.

Good for: people doing SEO every day. Hard to justify for an occasional lookup or for a script.

4. A keyword data API

Several providers resell Google Ads keyword data through an API. I use DataForSEO: its keyword overview endpoint returns volume, cost per click, competition, difficulty and search intent, and takes up to 700 keywords per request.

The catch for small projects is the entry cost: a $50 minimum deposit, plus the work of writing the client, batching, and handling keywords that have no data.

Good for: building a product on top of keyword data.

5. Pay per lookup

I wanted option 4 without the deposit or the client code, callable from scripts and automation tools. So I wrapped it: Keyword Search Volume on Apify.

You paste keywords and pick a country. Each keyword comes back as one row:

{
    "keyword": "running shoes",
    "found": true,
    "country": "US",
    "language": "en",
    "searchVolume": 301000,
    "cpc": 1.09,
    "competition": 1,
    "competitionLevel": "HIGH",
    "lowTopOfPageBid": 0.47,
    "highTopOfPageBid": 2.17,
    "keywordDifficulty": 43,
    "searchIntent": "transactional",
    "trend": { "monthly": 22, "quarterly": 50, "yearly": -45 },
    "monthlySearches": [
        { "month": "2026-08", "searchVolume": 301000 },
        { "month": "2026-07", "searchVolume": 246000 }
    ],
    "dataUpdatedAt": "2026-09-15"
}
Enter fullscreen mode Exit fullscreen mode

From Python:

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("spokentext/keyword-search-volume").call(run_input={
    "keywords": ["running shoes", "trail running shoes", "best running shoes for flat feet"],
    "country": "US",
})

for row in client.dataset(run.default_dataset_id).iterate_items():
    if row["found"]:
        print(f'{row["keyword"]}: {row["searchVolume"]} searches/month, difficulty {row["keywordDifficulty"]}')
    else:
        print(f'{row["keyword"]}: no data')
Enter fullscreen mode Exit fullscreen mode

It covers 92 countries and up to 20,000 keywords per run, with up to 24 months of history per keyword.

Pricing is $0.004 per keyword with data, plus $0.02 per lookup of up to 700 keywords. A hundred keywords cost $0.42. Keywords with no data are free.

What to know before using it

  • It needs a paid Apify plan. Every lookup is bought from the data provider, so on Apify's free plan the tool returns clearly labelled sample rows instead of live data.
  • The data is monthly, not real time. Each row carries the date it was last updated.
  • Country level only. No city or region breakdown.
  • Google groups close variants. "running shoe" and "running shoes" can share one figure. That comes from Google Ads itself, and every tool built on that data inherits it.
  • Rare keywords have no data. They come back with "found": false.

Which option to pick

Your situation Use
You already run Google Ads Keyword Planner
You only care about seasonality Google Trends
You do SEO daily An SEO suite
You are building a keyword product A data API directly
You need volumes for a list now and then, or inside a script or automation Pay per lookup

Disclosure: I built the tool described in section 5. This article was drafted with AI assistance and checked by me.

Top comments (0)