## What it does
Score the readability of any English text or URL. Returns 5 industry-standard readability scores, actionable plain-English suggestions, sentence-level breakdown with the hardest sentences flagged, and optional target grade pass/fail.
## Scores returned
- **Flesch Reading Ease** — 0–100. Higher = easier to read.
- **Flesch-Kincaid Grade** — US school grade equivalent.
- **Gunning Fog Index** — Years of education needed to understand.
- **Automated Readability Index (ARI)** — Grade level via character/word ratio.
- **SMOG Index** — Grade level via polysyllabic word density.
## Use cases
Content teams, legal/compliance, EdTech, SEO tools, CMS pipelines, A/B copy testing.
## Endpoints
- `POST /api/analyze` — analyse text or a URL, with optional target grade
- `POST /api/compare` — compare two texts side by side
{"success":true,"textStats":{"wordCount":18,"sentenceCount":2,"characterCount":85,"avgSentenceLength":9,"avgSyllablesPerWord":1.56,"polysyllabicWordCount":1,"polysyllabicWordPercentage":5.6},"scores":{"fleschReadingEase":{"score":66.1,"interpretation":"Standard","suitableFor":"Age 15–17"},"fleschKincaidGrade":{"score":6.3,"interpretation":"US Grade 6 reading level"},"gunningFog":{"score":5.8,"interpretation":"Very easy"},"automatedReadabilityIndex":{"score":5.3,"interpretation":"Roughly Grade 5 reading level"},"smogIndex":{"score":6.9,"interpretation":"Grade 7 reading level","note":"SMOG is most accurate with 30+ sentences"}},"overall":{"averageGradeLevel":6.1,"verdict":"Easy read","recommendedFor":"Most adults","plainEnglishScore":70},"suggestions":["Text is short (18 words). Readability scores are most reliable with 100+ words."],"sentenceBreakdown":{"all":[{"index":1,"sentence":"The quick brown fox jumps over the lazy dog.","wordCount":9,"fre":94.3,"grade":2.3,"complexity":"Easy"},{"index":2,"sentence":"This is a simple sentence for testing readability scores.","wordCount":9,"fre":37.9,"grade":10.2,"complexity":"Hard"}],"hardest":[{"index":2,"sentence":"This is a simple sentence for testing readability scores.","wordCount":9,"fre":37.9,"grade":10.2,"complexity":"Hard"},{"index":1,"sentence":"The quick brown fox jumps over the lazy dog.","wordCount":9,"fre":94.3,"grade":2.3,"complexity":"Easy"}]}}
curl --location --request POST 'https://zylalabs.com/api/12905/user+engagement+readability+api/25687/analizar' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{"text": "The quick brown fox jumps over the lazy dog. This is a simple sentence for testing readability scores."}'
{"success":true,"text_a":{"fleschReadingEase":100,"gradeLevel":2.1,"verdict":"Very easy read","wordCount":11},"text_b":{"fleschReadingEase":0,"gradeLevel":19.4,"verdict":"Highly technical","wordCount":15},"comparison":{"moreReadable":"text_a","easeDifference":100,"gradeDifference":17.3,"summary":"text_a is easier to read by 100.0 Flesch points"}}
curl --location --request POST 'https://zylalabs.com/api/12905/user+engagement+readability+api/25688/comparar' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{"text_a": "The cat sat on the mat. It was a sunny day.", "text_b": "The feline proceeded to position itself upon the horizontal surface whilst meteorological conditions remained favourable."}'
| Header | Description |
|---|---|
Authorization
|
[Required] Should be Bearer access_key. See "Your API Access Key" above when you are subscribed. |
No long-term commitment. Upgrade, downgrade, or cancel anytime. Free Trial includes up to 50 requests.
The `POST /api/analyze` endpoint returns readability scores, suggestions, sentence breakdowns, and an optional target grade result for a given text or URL. The `POST /api/compare` endpoint provides a side-by-side comparison of two texts, including their Flesch scores, grade levels, and a summary of which text is easier to read.
Key fields in the `analyze` response include `textStats` (word, sentence, and character counts), `scores` (various readability metrics), `overall` (average grade level and verdict), `suggestions`, and `sentenceBreakdown`. The `compare` response includes `text_a` and `text_b` fields with their respective scores and a `comparison` summary.
The `POST /api/analyze` endpoint accepts parameters such as `text` (the content to analyze), `url` (the URL to fetch and analyze), and an optional `targetGrade` for pass/fail evaluation. The `POST /api/compare` endpoint requires two texts to compare.
The response data is structured in JSON format. For `analyze`, it includes sections for text statistics, readability scores, overall assessment, suggestions, and sentence breakdown. For `compare`, it presents separate sections for each text's scores and a summary of the comparison.
Typical use cases include content creation for readability optimization, legal document simplification, educational material assessment, SEO content evaluation, and A/B testing for marketing copy. The API helps ensure that content is accessible to the intended audience.
Users can leverage the readability scores to adjust content complexity based on target audiences. Suggestions can guide revisions, while sentence breakdowns help identify complex sentences that may need simplification. The comparison feature aids in selecting the more readable option between two texts.
The API utilizes established readability formulas, ensuring consistent scoring based on linguistic principles. Regular updates and testing against diverse text samples help maintain accuracy and reliability in the scores provided.
Users can expect scores to range from 0 to 100 for Flesch Reading Ease, with higher scores indicating easier readability. Grade levels typically align with U.S. school grades, and suggestions often highlight areas for improvement, especially for shorter texts.
To obtain your API key, first sign in to your account and navigate to the API you want to use. From the API's Pricing section, choose a plan and complete the subscription process. Once subscribed, return to the API page and you will see your API Access Key displayed at the top of the documentation page. You can use this key to authenticate your requests.
You can’t switch APIs during the free trial. If you subscribe to a different API, your trial will end and the new subscription will start as a paid plan.
The free trial lasts for 7 days and allows you to make up to 50 API requests.
No, the free trial is available only once, so we recommend using it on the API that interests you the most. Most of our APIs offer a free trial, but some may not include this option.
Yes. If the API offers a free trial, you will see a "Free 7-Day Trial" option in its Pricing section. The trial lasts for 7 days and allows up to 50 API requests, enabling you to evaluate the API before subscribing to a paid plan.
Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.
You can monitor your API usage through the response headers included with every request:
x-zyla-api-calls-monthly-used: Shows the total number of API requests you have used during the current billing period.
x-zyla-api-calls-monthly-remaining: Shows the number of API requests you have remaining for the current billing period.
Yes, you can cancel your subscription at any time. Simply go to the Pricing section of the API you're subscribed to and click the "Unsubscribe" button.
Please note that upgrades, downgrades, and cancellations take effect immediately. Once your subscription is canceled, access to the service will end immediately, regardless of any remaining API calls in your quota.
Please have a look at our Refund Policy: https://zylalabs.com/terms#refund
Service Level:
100%
Response Time:
0ms
Service Level:
100%
Response Time:
0ms
Service Level:
100%
Response Time:
0ms
Service Level:
100%
Response Time:
0ms
Service Level:
100%
Response Time:
0ms
Service Level:
100%
Response Time:
0ms
Service Level:
100%
Response Time:
0ms
Service Level:
100%
Response Time:
670ms
Service Level:
100%
Response Time:
637ms
Service Level:
100%
Response Time:
14,286ms