PlainRows

Keyword Research Tool: Keyword Ideas, Volume & Difficulty

Turn seed keywords into up to 1,000 keyword ideas each: long-tail suggestions, Google related searches or same-topic ideas, with search volume, CPC, keyword difficulty, intent and 12-month trend. 94 countries. Pay only per idea returned.

Try it on Apify   Actor status

Typical uses

Pricing

Pay per use, no subscription, no monthly fee. The price depends on your Apify plan. Apify's free plan includes $5 of usage every month.

You pay perFree planStarterScaleBusiness
Keyword
One keyword idea returned with its search volume, CPC, competition, difficulty, intent and 12-month history. Ideas removed by your filters, duplicates and seeds with no idea are not billed as ideas.
$0.004$0.003$0.0025$0.002
Seed keyword
Charged once per seed keyword sent to the data source, which bills a fixed fee for every search, even one that finds no idea. Not charged when the request is rejected or the data source is down.
$0.01$0.01$0.01$0.01

Run it from your code

Get an API token in the Apify Console (Settings → Integrations), then:

curl -X POST \
  "https://api.apify.com/v2/acts/plainrows~keyword-ideas-generator/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
  "seedKeywords": [
    "coffee maker"
  ],
  "mode": "suggestions",
  "country": "US",
  "maxIdeasPerSeed": 100
}'
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("plainrows/keyword-ideas-generator").call(run_input={'seedKeywords': ['coffee maker'],
 'mode': 'suggestions',
 'country': 'US',
 'maxIdeasPerSeed': 100})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)

Use it in automations and AI agents

Full documentation, input options and output fields: https://apify.com/plainrows/keyword-ideas-generator