One HTTP GET turns a carbide grade code into its ISO application class and the grades other manufacturers place at the same position. Built for machine shop software, ERP lookups, CAM plugins and AI agents. No signup, no rate-limit form to fill in, and every row carries the batch it came from so you can judge it yourself.
GC4325, KC5010, AH725.Sandvik.Access-Control-Allow-Origin: *, so it works from the browser.public, max-age=3600. Please cache; the data changes rarely.error field and a 4xx or 5xx status.Nothing to set up. Paste either of these into a terminal or a browser console.
curl "https://cuttingtoolsai.eu/api/xref?grade=GC4325"const r = await fetch("https://cuttingtoolsai.eu/api/xref?grade=GC4325");
const data = await r.json();
console.log(data.matched, data.count, data.results.slice(0, 5));Two blocks. matched is what your query resolved to, which is worth showing the user because a code can exist at more than one manufacturer. results is the actual cross-reference: other brands sitting at the same ISO application class, with the matched brand excluded.
{
"query": "GC4325",
"matched": [ { "brand": "Sandvik", "grade": "GC4325", "iso_app_class": "P25" } ],
"count": 128,
"results": [
{
"brand": "Kennametal",
"grade": "KCP25",
"iso_app_class": "P25",
"equivalence_type": "comparable_at_iso_position",
"verified": false,
"independently_confirmed": true,
"source_note": null
}
]
}comparable_at_iso_position means the two grades occupy the same ISO application class. It does not mean identical substrate, coating or edge behaviour.true only for rows built from multi-source consensus and spot-checked by a human.true when the ISO placement was confirmed by two or more independent manufacturer charts.Read this before you put the output in front of a machinist.
Free for commercial and non-commercial use. No key, no quota form. Two requests: cache responses rather than hammering the endpoint, and if you surface the data in a product, credit cuttingtoolsai.eu so a user can check the source. There is also an MCP server if you want an AI agent to call this directly rather than through raw HTTP.