Text Readability ScoreText Readability Score

Token Usage:1 per call

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 Directory

Endpoint

POST Request
POST https://api.apiverve.com/v1/readabilityscore

Code Examples

Here are examples of how to call this API in different programming languages:

cURL Request
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."
}'
JavaScript (Fetch API)
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);
Python (Requests)
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)
Node.js (Native HTTPS)
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 (cURL)
<?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);

?>
Go (net/http)
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))
}
Ruby (Net::HTTP)
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:

Required Header
X-API-Key: your_api_key_here

Parameters

The following parameters are available for this API endpoint:

ParameterTypeRequiredLocationDescriptionExample
textstringYesbodyThe text to calculate the readability score ofWestern 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

JSON Response
200 OK
{
  "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"
    }
  }
}
XML Response
200 OK
<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>
YAML Response
200 OK
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) student

Response Structure

All API responses follow a consistent structure with the following fields:

FieldTypeDescriptionExample
statusstringIndicates whether the request was successful ("ok") or failed ("error")ok
errorstring | nullContains error message if status is "error", otherwise nullnull
dataobject | nullContains the API response data if successful, otherwise null{...}

Response Data Fields

When the request is successful, the data object contains the following fields:

FieldTypeSample Value
textCountsobject{...}
textCounts.syllableCountnumber82
textCounts.lexiconCountnumber49
textCounts.sentenceCountnumber1
readabilityobject{...}
readability.fleschReadingEasenumber13.28
readability.fleschKincaidGradenumber23.6
readability.gunningFognumber26.95
readability.colemanLiauIndexnumber13.19
readability.smogIndexnumber22.08
readability.automatedReadabilityIndexnumber27.8
readability.daleChallReadabilityScorenumber17
readabilityTextobject{...}
readabilityText.fleschReadingEasestring"very confusing"
readabilityText.daleChallReadabilityScorestring"average 13th to 15th-grade (college) student"

Headers

Required and optional headers for API requests:

Header NameRequiredExample ValueDescription
X-API-KeyYesyour_api_key_hereYour APIVerve API key. Found in your dashboard under API Keys.
AcceptNoapplication/jsonSpecify response format: application/json (default), application/xml, or application/yaml
User-AgentNoMyApp/1.0Identifies your application for analytics and debugging purposes
X-Request-IDNoreq_123456789Custom request identifier for tracking and debugging requests
Cache-ControlNono-cacheControl 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:

Run in PostmanNPMPyPINuGetSwagger

Error Codes

The API uses standard HTTP status codes to indicate success or failure:

Status CodeMessageDescription
200OKRequest successful, data returned
400Bad RequestInvalid request parameters or malformed request
401UnauthorizedMissing or invalid API key
403ForbiddenAPI key does not have permission for this endpoint
429Too Many RequestsRate limit exceeded, please slow down requests
500Internal Server ErrorServer error, please try again later

What's Next?

Continue your journey with these recommended resources

Was this page helpful?

Help us improve our documentation