SMF·SERPSTAT
Can a prompt replace Serpstat?
SEO & marketing — keyword research, backlinks and rank tracking
Exhibit tracking slip
Verdict
Competitor keyword research is the clearest example in this whole catalogue of a product where the code is irrelevant. Serpstat can tell you a domain ranks for 40,000 phrases because it has crawled search results at scale for years. Nothing you build produces that. What a personal tool can do honestly is take the exports you already have — from a trial, a client, a colleague — normalise and merge them, and answer overlap and gap questions locally without paying again to re-ask the same question.
Exhibit A — The prompt
Received on31.07.2026Build a keyword-set workspace: import exports from any tool, normalise them, and compare sets. It produces no keyword data of its own.
Import: CSV and XLSX from whatever the user has. Rather than shipping fixed parsers per vendor, provide a column-mapping step — the user maps their file's columns onto the internal schema (keyword, position, URL, volume, difficulty, CPC, traffic estimate, date, source) and the mapping is saved as a named profile for reuse. Any unmapped column is preserved as an extra field rather than discarded.
Normalisation, which is what makes comparison possible: lowercase and trim keywords, collapse internal whitespace, optionally strip diacritics, and record the original form alongside. Deduplicate within an import, keeping the best position. Tag every row with its source file, source tool and export date — provenance matters because two exports from different tools disagree, and the user needs to know which number came from where.
Sets: a set is a named collection of keywords, usually one domain's export. Sets carry a label (mine, competitor) and a date.
Comparison, which is the point of this build:
- Gap: keywords in a competitor's set and not in yours, sorted by whatever metric the import supplied, with a clear note when no volume figure was present rather than a zero.
- Overlap: keywords in both, with both positions side by side and the difference.
- Unique: keywords only you have.
- Multi-competitor: keywords present in two or more competitor sets and absent from yours, which is a far stronger signal than any single competitor's list.
Clustering: group keywords across sets by embedding similarity, computed locally, so the comparison works at the topic level rather than the string level. A cluster where three competitors have twelve keywords and you have one is the finding worth acting on, and it is invisible in a row-by-row diff.
Staleness, made unavoidable: show the export date on every set, and mark any set older than a configurable threshold as stale everywhere it appears. An import is a photograph, and a comparison of two photographs taken months apart is misleading in a way the interface should not let the user forget.
Never generate, estimate or interpolate a metric. If an import lacked volume, that column stays empty. Say so in the README as a design decision.
Export: any comparison as CSV, and the whole workspace as JSON.
Out of scope: fetching keyword data from any source, rank tracking, backlink data, and site auditing.
Opening prefills the prompt — press enter to run it.
Exhibit B — What you lose
- B.1 the ability to ask about a domain you have no export for
- B.2 the search, backlink and advertising datasets behind the product
- B.3 data freshness — every import is a snapshot that starts going stale
- B.4 the rank tracking and audit tools bundled alongside
Exhibit C — Why people still pay: proprietary web index and data acquisition
Because the question is "what does this competitor rank for", and answering it requires having already crawled the search results. There is no version of that you build; you either buy the data or you do not have it.
Questions
Can I import my Serpstat data?
Yes, that is the entire premise. Serpstat exports keyword and competitor reports as CSV and XLSX, and the column-mapping step handles the layout. Export everything worth keeping before the subscription ends, because afterwards the data is gone.
Is this useful without a data subscription at all?
Less so, honestly. Its best use is getting more out of data you already paid for — during a trial, from a client's account, or from a one-month subscription you take deliberately and then cancel. As a standalone tool with nothing imported it does nothing.
What does it cost to run?
Nothing. Local imports, local embeddings for clustering, a local database. The cost of this category is entirely the data, and this build's whole argument is not paying for the same data twice.
What is the one thing that does not survive the rebuild?
Asking a new question. Every comparison here is limited to sets you already exported. The moment you want to know about a competitor you have no file for, the tool has nothing to say, and that is the whole product you were buying.
Related tools
Receipt