
Similarity API
Fuzzy-match million-row datasets in minutes, not hours.
Hey Indie Hackers — I’m Siyana. I’m building Similarity API, a hosted fuzzy matching + deduplication service for when your data is too messy (and too big) for “quick scripts” to survive.
If you’ve ever tried to dedupe a CRM export, vendor list, signups, or company names at scale, you’ve probably hit one (or all) of these:
pairwise comparisons explode
Spark/Python UDF approaches get slow/expensive
LSH/MinHash or custom pipelines are powerful but take time to implement + tune
you end up maintaining a bunch of brittle cleaning rules forever
What Similarity API does
You send a list of strings, and it returns:
duplicate groups and/or matched pairs
optional normalization (lowercase, punctuation removal, token sorting, etc.)
company-name cleanup presets (e.g., stripping Inc/LLC/Ltd-style suffixes)
It’s meant to be the “matching step” you plug into whatever pipeline you already have (Databricks/Spark, dbt, scripts, ETL tools, etc.).
Benchmark
I ran a public benchmark on 1,000,000 rows and got end-to-end matching in ~7 minutes (1,000x faster than TheFuzz!), with comparisons to the common approaches people try first.
Benchmark link: https://similarity-api.com/blog/speed-benchmarks
(If you’re doing entity resolution / dedupe at scale, that page shows exactly what comes back and what the workflow looks like.)
Who it’s for
RevOps / CRM admins cleaning duplicates
data teams doing entity resolution
anyone building enrichment pipelines where duplicates wreck downstream workflows
What I’m looking for
I’d love feedback from anyone who has fought duplicates in the real world:
What data source causes you the most pain (Salesforce, HubSpot, spreadsheets, internal DBs)?
Do you prefer “auto-merge” or “review + approve” workflows?
What would make you trust an automated dedupe system?
If you’ve got a messy dataset story, I’m all ears — and happy to share what I’ve learned building + benchmarking this.
About
I've rebuilt fuzzy-matching engines at every job I’ve had. After sharing my optimized scripts with BI and Eng teams, I’m turning it into an API so you can stop babysitting slow scripts and get back to impactful work.

Comment