Extract & structure

Record normalization

A batch of messy records → clean canonical rows, with a change log of every fix (casing, formats, dedup-ready values).

POST /v1/normalize$0.05/batch · 5 credits, charged only on success

Send this

{
  "records": [
    {
      "name": "SMITH, jon",
      "phone": "415.555.0199",
      "state": "california"
    }
  ],
  "instructions": "US phone format, 2-letter state codes, Title Case names"
}

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

{
  "records": [
    {
      "name": "Jon Smith",
      "phone": "(415) 555-0199",
      "state": "CA"
    }
  ],
  "changes": [
    {
      "index": 0,
      "field": "state",
      "from": "california",
      "to": "CA",
      "reason": "2-letter state code"
    }
  ],
  "usage": {
    "credits": 5,
    "balanceRemaining": 366
  }
}

Four ways in. Same $0.05/batch.

curl
curl https://api.kynth.studio/v1/normalize \
  -H "Authorization: Bearer ksk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"records":[{"name":"SMITH, jon","phone":"415.555.0199","state":"california"}],"instructions":"US phone format, 2-letter state codes, Title Case names"}'
TypeScript
import { KynthCore } from "@kynth/api";

const kynth = new KynthCore({ apiKey: process.env.KYNTH_API_KEY! });
const result = await kynth.normalize({
  "records": [
    {
      "name": "SMITH, jon",
      "phone": "415.555.0199",
      "state": "california"
    }
  ],
  "instructions": "US phone format, 2-letter state codes, Title Case names"
});
Python
from kynth import Kynth

client = Kynth(api_key=os.environ["KYNTH_API_KEY"])
result = client.normalize(
    records=[
    {
      "name": "SMITH, jon",
      "phone": "415.555.0199",
      "state": "california"
    }
  ],
    instructions="US phone format, 2-letter state codes, Title Case names",
)
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_normalize tool.

More from extract & structure