Pricing
from $0.50 / 1,000 results
Keyword Difficulty Checker
Estimate SEO keyword difficulty in bulk from live Google SERP signals. Find low-competition keywords, easy-win topics, and SERP risks before writing.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Estimate SEO keyword difficulty in bulk from live Google SERP signals โ and surface your easiest ranking opportunities first.
Drop in a list of keywords and get back a 0โ100 difficulty score for each, based on what's actually ranking on Google right now: how many high-authority sites hold the top 10, how optimized their titles are, how many ads and SERP features crowd the page, and how concentrated the domains are.
๐ Setup in 60 seconds: get a free SerpApi key (100 SERP lookups/month free), paste it into
serpApiKey, add keywords, and run.
What it does
For each keyword, the Actor pulls the live Google SERP (via SerpApi) and computes a transparent difficulty estimate from observable signals:
| Signal | What it measures |
|---|---|
| Authority | Share of the top 10 held by high-authority domains (Wikipedia, Amazon, Forbes, .gov/.edu, โฆ) |
| Title optimization | Share of top-10 titles containing your exact keyword |
| SERP features | Featured snippet + People-Also-Ask boxes that push organic results down |
| Ads | Number of paid results (commercial competition) |
| Domain concentration | How few unique domains control the top 10 |
These combine into a 0โ100 difficulty score and a plain-English rating (very easy โ very hard) with a recommended action.
Why it's honest
This is a SERP-based estimate, not a backlink-based metric like Ahrefs/SEMrush KD. It answers "how contested and well-optimized is this SERP?" โ which is exactly what you can observe without proprietary link data. Every weight is in plain code in src/difficulty.ts:
difficulty = authority*0.35+ titleOptimization*0.25+ serpFeatures*0.15+ ads*0.15+ domainConcentration*0.10(clamped 0โ100)
No black box. Tune the weights to your niche if you want.
Who it's for
- Content & SEO teams โ prioritize the keywords you can actually rank for.
- Bloggers & affiliates โ find low-competition "easy win" topics.
- Agencies โ bulk-qualify a client's keyword list before committing hours.
- PPC marketers โ gauge commercial competition (ad density) per term.
Popular SEO use cases
- Easy-win keyword finder - sort large keyword lists by low difficulty and clear recommended action.
- Affiliate keyword qualification - check buyer-intent keywords before writing reviews or comparison pages.
- SaaS content prioritization - compare solution, alternative, and "best software" SERPs.
- Local SEO difficulty checks - estimate competition for city + service keywords.
- eCommerce category planning - score product, category, and modifier keywords before building pages.
- Agency keyword audits - turn client keyword exports into a transparent opportunity report.
Input
| Field | Type | Default | Description |
|---|---|---|---|
keywords | string[] | โ | Keywords to check |
keywordsText | string | โ | Keywords as text (one per line / comma-separated) |
serpApiKey | string (secret) | โ | Required. Free key from serpapi.com |
geo | string | "US" | Google country code |
language | string | "en" | Language code |
maxKeywords | integer | 100 | Max keywords to process |
requestDelayMs | integer | 500 | Delay between lookups |
maxConcurrency | integer | 3 | Parallel lookups |
One SERP lookup is consumed per keyword.
Example input
{"keywords":["best coffee maker","ai seo tools","how to start a blog"],"geo":"US","language":"en","serpApiKey":"@SERPAPI_KEY"}
More in examples/.
Output
One dataset row per keyword:
{"keyword":"ai seo tools","difficultyScore":64,"difficultyLabel":"hard","authorityScore":70,"titleOptimizationScore":80,"serpFeatureScore":50,"adsScore":100,"domainConcentrationScore":10,"highAuthorityCount":7,"exactTitleMatches":8,"uniqueDomains":9,"adsCount":4,"hasFeaturedSnippet":true,"peopleAlsoAskCount":4,"topDomains":["hubspot.com","semrush.com","..."],"recommendedAction":"Hard โ only with strong domain authority and link building.","source":"serpapi-google","error":null}
Key-value store outputs
EASY_WINSโ your lowest-difficulty keywords (the money output)SUMMARYโ counts by rating, average difficulty, easiest + hardestERRORSโ any failed lookups
Limitations & honesty
- This is a SERP-signal estimate, not a backlink-authority score. Treat it as directional.
- Results vary by
geoandlanguageโ a keyword can be easy in one market, hard in another. - The authority-domain list is curated + TLD heuristics (
.gov/.edu); it won't recognize every strong niche site. - One SerpApi lookup per keyword โ mind your monthly quota on big lists.
Related tools
- Google Autocomplete Keyword Scraper โ discover the keywords to check here.
- Google Trends Keyword Monitor โ see which of them are rising.
- Google Trends Content Calendar Generator โ schedule the winners.
A natural workflow: discover (Autocomplete) โ qualify (this) โ prioritize (Trends) โ schedule (Calendar).
Changelog
See CHANGELOG.md.
