Extract & structure ↗
Entity matching
Two record sets → which rows are the same real-world thing, with confidence and reasoning. Fuzzy names, typos, aliases handled.
POST /v1/match$0.08/run · 8 credits, charged only on success
Send this
{
"a": [
{
"name": "Acme Supplies Inc",
"city": "Columbus"
}
],
"b": [
{
"vendor": "ACME SUPPLY, INC.",
"location": "Columbus, OH"
}
],
"keys": [
"name"
]
}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
{
"matches": [
{
"aIndex": 0,
"bIndex": 0,
"confidence": 0.94,
"reason": "Same entity: name variant + same city."
}
],
"unmatchedA": [],
"unmatchedB": [],
"usage": {
"credits": 8,
"balanceRemaining": 358
}
}Four ways in. Same $0.08/run.
curl
curl https://api.kynth.studio/v1/match \
-H "Authorization: Bearer ksk_live_…" \
-H "Content-Type: application/json" \
-d '{"a":[{"name":"Acme Supplies Inc","city":"Columbus"}],"b":[{"vendor":"ACME SUPPLY, INC.","location":"Columbus, OH"}],"keys":["name"]}'TypeScript
import { KynthCore } from "@kynth/api";
const kynth = new KynthCore({ apiKey: process.env.KYNTH_API_KEY! });
const result = await kynth.match({
"a": [
{
"name": "Acme Supplies Inc",
"city": "Columbus"
}
],
"b": [
{
"vendor": "ACME SUPPLY, INC.",
"location": "Columbus, OH"
}
],
"keys": [
"name"
]
});Python
from kynth import Kynth
client = Kynth(api_key=os.environ["KYNTH_API_KEY"])
result = client.match(
a=[
{
"name": "Acme Supplies Inc",
"city": "Columbus"
}
],
b=[
{
"vendor": "ACME SUPPLY, INC.",
"location": "Columbus, OH"
}
],
keys=[
"name"
],
)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_match 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.
Guaranteed structure
$0.06/call
Any messy input — text, HTML, an email — plus YOUR JSON schema → output that conforms to it. Retries and validation handled.