# Tanod mlpeek – Text Similarity Scoring

> Tanod mlpeek – Text Similarity Scoring is a paid API for AI agents from tanod.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-10).

Computes cosine similarity scores between pairs of text strings using embedding models (English or multilingual), supporting up to 50 pairs per call.

## Facts

- Endpoint: POST https://tanod.dev/v1/similarity?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-mlpeek-text-similarity-scoring-fab46715
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8H3OpB930ZlHFBIfIOAEy

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-mlpeek-text-similarity-scoring-fab46715 -d '<json body>'
```

Example prompt: Can you score how semantically similar these two sentences are — 'The cat sat on the mat' and 'A feline rested on the rug' — using the small-en model?

## When to prefer this

Choose this endpoint when you need a lightweight, pay-per-call cosine similarity score without managing your own embedding infrastructure. It is especially useful for agents doing relevance ranking, duplicate detection, or semantic deduplication at low volume. The multilingual model option makes it suitable for cross-language comparisons. Prefer it over full vector database lookups when you just need a point similarity score for 1–50 pairs on demand.

## Known failure modes

- Text exceeds 4,000 character limit per string — request rejected with validation error
- More than 50 pairs submitted — request rejected
- Both `a`/`b` and `pairs` omitted — no input to process
- Invalid model enum value — returns validation error
- Payment of 0.001 USDC not attached — 402 Payment Required response
- Text truncated silently at 512 tokens per segment — similarity may be lower than expected for long inputs

## 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 JSON object with the cosine similarity score (0–1) for each text pair, per-pair token counts, truncation flags, model metadata (id, alias, source, license), and aggregate usage stats (total pairs, total tokens, truncated count). For a single pair, also returns a top-level `similarity` field for convenience.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "a": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 4000,
     "minLength": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "First text of a single pair (at most 4,000 characters)."
  },
  "b": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 4000,
     "minLength": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Second text of a single pair."
  },
  "model": {
   "enum": [
    "small-en",
    "multilingual"
   ],
   "type": "string",
   "default": "small-en",
   "description": "small-en (English) or multilingual."
  },
  "pairs": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "type": "object",
      "required": [
       "a",
       "b"
      ],
      "properties": {
       "a": {
        "type": "string",
        "maxLength": 4000,
        "minLength": 1
       },
       "b": {
        "type": "string",
        "maxLength": 4000,
        "minLength": 1
       }
      },
      "additionalProperties": false
     },
     "maxItems": 50,
     "minItems": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Alternative to a / b: 1-50 {a, b} pairs. Priced per pair, minimum USD 0.001 per call."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "model": {
   "id": "bge-small-en-v1.5",
   "alias": "small-en",
   "source": "BAAI/bge-small-en-v1.5",
   "license": "MIT",
   "revision": "5c38ec7c405ec4b44b94cc5a9bb96e735b38267a"
  },
  "usage": {
   "pairs": 1,
   "tokens": 22,
   "truncated": 0
  },
  "metric": "cosine",
  "results": [
   {
    "index": 0,
    "tokens": [
     9,
     13
    ],
    "truncated": false,
    "similarity": 0.913619
   }
  ],
  "similarity": 0.913619,
  "max_tokens_per_text": 512
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-mlpeek-text-similarity-scoring-fab46715/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)
