Score readability and keywords for content QA

Readability formulas, reading time and keyword counts are crude instruments. Used as a pre-publish check with thresholds you chose on purpose, they catch the drafts that will lose readers before a human editor has to.

Content teams rarely publish a page that is wrong. They publish pages that are hard to read: sentences that run for forty words, help articles written at a postgraduate level for people who just want to reset a password, landing pages that never actually mention the thing the visitor searched for. None of that fails a spell-check, and an editor with forty drafts in the queue will not catch all of it.

A machine can catch the measurable part. Readability formulas measure sentence length and word length. Reading time is word count divided by speed. Keyword extraction counts which terms dominate a text. Each of those is simple, and each misleads when you forget how simple it is. This lesson builds a content QA check from four APIs and spends as much time on what the numbers cannot tell you as on how to get them.

Two ways in: a live page or the text itself

You can score content in two places, and the choice is mostly about cost.

Website Readability (websitereadability) takes a url, fetches the page, extracts its readable text and scores it. It is a POST and costs 25 credits.

Try it liveWebsite Readability25 credits
POSThttps://api.apiverve.com/v1/websitereadability
curl -X POST "https://api.apiverve.com/v1/websitereadability" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'
Sign in or create a free account to run this with your own key.

Only 27 words and 2 sentences: with this little text, the grade scores are close to meaningless.

Text Readability Score (readabilityscore) takes the text directly. Also a POST, and it costs 2 credits.

Try it liveText Readability Score2 credits
POSThttps://api.apiverve.com/v1/readabilityscore
curl -X POST "https://api.apiverve.com/v1/readabilityscore" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Ship small changes. Test them well. Measure what users actually do after every release."}'
Sign in or create a free account to run this with your own key.

Short sentences give a Flesch Reading Ease of 66.7 and an average grade level of 5.9.

That is a twelve-to-one price difference for very similar scores, and it should decide your architecture. If the content lives in your CMS, you already have the text. Score it before it is published, with the text API, while the author can still fix it. Use the URL-based API for pages you do not have the source for: competitors' articles, a partner's docs, a legacy site you are about to migrate, or a final check of how a page renders once templates, sidebars and footers wrap it.

The responses differ in shape, too. The text API returns everything on every plan, grouped: textCounts (syllableCount, lexiconCount, sentenceCount), readability (seven formula scores), readabilityText (plain-language labels), plus averageGradeLevel and targetAudience. The URL API returns a flat object where fleschReadingEase, fleschReadingEaseText, fleschKincaidGrade, wordCount, sentenceCount and readingTimeMinutes are available on every plan, and the other formulas, averageGradeLevel and targetAudience are premium.

What the scores actually measure

Every formula in these responses is a variation on two ratios: words per sentence and syllables (or characters) per word. That is all.

  • Flesch Reading Ease runs roughly 0 to 100, higher is easier. Plain consumer writing sits around 60-70. Our three-sentence example scored 66.7, labelled "standard". It can go above 100 for very simple text: "The cat sat on the mat. It was a sunny day. The dog ran in the park." scores 107.99.
  • Flesch-Kincaid Grade, Gunning Fog, Coleman-Liau, SMOG and the Automated Readability Index each estimate a US school grade. They disagree with each other by a grade or two on the same text, which is why averageGradeLevel exists.
  • Dale-Chall is the odd one out: it counts words outside a list of familiar words, rather than syllables.

Knowing the mechanism tells you where the numbers lie:

Short texts are noise. The example.com page above has 27 words in 2 sentences. One long word moves the grade by several points. Do not score anything under about 100 words, and do not compare a 200-word page with a 3,000-word guide.

Technical vocabulary inflates the grade. "Authentication", "configuration" and "idempotency" are long words, and your audience reads them without effort. A developer guide scoring grade 13 may be perfectly clear to its readers. Set thresholds per content type, not one number for the site.

Code, tables and lists distort sentences. A code block has no full stops, so the formula sees one enormous sentence. Strip code and tables before scoring your own text, and expect live-page scores for docs to look harder than they read.

Easy is not the same as good. You can push Flesch above 90 by writing in fragments. The formulas reward short sentences; they cannot tell whether the sentences say anything. A score is a prompt for an editor to look, never a verdict.

Check yourself

Your API reference pages all score around grade 14 and fail a site-wide 'grade 9 or lower' rule. What is the most sensible response?

Answer the check above to continue.

Run every example on your own key. Free plan, no card.

Scaling up?

Volume pricing, custom SLAs, and dedicated support for high-traffic teams.

Contact sales