Turn unstructured text into structured JSON matching a caller-supplied schema us
Turn unstructured text into structured JSON matching a caller-supplied schema using Claude Haiku — the agent declares the fields and types it wants, and gets back populated JSON with values pulled from the text and coerced to the right types, so agents can structure any prose into the exact shape their pipeline expects.
Answeringour last check, 2026-09-24
1 of 1checks answered this week
920 msmedian answer time
$0.05listed price per call
$0.05price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://netintel.dev/text-to-json
| Category | Everything else |
|---|---|
| Provider host | netintel.dev |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.05 | 920 ms |
Example input (from the provider)
{
"body": {
"schema": {
"company": "string",
"employees": "number",
"founded_year": "number",
"is_public": "boolean",
"locations": "string[]"
},
"text": "Acme Corp is a privately held software company founded in 2010. The San Francisco-based firm, which also has an office in London, now employs roughly 250 people."
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"schema": {
"description": "A map of field name \u2192 type token. Supported tokens: string, number, boolean, date, string[], number[], object. Max 50 fields. Each field is extracted from the text as the declared type; output keys are forced to exactly these field names.",
"type": "object"
},
"text": {
"description": "The unstructured prose to extract structured data from. Max 10000 words or 50KB.",
"type": "string"
}
},
"required": [
"text",
"schema"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"cached": {
"description": "True if served from the in-memory cache.",
"type": "boolean"
},
"fields_in_schema": {
"description": "Number of fields in the schema.",
"type": "number"
},
"fields_nulled": {
"description": "Number of null fields in the output.",
"type": "number"
},
"fields_populated": {
"description": "Number of non-null fields in the output.",
"type": "number"
},
"findings": {
"description": "Informational findings (e.g. schema_mismatch_corrected, mostly_nulled).",
"items": {
"type": "string"
},
"type": "array"
},
"grade": {
"description": "Letter grade A-F.",
"type": "string"
},
"result": {
"description": "The extracted data: keys are exactly the schema field names, values pulled from the text and cast to the declared types, unfindable fields null.",
"type": "object"
},
"schema_match": {
"description": "True when the model's output keys were exactly the schema field names. False when code had to force-conform (strip extra / add missing) keys.",
"type": "boolean"
},
"score": {
"description": "Quality score 0-100.",
"type": "number"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}