elevation data

The GPXZ DEM seamlessly merges high quality elevation data, from global bathymetry to 50cm lidar.

Our API lets you make low-latency point queries, generate hires 2D geotiffs, and has a drop-in replacement for the Google Elevation API.

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


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
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
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.


Global scope

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

Global coverage map.
0.5m → 2m
5m → 10m


Simple json API

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


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


Generate 2D raster extracts by providing a bounding box and resolution. A geotiff is returned.


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




For example


All Google Maps parameters and query types are supported.

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


API features
Surprise-free billing
Fixed monthly billing, with soft usage limits.
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.


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.


$49 /mo

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


$99 /mo

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


$199 /mo

Choose plan
  • 5,000 requests per day
  • 15 requests per second
  • 2D raster API
  • Priority support



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 300

I also write about the development of GPXZ on the blog. Recent posts have covered elevation data in Hong Kong and filling voids in elevation data using Python.