Course/speed over ground
API · /setanddrift-api
Set and Drift API
Current-sailing (set and drift) navigation maths as an API, computed locally and deterministically — the course-over-ground, course-to-steer and current numbers a mariner, navigator or marine app plots a passage with. The course-made-good endpoint adds the boat's velocity through the water to the current vector to give the real track: the course over ground (COG) and speed over ground (SOG), with the drift angle the current pushes you off your nose — steering 090° through the water at 10 knots with a 2-knot current setting north comes out around 079° over the ground at 10.2 knots. The course-to-steer endpoint solves the other way: the heading to steer to make good a desired ground track, steering up-current to cancel the across-track set (sin(H−T) = −drift·sin(set−track) ÷ speed), and the resulting SOG — usually slower into a current, faster with it astern, and impossible if the current across the track beats your speed. The current endpoint finds the set and drift from the offset between a dead-reckoning position and an observed fix: the set is the bearing DR-to-fix and the drift is that distance ÷ the elapsed time, ready to carry forward. Everything is computed locally and deterministically, so it is instant and private. Ideal for marine-navigation and chartplotter apps, sailing and boating tools, and maritime-training utilities. Pure local computation — no key, no third-party service, instant. Degrees true. 3 compute endpoints. For great-circle distance use a geo-distance API; for tide times a tides API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 90 ms
- Server probes · 24h
- Subscribers
- 4,178
- active
- Total calls
- 0
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 5,450 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 5,450 calls/month
- 2 req/sec
- COG/SOG + course to steer + current
- No credit card
Starter
€12.50 /month
- 54,500 calls / month
- 6 requests / second
- Hard cap (429 above quota, no overage)
- 54,500 calls/month
- 6 req/sec
- Current triangle & drift angle
- Email support
Pro
€39.50 /month
- 229,500 calls / month
- 15 requests / second
- Hard cap (429 above quota, no overage)
- 229,500 calls/month
- 15 req/sec
- Chartplotter & passage-planning pipelines
- Priority support
Mega
€121.50 /month
- 1,145,000 calls / month
- 40 requests / second
- Hard cap (429 above quota, no overage)
- 1,145,000 calls/month
- 40 req/sec
- Fleet & marine-platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Sea Horizon API
Sea-horizon and visibility maths as an API, computed locally and deterministically — the distance-to-horizon, geographic-range and dip numbers a mariner, coastal navigator or marine app works sightings with. The horizon endpoint gives the distance to the sea horizon ≈ 1.169·√(height of eye in feet) nautical miles, including the standard atmospheric refraction that bends the line of sight a little past the geometric edge — at 9 ft of eye height the horizon is about 3.5 nm off — together with the dip, how far below true horizontal that watery edge lies (≈ 0.97′·√h), the correction subtracted from a sextant altitude shot to the sea horizon. The geographic-range endpoint gives how far off a light or landmark first peeps over the horizon = the sum of two horizon distances, your own plus the object's: 1.169·(√h_eye + √h_object), so a 100 ft lighthouse from a 9 ft cockpit lifts above the sea at about 15 nm — purely geometric, before the light's own luminous range and the visibility. The object-height endpoint inverts it: how tall a tower, light or headland must stand to break the horizon at a target range, or how close you must be before a known landmark appears. Everything is computed locally and deterministically, so it is instant and private. Ideal for marine-navigation and chartplotter apps, coastal-pilotage and lighthouse tools, and sailing utilities. Pure local computation — no key, no third-party service, instant. Geometric/refraction model. 3 compute endpoints. For great-circle distance use a geo-distance API; for set & drift a set-and-drift API.
api.oanor.com/horizon-api
Geodesy API
Advanced geodesy beyond the simple great circle. The vincenty endpoint computes the distance between two latitude/longitude points on the WGS84 ellipsoid using Vincenty's inverse formula — accurate to within a millimetre, far better than the spherical approximation — plus the initial and final bearings, in metres, kilometres, miles and nautical miles. The rhumb endpoint computes the rhumb-line (loxodrome) distance and the single constant compass bearing that follows it — the path you steer by holding a heading, as used in marine and air navigation. The cross-track endpoint finds how far a point lies to the left or right of a great-circle path between two points (the cross-track distance) and how far along that path it is (the along-track distance). Everything is computed locally and deterministically, so it is instant and private. Ideal for marine and aviation navigation, surveying and GIS, route analysis, and precise mapping. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. This is advanced geodesy; for simple great-circle distance, bearing, midpoint and destination use a geo-distance API and for coordinate-format conversion use a geo-convert API.
api.oanor.com/geodesy-api
Geo Distance API
Great-circle (as-the-crow-flies) navigation maths between latitude/longitude points. The distance endpoint returns the straight-line distance in metres, kilometres, miles and nautical miles, plus the initial and final compass bearing and the nearest 16-point compass direction. The destination endpoint computes where you end up from a start point, a bearing and a distance, and the midpoint endpoint finds the great-circle midpoint between two points. Perfect for proximity and radius search, geofencing, flight and shipping estimates, "distance from me" features and mapping. Pure local computation — no key, no third-party service, instant. These are straight-line distances on a spherical earth, not road routes. Live, nothing stored. 4 endpoints. Distinct from road routing, GeoJSON geometry measurement and coordinate-format conversion.
api.oanor.com/geodistance-api
Navaids API
Radio navigation aids (navaids) as an API — 11,000+ VOR, NDB, DME, TACAN, VORTAC and VOR-DME beacons across 231 countries, from the OurAirports dataset. Look up a navaid by its ident (e.g. JFK → Kennedy VOR-DME 115.9 MHz), search by name/ident with country and type filters, or find all navaids within a radius of any coordinate. Each record carries the ident, name, type, frequency (kHz and MHz), elevation, country and any associated airport. Ideal for aviation tools, flight simulators, EFB apps, flight planning and aeronautical charts.
api.oanor.com/navaids-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Set and Drift API?
What's the rate limit for Set and Drift API?
How much does Set and Drift API cost?
Can I cancel my subscription anytime?
Is Set and Drift 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/setanddrift-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/setanddrift-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/setanddrift-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/setanddrift-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.