---
title: Basic Text Analysis API
slug: analyze-text
url: https://apyhub.com/creightonnick0/service/analyze-text
provider: nick creighton
categories: [SEO]
tags: [text-analysis, readability, keyword-analysis, content-stats, reading-time]
auth: api_key
version: 1.0.0
service_type: sync
endpoints: 1
atoms: 10
mcp: true
---

# Basic Text Analysis API

Analyze any text for word counts, readability, top keywords, and reading time. Useful for editorial review, SEO checks, and language statistics.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| POST | `https://api.eu.apyhub.com/creightonnick0/analyze-text` | What it does Analyzes the submitted text and returns readability metrics, text statistics, keyword… | 10 |

## Endpoint reference

### Analyze text for readability, statistics, reading time, and keywords.

`POST https://api.eu.apyhub.com/creightonnick0/analyze-text` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `wpm` | body | integer | no | Reading speed for the time estimate (default 200) Example: `200`. |
| `text` | body | string | yes | The text to analyze Example: `The quick brown fox jumps over the lazy dog.`. |

#### Quickstart

Analyze a piece of text by sending it in the request body.

```bash
curl -X POST "https://api.eu.apyhub.com/creightonnick0/analyze-text" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"The quick brown fox jumps over the lazy dog."}'
```

#### What you'll get back

Returns a JSON object with these top-level fields, as available: `counts` object, `averages` object, `readability` object, `top_keywords` array, and `time_estimates` object.

```json
{
  "counts": {
    "words": 9,
    "sentences": 1,
    "syllables": 11,
    "characters": 44,
    "unique_words": 8,
    "characters_no_spaces": 35
  },
  "averages": {
    "syllables_per_word": 1.22,
    "words_per_sentence": 9,
    "characters_per_word": 3.89
  },
  "readability": {
    "interpretation": "Easy to read",
    "flesch_reading_ease": 94.3,
    "flesch_kincaid_grade": 3.1
  },
  "top_keywords": [
    {
      "word": "quick",
      "count": 1
    }
  ],
  "time_estimates": {
    "reading_seconds": 3.0,
    "speaking_seconds": 4.5
  }
}
```

## About

## What it does
Text Analysis helps you measure and summarize plain text in one request. Send text, optionally set a reading speed with `wpm`, and get back word, sentence, syllable, character, and unique-word counts plus readability and timing data.

Use it when you need to score article draft difficulty, estimate how long a passage will take to read or speak, or extract the most common keywords from user-submitted content. The response includes `counts`, `averages`, `readability`, `top_keywords`, and `time_estimates`, so you can feed the results straight into content dashboards, editorial workflows, or review systems.

The readability output includes a plain-language interpretation along with Flesch Reading Ease and Flesch-Kincaid Grade values. The timing estimates give you reading and speaking seconds based on the text and your chosen `wpm` value.

Text Analysis is a good fit anywhere you need quick linguistic statistics without building your own parser or readability calculator.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/creightonnick0/service/analyze-text
