Back to Tools

Keyword Extractor (LLM)

Use cases

Finding internal linking opportunities Content gap analysis Anchor text ideation New page topic discovery

Multi-word phrase extraction (2+ words) with verbatim validation against source content.

Two categories: Internal Link Opportunities (anchor text candidates) and New Page Ideas (content gaps).

Filters against existing anchor texts to prevent duplication.

Claude Sonnet/Haiku or GPT-4o/4o-mini/4.1.

Streamlit App Requires API Key

Platform

Browser-based (no installation required)

Input

Anthropic or OpenAI API key

Page content (paste or CSV/Excel)

Optional: existing anchors to exclude

Output

Side-by-side categories: Internal Link Opportunities, New Page Ideas. Keyword counts per category.

Launch App View Source

Features

  • Multi-word phrase extraction (minimum words slider 2-5)
  • First 8,000 characters of content analysed
  • Verbatim validation against the full source text
  • Two categories: internal link anchors vs new page ideas
  • Substring filtering against existing anchor texts
  • Results limit per category (10-50, default 20)

How to use

  1. 1 Enter API key and select model
  2. 2 Paste content or upload file with column mapping
  3. 3 Optionally add existing anchor texts
  4. 4 Run extraction with category limits
  5. 5 Download CSV/Excel with keyword counts

Frequently asked questions

How much of my content is actually analysed?
Only the first 8,000 characters are sent to the model, whether pasted or from a file. Keywords that appear only later in a long article will not be extracted, so put key sections first or split long content into chunks.
How does the verbatim validation work?
After the model responds, every keyword is checked as a case-insensitive substring of your full content and anything not found is silently dropped. This stops the model inventing phrases, but it also means paraphrases the model returns disappear without warning, which is one reason you may get fewer keywords than the per-category limit.
Why did the anchor exclusion remove so many keywords?
The filter is substring-based in both directions: a keyword is removed if it contains an existing anchor or an existing anchor contains it. A short anchor like 'welding' will eliminate every extracted phrase containing that word, so keep the exclusion list to specific multi-word anchors.
Can it fetch content from URLs?
No. There is no scraping in this tool; the URL and H1 fields are passed to the model as context only. You must paste content or upload a CSV/Excel file with a content column (plus optional URL, H1 and existing-anchors columns for bulk runs).
Are results reproducible?
With Claude, yes in principle: calls use temperature 0 and a 2,000 output token cap. With OpenAI, the response is forced into a strict JSON schema but the temperature is not pinned, so runs can differ slightly. Bulk mode adds a 1 second pause per row.

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