Keyword Density Analyzer avatar

Keyword Density Analyzer

Pricing

$4.99/month + usage

Go to Apify Store
Keyword Density Analyzer

Keyword Density Analyzer

Keyword density analyzer that fetches any URL and ranks 1-, 2-, and 3-word phrases by frequency and density — giving SEO teams instant on-page keyword insights to optimize content and avoid stuffing penalties.

Pricing

$4.99/month + usage

Rating

0.0

(0)

Developer

ZeroBreak

ZeroBreak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Keyword Density Analyzer — Extract & Rank Every Keyword and Phrase on Any Webpage

Keyword density analyzer that fetches any webpage and ranks every word and phrase by frequency and density score — giving SEO professionals, content strategists, and webmasters the on-page keyword data they need to optimize content, avoid keyword stuffing, and outrank competitors.

Point the actor at a URL and it returns a complete keyword density report covering single words, two-word phrases, and three-word phrases — the same analysis offered by tools like SEOptimer or Moz, fully automated and exportable.

Use Cases

  • On-page SEO auditing — Check whether your target keywords appear at the right density before publishing or after an algorithm update
  • Competitor keyword research — Analyze top-ranking pages to discover which phrases they emphasize and replicate their natural keyword patterns
  • Content optimization — Identify over-optimized or under-used terms in your own content and adjust to hit the right balance
  • Keyword stuffing detection — Flag pages where a keyword density exceeds healthy thresholds (typically 1–3%) before Google penalizes them
  • Content gap analysis — Compare keyword distributions across multiple pages to find topics you're missing
  • Agency SEO reporting — Automate keyword density reports for client pages instead of checking each one manually

Input

ParameterTypeDefaultDescription
urlstringSingle webpage URL to analyze (e.g. https://example.com/blog/seo-tips)
urlsstring[]List of webpage URLs to analyze (one per line). Combined with the single URL field.
excludeStopWordsbooleantrueFilter common English stop words (the, and, is…) to surface only meaningful keywords
includeMetaTagsbooleantrueInclude the page title and meta description in the keyword frequency count
minWordLengthinteger3Shortest word length (in characters) to include in analysis
minFrequencyinteger2Only return keywords that appear at least this many times on the page
maxKeywordsinteger30Max number of keywords to return per category (1-word, 2-word, 3-word)
maxUrlsinteger10Maximum number of URLs to process per run (cost safeguard, hard cap: 100)
requestTimeoutSecsinteger30Per-request timeout in seconds before the page fetch is abandoned
timeoutSecsinteger300Overall actor timeout in seconds

Example Input

{
"url": "https://backlinko.com/seo-techniques",
"excludeStopWords": true,
"includeMetaTags": true,
"minWordLength": 3,
"minFrequency": 2,
"maxKeywords": 20,
"maxUrls": 5,
"requestTimeoutSecs": 30
}

What Data Does This Actor Extract?

The actor stores one result per URL in a dataset. Each record contains a full keyword density breakdown:

{
"url": "https://backlinko.com/seo-techniques",
"pageTitle": "17 Powerful SEO Techniques That Work In 2024",
"metaDescription": "These 17 proven SEO techniques are working right now. These aren't your average tips — these are advanced tactics that I use to rank #1.",
"totalWords": 4823,
"uniqueWords": 612,
"oneWordKeywords": [
{ "keyword": "seo", "count": 87, "density": 1.80 },
{ "keyword": "content", "count": 64, "density": 1.33 },
{ "keyword": "links", "count": 51, "density": 1.06 },
{ "keyword": "search", "count": 48, "density": 0.99 },
{ "keyword": "google", "count": 43, "density": 0.89 }
],
"twoWordKeywords": [
{ "keyword": "search engine", "count": 31, "density": 0.64 },
{ "keyword": "seo techniques", "count": 22, "density": 0.46 },
{ "keyword": "link building", "count": 19, "density": 0.39 },
{ "keyword": "organic traffic", "count": 14, "density": 0.29 }
],
"threeWordKeywords": [
{ "keyword": "search engine optimization", "count": 12, "density": 0.25 },
{ "keyword": "high quality content", "count": 9, "density": 0.19 },
{ "keyword": "link building strategy", "count": 6, "density": 0.12 }
],
"scrapedAt": "2024-11-15T10:30:22.481Z"
}

Output Fields

FieldTypeDescription
urlstringFinal URL of the analyzed page (after any redirects)
pageTitlestringHTML <title> tag content
metaDescriptionstringMeta description tag content
totalWordsintegerTotal words on the page before filtering
uniqueWordsintegerUnique keywords after stop-word and length filtering
oneWordKeywordsarrayRanked single-word keywords — each with keyword, count, and density (%)
twoWordKeywordsarrayRanked two-word phrases — each with keyword, count, and density (%)
threeWordKeywordsarrayRanked three-word phrases — each with keyword, count, and density (%)
errorstringPresent only when a URL failed to load — contains the error message
scrapedAtstringISO 8601 UTC timestamp of the analysis

How It Works

  1. Fetches the page — Uses a realistic browser User-Agent and follows redirects to reach the final URL
  2. Cleans the HTML — Strips scripts, styles, navigation, footers, and other non-content elements so only visible text is analyzed
  3. Extracts keywords — Tokenizes all visible text into individual words; optionally prepends page title and meta description
  4. Filters noise — Removes stop words (if enabled) and words below the minimum length threshold
  5. Counts frequencies — Tallies every 1-, 2-, and 3-word phrase using fast in-memory counters
  6. Calculates density — Computes each phrase's density as a percentage of total page words
  7. Returns ranked results — Returns the top keywords sorted by frequency, ready for export or downstream processing

FAQ

What is keyword density and why does it matter? Keyword density is the percentage of times a specific keyword or phrase appears on a page relative to the total word count. Search engines use it as one signal to understand what a page is about. Too low and the page may not rank for that term; too high (typically above 3–4%) risks being flagged as keyword stuffing.

Which keyword density is considered healthy? Most SEO professionals target 1–3% for primary keywords and lower for secondary terms. This actor flags all densities so you can make the call — there is no single universal threshold.

Can this actor analyze JavaScript-rendered pages? This actor fetches the raw HTML response and does not execute JavaScript. For SPAs or pages that require JS rendering to display text content, some content may be missing. For fully JS-rendered pages, consider combining this actor with a JS pre-renderer.

How many URLs can I analyze per run? By default up to 10 URLs per run. Increase the maxUrls input up to a maximum of 100. For large-scale analysis, schedule multiple runs or adjust the limit.

What languages are supported? The stop-word list is English. For non-English pages, disable stop-word filtering (excludeStopWords: false) to get raw frequency counts for all words. The n-gram tokenizer works with any alphabetic language.

Why does the density not add up to 100%? Density is calculated per-phrase against total page words, not as a share of the keyword list. Multiple keywords can reference the same words, so the densities across all rows will exceed 100% in total.

Integrations

Connect Keyword Density Analyzer with other apps and services using Apify integrations. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and many more. You can also use webhooks to trigger actions whenever keyword density results are ready — for example, automatically flagging pages that exceed your density threshold in a Slack channel.