Back to Tools

Keyword Difficulty Checker

Use cases

Finding low-competition keyword opportunities Grouping keywords that can target with single page Prioritising keywords by winnability

Estimates keyword difficulty using three metrics: total search results, quoted phrase match results, and allintitle results.

Groups keywords into SERP clusters based on shared top 10 URLs (configurable 2-5 common URLs threshold, default 3).

Uses ValueSERP API with configurable device (Desktop or Mobile) and multi-threaded processing (1-20 threads).

Streamlit App

Platform

Browser-based (no installation required)

Input

ValueSERP API key

Keywords CSV/TXT

Output

Excel with keyword difficulty and cluster data

Launch App View Source

Features

  • Three difficulty metrics: total, quoted phrase, and allintitle result counts
  • SERP clustering: keywords grouped when a top 10 URL is shared by enough keywords (2-5 slider, default 3)
  • Pre-flight ValueSERP credit check with estimated completion time
  • Multi-threaded requests (1-20 threads, default 10)
  • Optional question keyword filter and Difficulty column cap for Ahrefs exports
  • All searches run as Desktop (the device selector is ignored)

How to use

  1. 1 Enter your ValueSERP API key
  2. 2 Upload a CSV or TXT and select the keyword column
  3. 3 Set location, threads, and cluster threshold (device choice has no effect; searches run as Desktop)
  4. 4 Review the credit check: 3 API calls per keyword
  5. 5 Run the analysis
  6. 6 Download Excel with two sheets: Competitive Analysis and Questions Only

Frequently asked questions

How many ValueSERP credits does a run cost?
Three searches per unique keyword: the plain keyword, the quoted phrase match, and the allintitle: version. Before running, the tool queries your ValueSERP account, refuses to start if you have fewer credits than 3 x keywords, and estimates completion time from your account's rate limit per minute.
Does the device setting actually change the search?
No. Although the sidebar offers Mobile, Desktop and Tablet, the search function hardcodes device to Desktop, so every query runs as a desktop search regardless of what you pick.
What does the 'Set minimum keyword difficulty' slider do?
Despite the name, it is a maximum cap and it only applies if your upload already contains a column named exactly 'Difficulty' (as in an Ahrefs export). Rows with a Difficulty above the slider value are removed before searching; files without that column are unaffected.
How are the SERP clusters formed?
Keywords are grouped when the same URL appears in the top 10 results for at least N of them, where N is the 'common urls' slider (2 to 5, default 3). Each cluster is named after its shortest keyword, and any keyword left in a cluster of one is reassigned to 'zzz_no_cluster' so unclustered rows sort to the bottom.
Why did a non-question keyword end up in the Questions Only sheet?
The question filter is a substring match on words followed by a space ('who ', 'is ', 'can ' and so on) anywhere in the keyword. That means 'tennis shoes' matches because 'tennis ' ends in 'is ', and 'canvas prints' matches 'can '. Treat the Questions Only sheet as a starting point, not a clean list.

Need something built for your business?

This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.

Tell Me What You Need