Extract fields from text as JSON
Pull named fields out of unstructured text (emails, invoices, listings, bios) and get them back as a JSON object, with null for anything not present. Use to turn messy text into structured data for an agent.
Inputs
| Name | Type | Description |
|---|---|---|
text (required) | string | Source text, up to 12,000 characters |
fields (required) | string | Comma-separated field names to extract (1-30) |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/ai/extract-json?text=Invoice%201043%20from%20Acme%20AB%2C%20due%202026-11-01%2C%20total%202%20450%20SEK%20incl.%20VAT.&fields=invoice_number%2Ccompany%2Cdue_date%2Ctotal%2Ccurrency"
Or one of your 25 free calls, no key:
curl "https://agent-data-tools.revmesh2074.workers.dev/ai/extract-json?text=Invoice%201043%20from%20Acme%20AB%2C%20due%202026-11-01%2C%20total%202%20450%20SEK%20incl.%20VAT.&fields=invoice_number%2Ccompany%2Cdue_date%2Ctotal%2Ccurrency&trial=1"
Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum, Monad, World Chain or Tempo) and retries.
Example result
{
"data": {
"invoice_number": "1043",
"company": "Acme AB",
"due_date": "2026-11-01",
"total": 2450,
"currency": "SEK"
},
"missing": [],
"model": "@cf/meta/llama-3.1-8b-instruct-fp8"
}
From an AI agent (MCP)
Add the MCP server to Claude, Cursor or any MCP client. This tool is ai_extract_json, and the first 25 successful calls are free:
https://agent-data-tools.revmesh2074.workers.dev/mcp