Geo & Location Toolkit
## Overview The Geo-Location Toolkit API provides 38 endpoints for distance calculation, coordinate conversion, geocoding utilities, and geographic analysis. ## Key Features - **Distance Calculation**: Haversine and Vincenty formulas for great-circle distance - **Coordinate Conversion**: Decimal degrees ↔ DMS, UTM ↔ lat/lng, geohash encode/decode - **Bounding Box**: Generate bounding boxes,…
Geo & Location Toolkit endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET |
Haversine distance between two points /distance/haversine |
Calculate great-circle distance using the Haversine formula. Returns distance in both kilometres and miles. |
| GET |
Vincenty distance between two points (WGS84) /distance/vincenty |
More accurate ellipsoidal distance using the iterative Vincenty inverse formula on the WGS84 ellipsoid (a=6378137 m, f=1/298.257223563). |
| GET |
Initial bearing from point 1 to point 2 /distance/bearing |
Calculate the initial bearing (forward azimuth) from point 1 to point 2. Returns degrees (0–360, clockwise from north). |
| GET |
Geographic midpoint of two points /distance/midpoint |
Calculate the geographic midpoint (centre of the great-circle arc) between two points using the spherical method. |
| POST |
Distance matrix for multiple points /distance/matrix |
Compute an NxN distance matrix (haversine) for a list of points. The result is a symmetric matrix; diagonal elements are 0. |
| POST |
Total distance along a series of waypoints /distance/route |
Calculate the total distance of a route defined by ordered waypoints. Returns per-segment distances and cumulative total. |
| GET |
Destination point given start, bearing, and distance /distance/destination |
Given a start point, initial bearing, and distance, compute the destination point using the spherical direct problem (Haversine-based). |
| GET |
Convert coordinates between DD, DMS, and DM formats /coordinates/convert |
Convert coordinates between: - **DD** — Decimal Degrees (40.4483, -79.9822) - **DMS** — Degrees Minutes Seconds (40°26'53.9"N 79°58'56.0"W) - **DM** — Degrees Decimal Minutes… |
| GET |
Validate coordinate values /coordinates/validate |
Validate that coordinates are within valid geographic ranges. Also returns hemisphere and approximate region info. |
| GET |
Generate random geographic coordinates /coordinates/random |
Generate random geographic coordinates, optionally within a bounding box. |
| POST |
Calculate centroid of multiple points /coordinates/centroid |
Calculate the geographic centroid (mean centre) of a set of points. Uses the 3D Cartesian average method for accuracy near the poles/dateline. |
| GET |
Calculate bounding box for a radius around a point /coordinates/bounding-box |
Calculate the min/max lat/lon bounding box that contains a circle of the given radius (in km) centred at the given point. |
| GET |
Find the nearest city in the database /coordinates/nearest-city |
Find the nearest city (or cities) to the given coordinates from the built-in database of 100+ major world cities. |
| POST |
Compute convex hull of a set of points /coordinates/convex-hull |
Calculate the convex hull of a set of geographic points using the gift-wrapping (Jarvis March) algorithm. Returns hull vertices in order. |
| GET |
Solar altitude and azimuth at a given time and location /coordinates/sun-position |
Calculate solar altitude (elevation above horizon, degrees) and azimuth (clockwise from north, degrees) using simplified astronomical formulas. |
| GET |
List all countries /countries/ |
Return all countries in the database with optional continent filter and pagination. |
| GET |
Search countries by name /countries/search |
Search countries by name (case-insensitive substring match). |
| GET |
Filter countries by continent /countries/by-continent |
Return all countries on the specified continent. Valid continents: Africa, Asia, Europe, North America, South America, Oceania. |
| GET |
Find countries using a currency code /countries/by-currency |
Return all countries that use the given currency code. |
| GET |
Find country by international phone code /countries/by-phone-code |
Return all countries with the given international dialing code. |
| GET |
Compare two countries /countries/compare |
Side-by-side comparison of two countries across all data fields, including relative population and area ratios. |
| GET |
List neighboring countries /countries/neighbors |
Return the neighboring countries for a given country. Data covers major country pairs — not exhaustive for all border cases. |
| GET |
Get country by ISO 2 or ISO 3 code /countries/{code} |
Retrieve detailed information for a single country by its ISO 2 or ISO 3 code. |
| GET |
List all timezones /timezone/ |
Return all timezone entries with optional region filter and pagination. |
| GET |
Current time in a timezone /timezone/current |
Return the current UTC time converted to the specified timezone's offset. |
| GET |
Get timezones by UTC offset /timezone/by-offset |
Return all timezones with the given UTC offset. Supports fractional offsets like 5.5 (India, +05:30) or 9.75 (Nepal, +05:45). |
| GET |
Estimate timezone from coordinates /timezone/for-coordinates |
Estimate the UTC offset and likely timezone(s) from geographic coordinates using the longitude/15 approximation (±1 hour accuracy typically). Note: This is a rough estimate.… |
| GET |
Convert time between timezones /timezone/convert |
Convert a time from one timezone to another. Both from_tz and to_tz must be valid timezone names in the database. |
| GET |
Hour difference between two timezones /timezone/difference |
Return the signed difference in hours between two timezones (tz2 - tz1). |
| POST |
Check if two circles overlap /geofence/overlap |
Check whether two geographic circles overlap. Two circles overlap when the distance between their centres is less than the sum of their radii. |
| GET |
Check if current time is within business hours in a timezone /timezone/business-hours |
Check whether the current local time in the specified timezone falls within the given business hours window. |
| POST |
Check if a point is within a circle radius /geofence/point-in-circle |
Check whether a point is within a given radius (km) of a centre point. Uses the Haversine formula for distance calculation. |
| GET |
Find overlapping business hours across multiple timezones /timezone/meeting |
Find hours of the day (in UTC) where all specified timezones are within business hours simultaneously. Great for scheduling multi-timezone meetings. |
| POST |
Check if a point is inside a polygon /geofence/point-in-polygon |
Use the ray-casting algorithm to determine whether a geographic point lies inside a polygon defined by a list of vertices. The polygon is automatically closed (last vertex →… |
| POST |
Calculate area of a polygon /geofence/polygon-area |
Calculate the area of a geographic polygon using the Shoelace formula applied to a Cartesian-projected approximation of the polygon. Returns area in km². For a simple 1-degree ×… |
| POST |
Calculate perimeter of a polygon /geofence/polygon-perimeter |
Calculate the perimeter of a polygon by summing Haversine distances between each consecutive pair of vertices, including the closing edge (last vertex back to first vertex). |
| GET |
API info and endpoint overview / |
Returns API metadata: version, endpoint groups, and usage hints. |
| GET |
Health check /health |
Returns API health status for load balancers and monitoring. |
Geo & Location Toolkit pricing
| Plan | Price | Rate limit | Quotas |
|---|---|---|---|
| BASIC | Free | — |
|
| Pro | $9.99 / month | 20 / minute |
|
| Ultra | $29.99 / month | 100 / minute |
|