# Tanod utilpeek Text Replace

> Tanod utilpeek Text Replace 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).

Performs find-and-replace on text using either literal string matching or RE2 regex patterns (guaranteed linear-time execution).

## Facts

- Endpoint: POST https://tanod.dev/v1/text/replace?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-text-replace-db654b26
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_GROx5TJE_IdZcqsyFSt_j

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-text-replace-db654b26 -d '<json body>'
```

Example prompt: In this 10,000-character document, replace every occurrence of 'color' with 'colour' using literal mode, case-insensitively, and limit it to 500 replacements.

## When to prefer this

Choose this endpoint when you need guaranteed linear-time regex execution (RE2 semantics) on large text bodies up to 200,000 characters, especially when safety from catastrophic backtracking is required. Prefer it over PCRE-based tools when processing untrusted patterns or when you need RE2-specific features like named capture groups without lookaround. It's ideal for agents doing automated text normalization, code refactoring, or document sanitization at low cost ($0.001/call).

## Known failure modes

- Invalid RE2 regex pattern — lookaheads, lookbehinds, or backreferences not supported; returns error
- Text exceeds 200,000 character limit — request rejected
- find or text fields missing or empty — validation error
- max_replacements out of range (must be 1–10,000) — validation error
- Malformed replacement string with invalid capture group references in regex mode

## 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 the transformed text with all matching occurrences replaced according to the specified mode (literal or RE2 regex), along with metadata such as the number of substitutions made.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "find": {
   "type": "string",
   "maxLength": 1000,
   "minLength": 1,
   "description": "Literal text, or an RE2 pattern (mode=regex; no backreferences or lookaround; \\p{L} for letters)."
  },
  "mode": {
   "enum": [
    "literal",
    "regex"
   ],
   "type": "string",
   "default": "literal",
   "description": "literal (default: find is plain text) or regex (find is an RE2 pattern)."
  },
  "text": {
   "type": "string",
   "maxLength": 200000,
   "minLength": 1,
   "description": "The text (at most 200,000 characters)."
  },
  "dot_all": {
   "type": "boolean",
   "default": false,
   "description": "regex: . also matches a newline."
  },
  "replace": {
   "type": "string",
   "maxLength": 1000,
   "description": "Replacement; regex mode: \\1..\\99, \\g<name>, \\\\ for a backslash."
  },
  "multiline": {
   "type": "boolean",
   "default": false,
   "description": "regex: ^ and $ match at line breaks."
  },
  "case_sensitive": {
   "type": "boolean",
   "default": true,
   "description": "Match letter case exactly (default true); false ignores case."
  },
  "max_replacements": {
   "type": "integer",
   "default": 10000,
   "maximum": 10000,
   "minimum": 1,
   "description": "Replace at most this many matches, first to last (1-10,000, default 10,000)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "mode": "regex",
  "text": "#123 shipped; #456 pending",
  "engine": "RE2 (google-re2 1.1.20251105)",
  "replacements": 2,
  "limit_reached": false
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-utilpeek-text-replace-db654b26/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)
