Back to Tools

SERP Crossover Analyser

Use cases

Detecting keyword cannibalisation Finding topic clustering opportunities Analyzing SERP similarity for keyword grouping Competitive SERP analysis

Jaccard similarity calculates URL overlap: (common URLs / total unique URLs) × 100.

urlparse removes www prefixes for domain normalisation.

7 countries, 3 devices (desktop/mobile/tablet), 5-100 results per SERP, 2-20 keywords simultaneously.

Colour-coded heatmap: red ≥50%, yellow 25-50%, green 1-25%.

Streamlit App

Platform

Browser-based (no installation required)

Input

ValueSERP API key

Keywords (2-20, one per line)

Output

Crossover matrix CSV/Excel: Jaccard similarity %. Overlapping URLs CSV: multi-keyword rankings. Multi-sheet Excel with matrix, overlaps, raw SERP data.

Launch App View Source

Features

  • Jaccard similarity for URL crossover %
  • urlparse www removal for domain normalisation
  • 7 countries, 3 device types
  • 5-100 results per SERP (default 10)
  • 2-20 keywords simultaneously
  • Colour-coded heatmap (red/yellow/green)

How to use

  1. 1 Enter your ValueSERP API key
  2. 2 Input 2-20 keywords (one per line)
  3. 3 Select location (7 countries) and device
  4. 4 Set results per SERP (5-100)
  5. 5 Run the analysis (one API call per keyword)
  6. 6 Review the crossover matrix, overlapping URLs, and raw SERP data
  7. 7 Download matrix CSV, overlaps CSV, or multi-sheet Excel

Frequently asked questions

Is crossover measured on domains or exact URLs?
Exact URLs. Two SERPs only overlap where the full URL string is identical, so the same site ranking with two different pages counts as zero overlap, and even trivial URL differences (tracking parameters, trailing slashes) break a match. The domain column is extracted for display only and plays no part in the calculation.
Does the number of results per SERP change the crossover percentages?
Yes, substantially. The Jaccard score is common URLs divided by total unique URLs across both SERPs, so comparing top-10s and comparing top-100s for the same keyword pair give different percentages. Keep the results-per-SERP setting constant if you want scores that are comparable across runs, and note the 50 percent and 25 percent heatmap thresholds were chosen with top-10s in mind.
What happens if one keyword's SERP fetch fails?
It is silently excluded. A warning is shown during fetching, and the analysis proceeds with whatever succeeded as long as at least two SERPs came back. Check the 'Keywords Analyzed' metric against the number you entered before trusting the matrix.
Does the tool localise results automatically?
Requests are sent with location_auto enabled, so ValueSERP infers the matching Google domain and language settings from the location you pick from the seven-country list. You cannot set a custom Google domain or language directly in the UI.

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