Text Readability Score
Readability Score is a simple tool for calculating the readability score of text. It returns the readability score based on various readability formulas.
This API provides reliable and fast access to text readability score data through a simple REST interface. Built for developers who need consistent, high-quality results with minimal setup time.
To use this API, you need an API key. You can get one by creating a free account and visiting your dashboard.
View API in DirectoryEndpoint
POST https://api.apiverve.com/v1/readabilityscoreCode Examples
Here are examples of how to call this API in different programming languages:
curl -X POST \
"https://api.apiverve.com/v1/readabilityscore" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"text": "Western astrology is founded on the movements and relative positions of celestial bodies such as the Sun, Moon and planets, which are analysed by their movement through signs of the zodiac (twelve spatial divisions of the ecliptic) and by their aspects (based on geometric angles) relative to one another."
}'const response = await fetch('https://api.apiverve.com/v1/readabilityscore', {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"text": "Western astrology is founded on the movements and relative positions of celestial bodies such as the Sun, Moon and planets, which are analysed by their movement through signs of the zodiac (twelve spatial divisions of the ecliptic) and by their aspects (based on geometric angles) relative to one another."
})
});
const data = await response.json();
console.log(data);import requests
headers = {
'X-API-Key': 'your_api_key_here',
'Content-Type': 'application/json'
}
payload = {
"text": "Western astrology is founded on the movements and relative positions of celestial bodies such as the Sun, Moon and planets, which are analysed by their movement through signs of the zodiac (twelve spatial divisions of the ecliptic) and by their aspects (based on geometric angles) relative to one another."
}
response = requests.post('https://api.apiverve.com/v1/readabilityscore', headers=headers, json=payload)
data = response.json()
print(data)const https = require('https');
const url = require('url');
const options = {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key_here',
'Content-Type': 'application/json'
}
};
const postData = JSON.stringify({
"text": "Western astrology is founded on the movements and relative positions of celestial bodies such as the Sun, Moon and planets, which are analysed by their movement through signs of the zodiac (twelve spatial divisions of the ecliptic) and by their aspects (based on geometric angles) relative to one another."
});
const req = https.request('https://api.apiverve.com/v1/readabilityscore', options, (res) => {
let data = '';
res.on('data', (chunk) => data += chunk);
res.on('end', () => console.log(JSON.parse(data)));
});
req.write(postData);
req.end();<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apiverve.com/v1/readabilityscore');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: your_api_key_here',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode({
'text': 'Western astrology is founded on the movements and relative positions of celestial bodies such as the Sun, Moon and planets, which are analysed by their movement through signs of the zodiac (twelve spatial divisions of the ecliptic) and by their aspects (based on geometric angles) relative to one another.'
}));
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
?>package main
import (
"fmt"
"io"
"net/http"
"bytes"
"encoding/json"
)
func main() {
payload := map[string]interface{}{
"text": "Western astrology is founded on the movements and relative positions of celestial bodies such as the Sun, Moon and planets, which are analysed by their movement through signs of the zodiac (twelve spatial divisions of the ecliptic) and by their aspects (based on geometric angles) relative to one another."
}
jsonPayload, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://api.apiverve.com/v1/readabilityscore", bytes.NewBuffer(jsonPayload))
req.Header.Set("X-API-Key", "your_api_key_here")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require 'net/http'
require 'json'
uri = URI('https://api.apiverve.com/v1/readabilityscore')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
payload = {
"text": "Western astrology is founded on the movements and relative positions of celestial bodies such as the Sun, Moon and planets, which are analysed by their movement through signs of the zodiac (twelve spatial divisions of the ecliptic) and by their aspects (based on geometric angles) relative to one another."
}
request = Net::HTTP::Post.new(uri)
request['X-API-Key'] = 'your_api_key_here'
request['Content-Type'] = 'application/json'
request.body = payload.to_json
response = http.request(request)
puts JSON.pretty_generate(JSON.parse(response.body))Authentication
This API requires authentication via API key. Include your API key in the request header:
X-API-Key: your_api_key_hereParameters
The following parameters are available for this API endpoint:
| Parameter | Type | Required | Location | Description | Example |
|---|---|---|---|---|---|
| text | string | Yes | body | The text to calculate the readability score of | Western astrology is founded on the movements and relative positions of celestial bodies such as the Sun, Moon and planets, which are analysed by their movement through signs of the zodiac (twelve spatial divisions of the ecliptic) and by their aspects (based on geometric angles) relative to one another. |
Response
The API returns responses in JSON, XML, and YAML formats:
Example Responses
{
"status": "ok",
"error": null,
"data": {
"textCounts": {
"syllableCount": 82,
"lexiconCount": 49,
"sentenceCount": 1
},
"readability": {
"fleschReadingEase": 13.28,
"fleschKincaidGrade": 23.6,
"gunningFog": 26.95,
"colemanLiauIndex": 13.19,
"smogIndex": 22.08,
"automatedReadabilityIndex": 27.8,
"daleChallReadabilityScore": 17
},
"readabilityText": {
"fleschReadingEase": "very confusing",
"daleChallReadabilityScore": "average 13th to 15th-grade (college) student"
}
}
}<Root>
<status>ok</status>
<error />
<data>
<textCounts>
<syllableCount>82</syllableCount>
<lexiconCount>49</lexiconCount>
<sentenceCount>1</sentenceCount>
</textCounts>
<readability>
<fleschReadingEase>13.28</fleschReadingEase>
<fleschKincaidGrade>23.6</fleschKincaidGrade>
<gunningFog>26.95</gunningFog>
<colemanLiauIndex>13.19</colemanLiauIndex>
<smogIndex>22.08</smogIndex>
<automatedReadabilityIndex>27.8</automatedReadabilityIndex>
<daleChallReadabilityScore>17</daleChallReadabilityScore>
</readability>
<readabilityText>
<fleschReadingEase>very confusing</fleschReadingEase>
<daleChallReadabilityScore>average 13th to 15th-grade (college) student</daleChallReadabilityScore>
</readabilityText>
</data>
</Root>status: ok
error:
data:
textCounts:
syllableCount: 82
lexiconCount: 49
sentenceCount: 1
readability:
fleschReadingEase: 13.28
fleschKincaidGrade: 23.6
gunningFog: 26.95
colemanLiauIndex: 13.19
smogIndex: 22.08
automatedReadabilityIndex: 27.8
daleChallReadabilityScore: 17
readabilityText:
fleschReadingEase: very confusing
daleChallReadabilityScore: average 13th to 15th-grade (college) studentResponse Structure
All API responses follow a consistent structure with the following fields:
| Field | Type | Description | Example |
|---|---|---|---|
| status | string | Indicates whether the request was successful ("ok") or failed ("error") | ok |
| error | string | null | Contains error message if status is "error", otherwise null | null |
| data | object | null | Contains the API response data if successful, otherwise null | {...} |
Response Data Fields
When the request is successful, the data object contains the following fields:
| Field | Type | Sample Value |
|---|---|---|
| textCounts | object | {...} |
| textCounts.syllableCount | number | 82 |
| textCounts.lexiconCount | number | 49 |
| textCounts.sentenceCount | number | 1 |
| readability | object | {...} |
| readability.fleschReadingEase | number | 13.28 |
| readability.fleschKincaidGrade | number | 23.6 |
| readability.gunningFog | number | 26.95 |
| readability.colemanLiauIndex | number | 13.19 |
| readability.smogIndex | number | 22.08 |
| readability.automatedReadabilityIndex | number | 27.8 |
| readability.daleChallReadabilityScore | number | 17 |
| readabilityText | object | {...} |
| readabilityText.fleschReadingEase | string | "very confusing" |
| readabilityText.daleChallReadabilityScore | string | "average 13th to 15th-grade (college) student" |
Headers
Required and optional headers for API requests:
| Header Name | Required | Example Value | Description |
|---|---|---|---|
| X-API-Key | Yes | your_api_key_here | Your APIVerve API key. Found in your dashboard under API Keys. |
| Accept | No | application/json | Specify response format: application/json (default), application/xml, or application/yaml |
| User-Agent | No | MyApp/1.0 | Identifies your application for analytics and debugging purposes |
| X-Request-ID | No | req_123456789 | Custom request identifier for tracking and debugging requests |
| Cache-Control | No | no-cache | Control caching behavior for the request and response |
Client Libraries
To get started with minimal code, most of our APIs are available through client libraries and clients:
Error Codes
The API uses standard HTTP status codes to indicate success or failure:
| Status Code | Message | Description |
|---|---|---|
| 200 | OK | Request successful, data returned |
| 400 | Bad Request | Invalid request parameters or malformed request |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | API key does not have permission for this endpoint |
| 429 | Too Many Requests | Rate limit exceeded, please slow down requests |
| 500 | Internal Server Error | Server error, please try again later |
Was this page helpful?
Help us improve our documentation




