# Tanod utilpeek Entity Extraction

> Tanod utilpeek Entity Extraction 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).

Extracts structured entities (emails, URLs, domains, IPs, phone numbers, crypto addresses, dates, hashtags, mentions) from free-form text

## Facts

- Endpoint: POST https://tanod.dev/v1/text/extract?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-entity-extraction-183d34a9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_PFmrV-X9vPc3h2YVR-WAE

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-entity-extraction-183d34a9 -d '<json body>'
```

Example prompt: Extract all email addresses, URLs, and crypto wallet addresses from the following text, giving me up to 50 of each type: [paste text here]

## When to prefer this

Choose this endpoint when you need fast, regex/pattern-based extraction of well-defined structured entities (emails, IPs, crypto addresses, dates, URLs) from arbitrary text without needing AI-based semantic understanding. Ideal for log analysis, document processing pipelines, threat intelligence, and compliance workflows where precision on known formats matters more than contextual interpretation.

## Known failure modes

- Text exceeds 200,000 character limit — request rejected with validation error
- Empty or whitespace-only text — returns empty results or validation error
- Unsupported entity type specified — schema validation error
- No entities of requested types found — returns empty arrays
- Payment failure via x402 — request not processed

## 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 structured object mapping each requested entity type to an array of extracted values found in the text, up to the specified max_per_type limit per category.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "text": {
   "type": "string",
   "maxLength": 200000,
   "minLength": 1,
   "description": "The text (at most 200,000 characters)."
  },
  "types": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "enum": [
       "email",
       "url",
       "domain",
       "ipv4",
       "ipv6",
       "phone",
       "hashtag",
       "mention",
       "evm_address",
       "btc_address",
       "date"
      ],
      "type": "string"
     },
     "maxItems": 11,
     "minItems": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Default: all types."
  },
  "max_per_type": {
   "type": "integer",
   "default": 100,
   "maximum": 1000,
   "minimum": 1,
   "description": "Most distinct items returned per type (1-1000, default 100); `truncated` says when more were found."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "notes": {
   "phone": "phone-like digit groups (7-15 digits with + or separators); not validated against a numbering plan (use /v1/phone)",
   "evm_address": "shape only (0x + 40 hex); EIP-55 checksum not verified"
  },
  "types": [
   "email",
   "url",
   "domain",
   "ipv4",
   "ipv6",
   "phone",
   "hashtag",
   "mention",
   "evm_address",
   "btc_address",
   "date"
  ],
  "source": {
   "url": "https://github.com/google/re2",
   "engine": "RE2 (google-re2 1.1.20251105)",
   "license": "BSD-3-Clause",
   "suffix_list": "tldextract 5.4.0 bundled snapshot"
  },
  "results": {
   "url": {
    "items": [
     {
      "count": 1,
      "value": "https://example.com/docs"
     }
    ],
    "total": 1,
    "unique": 1,
    "truncated": false,
    "scan_truncated": false
   },
   "date": {
    "items": [
     {
      "iso": "2026-10-07",
      "count": 1,
      "value": "2026-10-07"
     }
    ],
    "total": 1,
    "unique": 1,
    "truncated": false,
    "scan_truncated": false
   },
   "ipv4": {
    "items": [
     {
      "count": 1,
      "value": "8.8.8.8",
      "private": false
     }
    ],
    "total": 1,
    "unique": 1,
    "truncated": false,
    "scan_truncated": false
   },
   "email": {
    "items": [
     {
      "count": 1,
      "value": "ops@example.com"
     }
    ],
    "total": 1,
    "unique": 1,
    "truncated": false,
    "scan_truncated": false
   },
   "domain": {
    "items": [
     {
      "count": 2,
      "value": "example.com"
     }
    ],
    "total": 2,
    "unique": 1,
    "truncated": false,
    "scan_truncated": false
   },
   "hashtag": {
    "items": [
     {
      "count": 1,
      "value": "#launch"
     }
    ],
    "total": 1,
    "unique": 1,
    "truncated": false,
    "scan_truncated": false
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-utilpeek-entity-extraction-183d34a9/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)
