01

Quickstart

No account or API key is required. Send JSON to the versioned endpoint:

curl -X POST https://textanalysis.tools/api/v1/analyze \
  -H "Content-Type: application/json" \
  -d '{
    "sourceType": "text",
    "source": "Bag of Words turns text into countable features.",
    "language": "auto",
    "focus": ["bag of words"],
    "top": 20
  }'
Machine-readable contract

Import /openapi.json into an agent or API client. The specification includes both available operations and their input schemas.

02

Analyze text or a webpage

POST /api/v1/analyze accepts raw text, HTML, or a public HTTP(S) URL. Set sourceType to text or url.

sourcerequired string

The text, HTML, or URL to analyze.

languageauto · en · ru · uk

Defaults to automatic detection.

focusstring or string[]

Phrases to count and report per 1,000 words.

top5–100

Maximum number of word and bigram rows.

tolerance1.2–4

Threshold for above/below-model diagnostics.

keepStopwordsboolean

Keep common language stop words when true.

03

Compare versions A and B

POST /api/v1/compare accepts two complete analysis inputs and returns both results plus metric and word-frequency differences.

{
  "a": { "sourceType": "text", "source": "First text version..." },
  "b": { "sourceType": "text", "source": "Updated text version..." }
}

wordChanges is ordered by the largest absolute change in share, making it useful for agents reviewing an edited page.

04

Response fields

tokenCount

Words remaining after cleanup and stop-word handling.

vocabularySize

Number of distinct analyzed words.

rows

Ranked words with counts, percentage, per-1,000 value, expected counts, ratios, and zones.

bigrams

Two-word phrases with counts, shares, percentages, and per-1,000 values.

focusCoverage

Tracked phrase counts and occurrences per 1,000 words.

fittedExponent

Estimated frequency-curve exponent.

Successful responses identify storage as none. Errors use a stable error.code and a human-readable error.message.

05

Limits and safe use

  • Raw text is limited to 500,000 characters.
  • Remote pages are limited to 2,000,000 characters and a 12-second fetch.
  • Only public HTTP and HTTPS pages are accepted; private and local network targets are blocked.
  • The API allows 30 requests per minute per client on a best-effort basis.
  • Use the results as editorial diagnostics, not as guarantees of search ranking.

06

Agent discovery

Agents can read /llms.txt for a concise capability map and /openapi.json for the callable contract. Both resources and the API support cross-origin access.

FREE · STATELESS

Analyze without storing the submitted text

Use the web interface manually or call the same analysis engine from your agent or application.

Open the free analyzer