DEV Community

Cover image for SERP Similarity Tool with HasData & Streamlit
Valentina Skakun
Valentina Skakun

Posted on

SERP Similarity Tool with HasData & Streamlit

Hacktoberfest: Maintainer Spotlight

This is a submission for the 2025 Hacktoberfest Writing Challenge: Maintainer Spotlight

I needed a quick way to check how similar Google SERPs are for different keywords. Couldn’t find a simple, free tool that worked well, so I built one.

It uses HasData’s SERP API and runs on Streamlit. HasData gives you 1000 free credits when you sign up, and their API scales smoothly if you need more. The app is live, and the code is open on GitHub.

Run on Streamlit | View on GitHub

The Problem

SEO tools that actually give you a similarity breakdown of SERPs are either limited or behind a paywall. Keyword Insights worked, but it capped at five keywords and now costs money. That’s frustrating when you need quick checks for multiple keywords.

I wanted something fast and simple.

The Solution

The tool compares multiple keywords and shows how much their SERPs overlap.

  • Powered by HasData SERP API
  • Built with Streamlit
  • Works with any number of keywords
  • Free to start with HasData’s trial credits

Just enter your API key, add keywords (comma or new line), and get a SERP similarity breakdown in seconds.

How to Use

Step 1: Get a HasData API Key
Sign up at HasData and get your 1000 free credits.

Get HasData's API key

Step 2: Run the App
Open the Streamlit link or clone the GitHub repo. No setup needed, just run it.

Step 3: Enter Keywords
Paste your keywords separated by commas or new lines.

Put keywords

Step 4: Check Results
The tool shows a SERP similarity breakdown with clear, structured data.

Check the result

Under the Hood

  • Python 3.11+
  • Streamlit for UI
  • HasData SERP API for search data
  • Simple to extend with filters, charts, or exports
  • Deployed via Streamlit Cloud

Clone the repo, set your API key, install requirements pip install -r requirements.txt, and run streamlit run streamlit_app.py, or just use the hosted version.

Conclusion

Practical, minimal, and free to start. It does one job well: showing how similar SERPs are between keywords.

Top comments (2)

Collapse
 
martin_miles_297f74dd4964 profile image
Martin Miles

Thanks! One thing, the API call loop is synchronous right now, so if someone drops in 20 keywords it's gonna hang the UI for a while. 😅 Is HasData a hard requirement over something like Bright Data's SERP? What I need is fine geo-targeting (non-US markets)

Collapse
 
valentina_skakun profile image
Valentina Skakun

Thanks for the feedback :)

Regarding geo-targeting, actually, the tool already supports language and country parameters, which covers most non-US market needs. Or you need for specific locations?

As for the sync loop, you're right, I'll make it asynchronous. HasData handles concurrent requests, so that’s easy.

And the last question. I like HasData APIs, so I'm not planning to switch providers :)