---
title: "Keyword Density Analyzer"
method: POST
path: "/api/v1/tools/keyword-density-analyzer"
tags: ["tools"]
---

# Keyword Density Analyzer

`POST /api/v1/tools/keyword-density-analyzer`

## Request

- Base URL: `https://toolforte.com`
- URL: `https://toolforte.com/api/v1/tools/keyword-density-analyzer`
- Auth: HTTP bearer

Count how often each word or phrase appears in a text and what share of it they take up. Phrases are one to five words long, stop words are left out of the table but still counted in the total, and one target keyword can be reported separately whatever its count. Each row is banded: under 1 percent is sparse, 1 to 3 is good, over 5 reads as stuffing.

## Request body

- object
  - `text` string
  - `phraseLength` integer
  - `minCount` integer
  - `limit` integer
  - `excludeStopWords` boolean
  - `sortBy` string
  - `order` string
  - `targetKeyword` string

## Response `200`

Successful result

- object
  - `ok` boolean
  - `data` object
    - `totalWords` integer
    - `characters` integer
    - `uniqueKeywords` integer
    - `averageWordLength` number
    - `keywords` object[]
      - `keyword` string
      - `count` integer
      - `density` number
      - `band` string
    - `target` object
      - `keyword` string
      - `count` integer
      - `density` number
      - `band` string

## Other responses

- `400`: Missing or invalid request fields
- `401`: Invalid or missing API key
- `429`: Monthly plan limit reached

---

[API](https://skmtc.dev/toolforte/apis/toolforte-api.md) · [All operations](https://skmtc.dev/toolforte/apis/toolforte-api/llms.txt) · [OpenAPI document](https://skmtc.dev/toolforte/apis/toolforte-api/revisions/4d814d484dfc?raw)
