Distance/duration matrix
API · /routing-api
Routing API
Driving routes with distance, duration and geometry, distance/duration matrices for up to 25 points, and nearest-road snapping — on the global OpenStreetMap road network. Coordinates are simple lat,lon pairs.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 143 ms
- Server probes · 24h
- Subscribers
- 3,198
- active
- Total calls
- 60
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 2,500 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 2,500 routes/month at 2 rps
- Directions with distance, duration and geometry
- No credit card
Basic
€15.00 /month
- 40,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 40,000 routes/month at 8 rps
- Distance/duration matrix up to 25 points
- Nearest-road snapping endpoint
- Commercial use allowed
Pro
€45.00 /month
- 175,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 175,000 routes/month at 20 rps
- Full matrix + snapping, higher concurrency
- Email support
- Commercial use allowed
Mega
€129.00 /month
- 700,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 700,000 routes/month at 50 rps
- Priority routing capacity
- 99.9% uptime SLA
- Priority support
Built by
Related APIs
Other APIs with overlapping tags.
Lightning Network API
Live data for Bitcoin's Lightning Network — the instant-payment layer on top of Bitcoin — served straight from mempool.space's public API, no key, nothing cached. The stats endpoint returns the state of the whole network: how many nodes and payment channels exist, the total capacity locked in Bitcoin, the average and median channel capacity, the average fee rate, and the split between clearnet and Tor nodes — the network runs tens of thousands of channels holding thousands of BTC. The top endpoint is the node league table, ranked by liquidity (capacity) or by connectivity (channel count), with each node's alias, capacity and channel count — Bitfinex and Binance run some of the largest routing nodes. The search endpoint finds nodes by alias and returns their public key, capacity and channel count. This is the routing-and-liquidity layer for any Lightning wallet, node operator, payment or analytics app — who the big routing nodes are and how much capacity the network holds. Live from mempool.space, nothing stored. Distinct from on-chain Bitcoin and fee APIs — this is the Lightning Network layer. 4 endpoints.
api.oanor.com/lightning-api
Polyline API
Encode and decode Google/Mapbox encoded polylines — the compact ASCII string used by the Google Maps Directions API, Mapbox, Valhalla, OSRM and GPX-style route geometry to pack a list of coordinates into a few bytes. Decode an encoded string into an array of latitude/longitude points, encode a coordinate list back into a polyline (precision 5, the Google default, or 6 for OSRM/Valhalla overview), and measure a path — point count, total length by the haversine great-circle formula in km and miles, and the bounding box. Perfect for drawing routes on a map, storing tracks compactly, computing trip distance and fitting a map viewport. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. Distinct from coordinate-format conversion (Plus Code/MGRS/UTM) and geohash.
api.oanor.com/polyline-api
RIPEstat API
Internet routing and number-resource intelligence as an API, powered by RIPEstat — the open data service of the RIPE NCC, one of the world's five Regional Internet Registries. Answer the questions network engineers, security teams and researchers ask about the public internet: which Autonomous System and prefix does an IP address belong to; what is an AS (its operator/holder name, whether it is currently announced in BGP, its type and registration block); which IPv4 and IPv6 prefixes does an AS announce; who are an AS's BGP neighbours and peers (and how many); who is the abuse-reporting contact for an IP, prefix or ASN, and which RIR is authoritative; and is a prefix correctly originated according to RPKI route-origin validation (valid, invalid or unknown) with the matching ROAs. The data is real-time, drawn from the RIPE NCC's global network of BGP route collectors and the registries. Inputs accept IPv4 and IPv6 addresses, CIDR prefixes and AS numbers (with or without the AS prefix). Ideal for network operations, threat intelligence and abuse handling, BGP and RPKI monitoring, IP reputation and OSINT tooling, and internet research. Data from the RIPE NCC RIPEstat service.
api.oanor.com/ripestat-api
UK Postcode API
UK postcode and geography lookup as an API, built on the open postcodes.io dataset. Resolve any UK postcode to its latitude/longitude and full administrative hierarchy — district, ward, county, parish, parliamentary constituency, region, NHS health authority and statistical areas (LSOA, MSOA). Validate a postcode, reverse-geocode coordinates to the nearest postcodes (with distance), find postcodes near a given one, autocomplete a partial postcode for address forms, look up an outcode (the first half, e.g. SW1A) and fetch a random postcode. Real data, no key needed upstream. Ideal for checkout and address forms, delivery and logistics, store locators, and UK geo-analytics.
api.oanor.com/postcode-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Routing API?
What's the rate limit for Routing API?
How much does Routing API cost?
Can I cancel my subscription anytime?
Is Routing API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/routing-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/routing-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/routing-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/routing-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.