# Text Analysis Tools – Keyword Extraction

> Text Analysis Tools – Keyword Extraction is a paid API for AI agents from text-metrics.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-21).

Extracts the top N keywords and two-word phrases from English text by frequency, returning counts and percentage share after removing stopwords.

## Facts

- Endpoint: GET https://text-metrics.x402tookit.com/keyword-extract?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/text-analysis-tools-keyword-extraction-3e796dc8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OW9QkRIowaCSVVUWX9eh3

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 text-analysis-tools-keyword-extraction-3e796dc8
```

Example prompt: Can you pull the top 10 keywords and repeated two-word phrases from this article text, with how often each appears and its share of content words? Here's the text: 'Artificial intelligence is transforming healthcare by enabling faster diagnosis, reducing costs, and improving patient outcomes across hospitals worldwide.'

## When to prefer this

Choose this endpoint when you need fast, lightweight keyword frequency analysis on English text without requiring an ML model or embeddings. It is ideal for SEO audits, content tagging, topic fingerprinting, or detecting overused terms. Prefer alternatives (e.g., TF-IDF or embedding-based extractors) when you need semantic relevance rather than raw frequency, or when working with non-English text.

## Known failure modes

- Text exceeds 3000 character limit — request is rejected or truncated
- n parameter outside 1–25 range — may return error or default to 10
- Non-English text submitted — stopword removal may be ineffective, results less meaningful
- Empty or whitespace-only text — returns empty keyword list
- Payment failure (x402) — endpoint returns 402 and no results

## How this service works

Top keywords and two-word phrases in an English text by frequency after removing stopwords, with counts and share.

## Output

Returns a list of the top N keywords (single words, stopwords removed) each with their raw occurrence count and share of content words as a percentage, plus a list of repeated two-word phrases with counts. Also includes total word count, content word count, and unique content word count.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "text"
     ],
     "properties": {
      "n": {
       "type": "integer",
       "description": "How many keywords, 1 to 25, default 10"
      },
      "text": {
       "type": "string",
       "description": "English text, up to 3000 characters"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "keywords": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "object",
        "properties": {
         "word": {
          "type": [
           "null",
           "string"
          ]
         },
         "count": {
          "type": [
           "null",
           "number"
          ]
         },
         "sharePct": {
          "type": [
           "null",
           "number"
          ]
         }
        }
       }
      },
      "disclaimer": {
       "type": [
        "null",
        "string"
       ]
      },
      "notChecked": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "totalWords": {
       "type": [
        "null",
        "number"
       ]
      },
      "contentWords": {
       "type": [
        "null",
        "number"
       ]
      },
      "repeatedPhrases": {
       "type": [
        "array",
        "null"
      
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/text-analysis-tools-keyword-extraction-3e796dc8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from text-metrics.x402tookit.com](https://www.zero.xyz/host/text-metrics.x402tookit.com/llms.txt)
