# Tanod utilpeek Word Frequency & N-gram Counter

> Tanod utilpeek Word Frequency & N-gram Counter is a paid API for AI agents from tanod.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-11).

Counts word or n-gram frequencies in a block of text, returning ranked lists of top tokens with occurrence counts.

## Facts

- Endpoint: POST https://tanod.dev/v1/text/frequency?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-utilpeek-word-frequency-n-gram-counter-28514c65
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hIgOkkkPadhn6JIQ9ZOwE

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tanod-utilpeek-word-frequency-n-gram-counter-28514c65 -d '<json body>'
```

Example prompt: What are the top 20 most frequent bigrams in the following article text, ignoring stop words (English list), and make it case-insensitive? [paste text here]

## When to prefer this

Choose this endpoint when you need fast, configurable word or n-gram frequency counts from raw text — especially when stop-word removal, case normalization, minimum token length, and multilingual support (de/en/es/fr/it/nl/pt) are needed out of the box. Prefer it over building custom tokenizers when the text fits within 200,000 characters and you want ranked frequency lists as a ready-to-use output rather than full NLP pipelines.

## Known failure modes

- Text exceeds 200,000 character limit — request rejected
- Invalid ngram value outside 1-3 range — validation error
- Unsupported language enum value — validation error
- Empty or missing text field — validation error
- top_n out of range (must be 1-1000) — validation error
- Payment not included or insufficient — x402 payment required error

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

Returns a ranked list of up to `top_n` word tokens or n-grams (unigrams, bigrams, or trigrams) each paired with their occurrence count, computed from the submitted text after optional stop-word removal, case normalization, and length filtering. If `characters` is true, also includes per-character frequency counts (excluding whitespace).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "text": {
   "type": "string",
   "maxLength": 200000,
   "minLength": 1,
   "description": "The text (at most 200,000 characters)."
  },
  "ngram": {
   "type": "integer",
   "default": 1,
   "maximum": 3,
   "minimum": 1,
   "description": "Term length in words: 1 (default), 2 or 3; n-grams never span punctuation."
  },
  "top_n": {
   "type": "integer",
   "default": 50,
   "maximum": 1000,
   "minimum": 1,
   "description": "Most frequent terms to return (1-1000, default 50)."
  },
  "language": {
   "enum": [
    "de",
    "en",
    "es",
    "fr",
    "it",
    "nl",
    "pt",
    "none"
   ],
   "type": "string",
   "default": "en",
   "description": "Stop-word list to drop (none = keep every word)."
  },
  "characters": {
   "type": "boolean",
   "default": false,
   "description": "Also count characters (whitespace excluded)."
  },
  "min_length": {
   "type": "integer",
   "default": 1,
   "maximum": 50,
   "minimum": 1,
   "description": "Shortest word counted, in characters (1-50, default 1; single words only, ngram=1)."
  },
  "case_sensitive": {
   "type": "boolean",
   "default": false,
   "description": "Count \"Word\" and \"word\" apart (default false: terms are lowercased)."
  },
  "include_numbers": {
   "type": "boolean",
   "default": false,
   "description": "Also count numeric tokens such as 2026 (default false)."
  },
  "remove_stopwords": {
   "type": "boolean",
   "default": true,
   "description": "Drop the stop words of `language` (default true)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "top": [
   {
    "term": "cat",
    "count": 2,
    "share": 0.333333
   },
   {
    "term": "sat",
    "count": 2,
    "share": 0.333333
   },
   {
    "term": "dog",
    "count": 1,
    "share": 0.166667
   }
  ],
  "ngram": 1,
  "total": 6,
  "source": {
   "library": "own implementation (standard library)",
   "license": "n/a"
  },
  "unique": 4,
  "language": "en",
  "stopwords_removed": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-utilpeek-word-frequency-n-gram-counter-28514c65/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
