Dev Insights Blog

Updates, tips, and stories to keep you in the loop

By: The ESI Development Team

Published: 2025-09-30

Route to the future: upgrading the /route route

Hi all,

Today we're announcing a major upgrade to the /route route in ESI. We've completely rewritten it from Python to Go, changed it from GET to POST, and significantly improved its performance and reliability. The new route is now available at https://developers.eveonline.com/api-explorer#/operations/PostRoute.

Background

The current implementation of /route has been causing headaches for both CCP and third-party developers. Written in Python, it suffers from the Global Interpreter Lock (GIL) - a fundamental limitation that means only one request can be processed at a time. As this route is CPU-bound, when calculating a route for one request, all other requests had to wait in line.

This creates several problems:

  • Long queues during peak usage.

  • Frequent timeouts and unresponsive services.

  • Slow responses - not because the request was too long, but because it was queued.

The route also uses query parameters for everything, which is problematic for several reasons:

  • Query parameters have length limits that could be exceeded with complex route requests.

  • The syntax was inconsistent and difficult to use correctly.

Introducing: POST /route

We've completely rewritten the /route route from the ground up. Here's what's changed:

  • The new implementation runs on Go, which eliminates the GIL bottleneck entirely. Multiple requests can now be processed concurrently without blocking each other.

  • The new POST route uses a request body, making it much more reliable and easier to work with.

  • The connection limit has been increased from 100 to 1000, allowing for much more complex routing scenarios, like travel via shattered wormholes.

  • The new route uses the same pathfinding algorithm that's used in-game. This means the routes you get through ESI should be much closer to what players see in the client - similar, though not identical.

The details of this new route can be found in the OpenAPI specifications and in the API Explorer.

What does this mean for you?

If you're currently using the GET /route route, you can now update to use the new POST /route route by switching the compatibility date to 2025-09-30 or later. Except for the origin/destination, the query parameters are now part of the JSON request body.

The old GET /route will remain available for at least a few months under compatibility dates before 2025-09-30. Nevertheless, we do encourage upgrading at your earliest opportunity. The performance improvements alone make it worth the effort.

Wrapping up

This upgrade represents a significant improvement to one of the most CPU intensive routes ESI has to offer. The combination of better performance, higher limits, and more accurate routing should make life easier for everyone building tools that depend on route calculations.

Cheers,

Your friendly developers of the EVE (Solar)System Interconnect (working title)