List all systems within n gate jumps of specified system

Is there an existing API or database available where I can specify a system name or id (typically only in high or low sec) and get a list of all systems within n jumps of that system? For example, a list of all systems within 3 jumps of Haatomo. Preferably something that would honor the “shortest”, “secure”, or “insecure” routing option that exists in game. I only need it for regular gate-to-gate travel, not using jump drives.

I would like to be able to do this programmatically for a tool that I am working on.

The closest I could find is the range tool of Dotlan but that doesn’t support the routing option and requires manual work.

Just wondering if something like this already exists or if I would need to write/create my own?

Thank you

For “systems in n jumps range”, you can use SQL query on database dump.
Which is not trivial, but straightforward enough.

For security restrictions, you’d probably have to write code.