Readability Analysis
The /read endpoint analyzes a text and returns its word, sentence and syllable counts, its Flesch readability scores and an estimated reading time.
How it works?
English uses the original Flesch coefficients, which also give a Flesch-Kincaid grade level. French uses the Kandel & Moles adaptation, which has no grade-level counterpart, so fleschKincaidGrade is null.
Syllables are estimated with a per-language heuristic: groups of vowels, minus the silent trailing e (e or es in French), with a minimum of one syllable per word. Sentences are split on ., !, ? and …, and a text without any of them counts as a single sentence. Reading time is based on 200 words per minute.
curl -X POST \ "https://api.moxon.dev/v5/read" \ -H "Content-Type: application/json" \ -d '{}'Send the request to see the response here.
The request body must be JSON:
textstringrequiredText to analyze, 50000 characters maximum
lang"en" | "fr"optionalLanguage of the text:
enorfr. Default:en
langstringLanguage used for the analysis
wordsnumberNumber of words — tokens containing at least one letter or digit
sentencesnumberNumber of sentences, always at least
1syllablesnumberEstimated total number of syllables
fleschReadingEasenumberFlesch reading ease, rounded to 2 decimals — the higher, the easier to read
fleschKincaidGradenumber|nullFlesch-Kincaid grade level, rounded to 2 decimals —
nullwhenlangisfrreadingTimestringEstimated reading time, in seconds below a minute (e.g.
45s,3min)
If parameters are missing or invalid, the API will return an error:
- 400
Please provide a textThetextparameter is missing, empty, or contains no word - 400
Text must be 50000 characters or fewerThetextexceeds the maximum length - 400
Language must be one of: en, frThelangvalue is neitherennorfr
Last updated on September 7, 2026