High-resolution
elevation API

The GPXZ elevation dataset seamlessly merges high quality open data, from global bathymetry to 1m lidar.

Our API lets you make low-latency point queries, high-throughput batch lookups, and has a drop-in endpoint compatible with the Google Elevation API.

Get an API key →
Request
GET /v1/elevation/point?lat=51.65&lon=-0.41
Response
{
  "result": {
    "elevation": 67.224442, 
    "lat": 51.65, 
    "lon": -0.41, 
    "data_source": "england_1m_dtm", 
    "resolution": 1
  }, 
  "status": "OK"
}

Coverage

Global scope

The GPXZ dataset starts with a base of ocean depth from GEBCO 2020 and land elevation from Copernicus 30m. From there, hi-res open lidar datasets are added.

Global coverage map.
1m
2m
5m
10m
30m
450m

I'm working on adding more datasets. If your area of interest has poor coverage let me know!

Dataset

Quality data

GPXZ uses high-resolution lidar data where available. Compared to satellite-based imagery, lidar is more accurate and captures finer details.

GPXZ (via LINZ 1m lidar)
Copernicus 30m
SRTM 30m / MAPZEN
500m x 500m render, centred on -43.516,172.668 with 200x vertical exaggeration.

Where lidar is not available, base imagery from the 30m Copernicus dataset is used. Released in 2020, this dataset massively improves on large-scale datasets that came before.

GPXZ (via copernicus 30m)
SRTM 30m
ASTER 30m
15km x 15km render, centred on 39.764,-104.988 with 400x vertical exaggeration.

GPXZ uses a custom seamless merging algorithm to combine datasets. This approach avoids the cliffs and discontinuities created by simple overlay or linear methods, which interfere with hydrology and create discontinuities in elevation profiles.

GPXZ (via NED 1m and 10m)
Linear interpolation
Naive overlay
500m x 500m render, centred on 36.352,-114.938 with 400x vertical exaggeration.

Usage

Simple json API

You can query the elevation (in metres) of a single point by its latitude and longitude.

https://api.gpxz.io/v1/elevation/point?lat=67.1&lon=17.4

Multiple points can be queried together using pipe-separated lat,lon pairs.

https://api.gpxz.io/v1/elevation/points?latlons=-38.00,177.99|-38.27,177.57

By default points in the ocean return an elevation of 0. To instead get ocean depth, add bathymetry=true.

https://api.gpxz.io/v1/elevation/point?lat=13.9&lon=87.3&bathymetry=true

Finally, GPXZ can be used to migrate from the Google Maps Elevation API. Just replace

https://maps.googleapis.com/maps/api/elevation/

with

https://api.gpxz.io/v1/elevation/gmaps-compat/

For example

https://api.gpxz.io/v1/elevation/gmaps-compat/json?locations=51.65,-0.41

All Google Maps parameters and query types are supported, and responses are compatible.


The docs page has full details of authentication, endpoints, request parameters, and response examples.

Features

API features
Surprise-free billing
Fixed monthly billing, with soft usage limits.
High-availability
GPXZ runs redundant servers in multiple datacentres.
Modern data
Most source datasets were released in the last 5 years.
Multiple API keys
You can Rotate API keys to manage security and access.
Privacy respecting
Logs are deleted after 31 days. PII is only handled on EU servers.
No missing data
Elevation data for the whole globe. No holes or null values.

Pricing

Simple monthly pricing

We charge a fixed monthly price for access. On paid plans, there are no overage charges and you won't be cut off for occasionally exceeding your quota.

Small

$49 /mo

Choose plan
  • 1,000 requests per day
  • 5 requests per second

Medium

$99 /mo

Choose plan
  • 2,500 requests per day
  • 10 requests per second
  • Priority support

Large

$199 /mo

Choose plan
  • 5,000 requests per day
  • 15 requests per second
  • Priority support

Advanced

Custom

Contact us
  • High limits
  • Enterprise support
  • BYO dataset
  • Custom processing
  • Uptime SLA

We also offer a free plan to help you evaluate GPXZ. It's limited to 100 daily requests, 1 request per second, and 50 locations per request (paid accounts can have 512). Sign up for the free plan here.

Open source

We support open source

GPXZ is built on the shoulders of open software and data, so it's important to us to give back to the community.

An open fork of our API server is available as Open Topo Data. Paid GPXZ API subscriptions support the development of this open software.
Star 104

I also write about the development of GPXZ on the blog. Recent posts have covered fast random reads from rasters and generating the 3D renders on this page from python.