SERP Title Keyword Extractor
Use cases
Uses ValueSERP API to analyse titles from up to 100 organic results (not People Also Ask).
Normalises title text, explodes by delimiters (/, -, :, &, ,), counts fragment frequency, and scores similarity with FuzzyWuzzy.
Filters single-word results and applies a minimum frequency threshold (1-10, default 2).
Visualises with Altair bar charts.
Platform
Browser-based (no installation required)
Input
ValueSERP API key
Seed keyword
Output
CSV with extracted keywords and frequency chart
Features
- Extracts keyword fragments from organic result titles, split on / - : & and ,
- One ValueSERP search per run (100 free searches on the free tier)
- Configurable results analysed (10-100, default 20)
- Minimum frequency slider (only filters reliably at the default of 2)
- 8 locations and Desktop/Mobile/Tablet device selection
- FuzzyWuzzy partial_ratio similarity against the seed keyword
- Altair interactive bar chart of fragment frequency
How to use
- 1 Enter ValueSERP API key
- 2 Input seed keyword and select location/device
- 3 Set results count and minimum frequency
- 4 View frequency chart and sortable table
- 5 Download CSV with keywords and similarity scores
Frequently asked questions
- Where do the extracted keywords actually come from?
- From organic result page titles only, not People Also Ask, descriptions or page content. Titles are lowercased, the delimiters / - : & and , are converted to a common separator, and each title is split into fragments. Fragments containing '...' (truncated titles) are dropped.
- Why are hyphenated terms like 't-shirt' split apart?
- The hyphen is treated as a title delimiter (many titles use ' - Brand' separators), so any hyphenated compound is split into separate fragments. 't-shirt' becomes 't' and 'shirt' before frequency counting.
- Does raising the minimum frequency slider filter out everything below it?
- Not quite. The filter removes only rows whose frequency exactly equals the slider value minus 1. At the default of 2 that works as expected (frequency-1 rows are dropped), but at 3 or higher, rows with lower frequencies slip back in. The same exact-match logic is used for the single-word filter, so it too only behaves as intended at the default setting.
- What is the similarity column?
- A FuzzyWuzzy partial_ratio score (0 to 100) comparing your seed keyword against each extracted fragment. High scores mean the fragment contains most of your seed term; low scores surface tangential phrases competitors put in their titles.
- How many API credits does one run use?
- A single ValueSERP search request per run, regardless of whether you analyse 10 or 100 results. ValueSERP's free tier includes 100 searches, which the app notes is plenty for testing.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
Cluster keywords by SERP overlap using connected components, with clique and core algorithms in the CLI script.
Automatically group keywords by semantic similarity using Python and ML.
Remove near-duplicate keywords, keeping the first occurrence in file order.
Extract MPNs, keyphrases, and calculate optimal bid adjustments from Google Ads data.
Group similar keywords using PolyFuzz TF-IDF fuzzy matching at scale.
Preview how your page will appear in Google search results.
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