apyhub-logo
250 atoms
Base tier

About

This Utility API calculates the readability score of pdf and document files. A readability score is a number that tells you how easy it will be for someone to read a particular piece of text.
The ApyHub readability assessment API simplifies text evaluation with features like comprehensive readability scores, grade level insights for precise audience targeting, and additional metrics for linguistic complexity. Troubleshooting is made efficient through clear error codes and messages in the API response.
This Utility API is ideal for different use cases:. Content creators can tailor marketing content and materials for optimal audience comprehension. Educators can benefit from this Utility API by aligning educational materials with students' cognitive abilities, fostering engaging learning experiences. Researchers can also find value in improving the accessibility of research papers, ensuring complex findings are understandable to a diverse readership.
Endpoint Selector
Input

API Playground

Documentation

Extract Readability Score from File
POST
https://api.apyhub.com/extract/document/readability-score/file

Request example

1
curl --location --request POST 'https://api.apyhub.com/extract/document/readability-score/file' \
2
--header 'apy-token: {{token}}' \
3
--form 'file=@"test.pdf"'
Method: POST
Content Type: multipart/form-data
Request Body
AttributeTypeMandatoryDescription
fileFileYesThe source pdf or document file should be in .pdf,.doc or .docx format for which you want to calculate the readability score metics.
Response
AttributeTypeDescription
data.flesh_kincaid_reading_ease.scoreNumberThe Flesch Reading Ease score ranges from 1 to 100, The Flesh Kincaid Reading Ease Table is an example of values. While the maximum score is 121.22, there is no limit on how low the score can be. A negative score is valid.
data.flesh_kincaid_reading_ease.levelNumberThe Flesch-Kincaid Grade of the given text.
data.flesh_kincaid_reading_ease.labelBooleanIf the Flesch Reading Ease score is greater then 70 it is true else false
data.flesh_kincaid_reading_ease.classStringDescribes the readability class or category, such as College for complex texts, the Flesh Kincaid Reading Ease Table contains all possible values.
data.flesh_kincaid_reading_ease.class_labelStringProvides a descriptive label for the readability class,the Flesh Kincaid Reading Ease Table contains all possible values like Difficult to read.
data.stats.paragraphsNumberThe total number of paragraphs in the text.
data.stats.sentencesNumberThe total count of sentences in the text.
data.stats.wordsNumberThe total number of words in the text.
data.stats.charactersNumberThe total character count in the text.
data.stats.reading_timeNumberThe estimated time in seconds it would take to read the entire text.
data.stats.speaking_timeNumberThe estimated time in seconds it would take to verbally speak or present the text.
data.stats.avg_word_lengthNumberAverage length of words in the text (measured in characters).
data.stats.avg_sentence_lengthNumberAverage length of sentences in the text (typically measured in words).
data.stats.avg_paragraph_lengthNumberAverage length of paragraphs in the text (often measured in sentences or words).
Flesh Kincaid Reading Ease Table
ScoreClassClass Label
Greater than 905th gradeVery easy to read. Easily understood by an average 11-year-old student.
90.0–80.06th gradeEasy to read. Conversational English for consumers.
80.0–70.07th gradeFairly easy to read.
70.0–60.08th & 9th gradePlain English. Easily understood by 13- to 15-year-old students.
60.0–50.010th to 12th gradeFairly difficult to read.
50.0–30.0CollegeDifficult to read.
30.0–10.0College graduateVery difficult to read. Best understood by university graduates.
Less than 10.0ProfessionalExtremely difficult to read. Best understood by university graduates.
Sample Response
1
{
2
"data": {
3
"flesh_kincaid_reading_ease": {
4
"score": 38.62,
5
"level": 11.8,
6
"label": false,
7
"class": "College",
8
"class_label": "Difficult to read."
9
},
10
"stats": {
11
"paragraphs": 3,
12
"sentences": 17,
13
"words": 267,
14
"characters": 1555,
15
"reading_time": 22.84,
16
"speaking_time": 106.8,
17
"avg_word_length": 5.82,
18
"avg_sentence_length": 15.71,
19
"avg_paragraph_length": 5.67
20
}
21
}
22
}

HTTP Response Codes

The method may return one of the following HTTP status codes:
Status CodeDescription
200The request was successful.
401Required authentication information is either missing or not valid for the resource.
400Invalid input - the image urls are corrupt or not accessible.
500If any unexpected error occurs while processing the request.

Authentication

All requests to ApyHub services need to be authenticated, currently we support tokens or basic authentication mechanisms. You can generate and view your existing credentials from workspace settings (on the left side of the navbar) and go to applications.
Points to note:
  • Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
  • Use the apy-token as the header parameter to pass the token.
  • Use the Authorization header to send the basic authentication credentials.

Error codes

1
{
2
"error": {
3
"code": 105,
4
"message": "Invalid URL"
5
}
6
}
To search for a specific error code, enter the code in the search box below. Alternatively, you can click on the button to view a complete list of all error codes.