Extract & structure ↗
Guaranteed structure
Any messy input — text, HTML, an email — plus YOUR JSON schema → output that conforms to it. Retries and validation handled.
POST /v1/structure$0.06/call · 6 credits, charged only on success
Send this
{
"input": "Hey — new order from Dana Reyes, dana@brightco.io. 3 large planters, ship to 44 Vine St Portland OR by the 20th.",
"schema": {
"type": "object",
"required": [
"customer",
"items"
],
"properties": {
"customer": {
"type": "object"
},
"items": {
"type": "array"
},
"shipTo": {
"type": "string"
},
"deadline": {
"type": "string"
}
}
}
}Every response carries usage — the credits burned and your remaining balance. A failed call never burns credits.
Try it live against your own key in the interactive reference; every account gets 500 free credits a month, no card.
Get this back
{
"data": {
"customer": {
"name": "Dana Reyes",
"email": "dana@brightco.io"
},
"items": [
{
"product": "large planter",
"quantity": 3
}
],
"shipTo": "44 Vine St, Portland OR",
"deadline": "2026-07-20"
},
"valid": true,
"notes": [],
"usage": {
"credits": 6,
"balanceRemaining": 371
}
}Four ways in. Same $0.06/call.
curl
curl https://api.kynth.studio/v1/structure \
-H "Authorization: Bearer ksk_live_…" \
-H "Content-Type: application/json" \
-d '{"input":"Hey — new order from Dana Reyes, dana@brightco.io. 3 large planters, ship to 44 Vine St Portland OR by the 20th.","schema":{"type":"object","required":["customer","items"],"properties":{"customer":{"type":"object"},"items":{"type":"array"},"shipTo":{"type":"string"},"deadline":{"type":"string"}}}}'TypeScript
import { KynthCore } from "@kynth/api";
const kynth = new KynthCore({ apiKey: process.env.KYNTH_API_KEY! });
const result = await kynth.structure({
"input": "Hey — new order from Dana Reyes, dana@brightco.io. 3 large planters, ship to 44 Vine St Portland OR by the 20th.",
"schema": {
"type": "object",
"required": [
"customer",
"items"
],
"properties": {
"customer": {
"type": "object"
},
"items": {
"type": "array"
},
"shipTo": {
"type": "string"
},
"deadline": {
"type": "string"
}
}
}
});Python
from kynth import Kynth
client = Kynth(api_key=os.environ["KYNTH_API_KEY"])
result = client.structure(
input="Hey — new order from Dana Reyes, dana@brightco.io. 3 large planters, ship to 44 Vine St Portland OR by the 20th.",
schema={
"type": "object",
"required": [
"customer",
"items"
],
"properties": {
"customer": {
"type": "object"
},
"items": {
"type": "array"
},
"shipTo": {
"type": "string"
},
"deadline": {
"type": "string"
}
}
},
)MCP
// One-time setup in your MCP client (Claude, Cursor, …):
{ "mcpServers": { "kynth-core": {
"command": "npx", "args": ["@kynth/api-mcp"],
"env": { "KYNTH_API_KEY": "ksk_live_…" } } } }
// Then the agent just calls the kynth_structure tool.More from extract & structure
Field extraction
$0.04/call
Pull a field set you define out of any block of text. You name the fields; you get typed values with confidence.
Classification
$0.02/call
Route or tag text against your own taxonomy — a label, a confidence, and a one-line rationale.
Record normalization
$0.05/batch
A batch of messy records → clean canonical rows, with a change log of every fix (casing, formats, dedup-ready values).