// route_optimization_api
The Route Optimization API for developers and their agents.
The Route Optimization API for developers and their agents.
// why_developers_ship_with_us
Optimization that holds up
Ten years of hard logistics cases, in one engine. Real constraints, real routes, not toy examples.
Integrated in minutes
Typed SDKs, clear docs, forkable examples. From first call to production fast.
Transparent, free to start
Pay per stop, no quote, no sales call. The full product on the free tier, test your case before you spend a cent.
Built for agents too
MCP server, agentic docs, typed schemas. Your agent models the problem, not just the call.
// how_it_works
Three steps to your first optimized route.
No credit card. The free tier is live the moment you sign up.
A sandbox key, ready to paste into the SDK or your agent.
Send vehicles, stops and constraints, get optimized routes back.
// the_old_way → deleted
Ship the diff.
Every other path to route optimization, built in-house or bought, costs you the same things: weeks, experts, and a quote. Here’s what switching looks like.
// proven_depth
Past the toy examples. Real-world constraints, handled.
Ten years of modeling depth, exposed as first-class API concepts. Toggle the constraints your operation actually has and watch the request build, this is exactly what you’d send. Every constraint, on every plan, including the free tier.
Une tarification transparente. Payez à l'adresse.Transparent pricing. Pay per address.
Sans abonnement, sans paliers, sans appel commercial. Commencez gratuitement, puis rechargez avec des packs prépayés : le prix par adresse baisse à mesure que le volume augmente.No subscription, no tiers, no sales call. Start for free, then top up with prepaid packs: the price per address drops as volume grows.
Les re-optimisations sont gratuites (dans une fenêtre de 24h), vous ne payez que pour les adresses réellement optimisées.Re-optimizations are free (within a 24-hour window), you only pay for the addresses actually optimized.
// free_tier
Build the whole thing on the free tier.
From first call to production, no payment, no sales call. 1,000 free stops to test, Python and JS/TS SDKs, full sandbox, complete docs.
The whole product, capped by volume, prove it works before you spend a cent.
// 2026_benchmark
Benchmarked against 10 route optimization APIs on real constraints.
An independent, reproducible study scored 11 route optimization engines on 149 documented business constraints across 8 sectors.
// trust
Built to be trusted in production.
One engine, written in Rust, owned end to end. No wrapper around an open-source core, so we can answer for every result it returns.
Owned end to end
A single proprietary optimization engine, built in Rust, controlled from the algorithm to the API.
Improves weekly, never breaks
Engine updates ship 1–2× a week, each validated against a non-regression benchmark. Backward-compatible for 5+ years.
Deterministic by design
Same input, same solution, every time. Fixed-seed local search, fully reproducible. No flaky outputs to debug.
Scales for real
Autoscaling SaaS. Fire thousands of routes in under an hour, then scale back to zero.
// quickstart
From first call to first routes in minutes.
A consistent, predictable API. Errors that are clear and actionable. Typed SDKs for Python and JS/TS. Reference docs that don’t assume an operations researcher.
curl -X POST https://api.kardinal.ai/v1/optimize \ -H "Authorization: Bearer $KARDINAL_KEY" \ -H "Content-Type: application/json" \ -d @plan.json
from kardinal import Kardinal k = Kardinal(api_key=os.environ["KARDINAL_KEY"]) result = k.optimize( vehicles=vehicles, stops=stops, constraints=["time_windows", "capacity"], ) print(result.routes)
import { Kardinal } from "@kardinal/sdk"; const k = new Kardinal({ apiKey: process.env.KARDINAL_KEY }); const { routes } = await k.optimize({ vehicles, stops, constraints: ["time_windows", "capacity"], }); console.log(routes);
// agent_ready
Point your agent at our docs. It integrates Kardinal end-to-end.
Agents fail at route optimization because it’s a modeling problem, not a coding problem. We ship the modeling layer your agent is missing: MCP server, agentic docs, typed SDKs, skills.
An auto-generated MCP can call an endpoint. It can’t model a pickup-and-delivery problem with legal driver breaks. The modeling layer is the product, that’s what your agent gets here and nowhere else.
Your first optimized route is five minutes away.
No sales call. No credit card. 1 000 free stops, enough to take your integration all the way to done.
Want to talk to our experts? → Contact us
Your first optimized route is five minutes away.
No sales call. No credit card. 1 000 free stops, enough to take your integration all the way to done.
Want to talk to our experts? → Contact us
// kardinal_factory
Need it modeled, deployed and run for you?
For large-scale managed operations, Kardinal Factory models, deploys and operates optimization with your teams. A different universe, same company.