Caminantes

The Camino elevation dataset

Measured elevation profiles for all ten Camino de Santiago routes, plus the stage tables and a per-route summary. 44,497 elevation samples and 210 stages, as plain CSV, free to reuse under the ODbL. We publish it because we needed it and could not find it.

Free to reuse, under the Open Database Licence (ODbL) 1.0. Copy it, change it, sell things built on it. Two conditions: credit both Caminantes and OpenStreetMap, with a link where the medium allows one, and if you publish a database derived from it, release that under the ODbL too. Ready-made credit line, in HTML and plain text.

The files

The three files in the dataset, what each contains and its size in rows
FileRowsWhat is in it
camino-routes.csv10One row per route: both lengths, ascent, descent, minimum and maximum elevation, stage count, longest stage, ascent per kilometre.
camino-elevation-profiles.csv44,497The full profiles: route, distance along the route in kilometres, elevation in metres, one row per 100 m.
camino-stages.csv210Every stage of every route: where it starts, where it ends, how long it is, and how far along the route that leaves you.

There is also one JSON file per route at /data/elevation/<route_id>.json, which is what the elevation profile tool reads. It is delta encoded to keep it small, so the CSV above is the friendlier starting point.

What is in it

The ten routes in the dataset with their published length, sampled length, ascent and stage count
Routeroute_iddistance_kmsampled_length_kmascent_mstages
Vía de la Platavia_de_la_plata994.6994.611,72447
Camino del Nortecamino_del_norte824.6832.214,64140
Camino Francéscamino_frances768.4768.410,45036
Camino Portuguéscamino_portugues605.5605.56,83928
Camino Mozárabecamino_mozarabe418.5418.04,61718
Camino Primitivocamino_primitivo304.5306.56,77614
Camino de Inviernocamino_invierno264.3262.94,94813
Camino Ingléscamino_ingles110.1110.51,8026
Camino Finisterrecamino_finisterre84.584.21,4335
Camino Lebaniegocamino_lebaniego66.466.52,1343

Why there are two lengths

Because they measure different things, and a dataset that quietly picked one would be hiding its most useful caveat. distance_km is the published length, the sum of the stage legs, and it is the figure the rest of this site uses. sampled_length_km is the length of the line as sampled every 100 m while measuring elevation. They differ on eight routes out of ten, by up to 7.6 km.

Neither is wrong. If you are computing gradients, use the sampled length, because it is the axis the elevations sit on. If you are telling somebody how far they will walk, use the published one.

How it was measured

The route lines are split into stages and sampled every 100 m. Each sample point is looked up against the SRTM 30 m elevation dataset through api.opentopodata.org. Ascent is summed from the smoothed series rather than the raw one, because SRTM is noisy point to point and summing raw differences inflates the total. The current build is from 2026-08-17.

What that means for accuracy. SRTM is a satellite elevation model with a real vertical accuracy measured in metres, so treat any single point as approximate. Sampling at a fixed interval also picks up a little climb that nobody walks, because the model steps between two points. That affects all ten routes equally, so it does not move their order, but it does mean the totals sit at the upper end rather than the lower. The comparison between routes is the trustworthy part.

Licence and attribution

The ODbL is not a licence we picked from a menu. The route geometry is derived from OpenStreetMap, OpenStreetMap is ODbL, and a derived database of ODbL data is offered under ODbL in turn. Elevation values come from SRTM, which is in the public domain, and the measuring in between is ours.

If you use it, credit both. On a web page, paste this:

<p>Elevation and stage data from 
<a href="https://caminantes.co/">Caminantes</a> 
(<a href="https://caminantes.co/data/camino-elevation/">dataset</a>), 
<a href="https://opendatacommons.org/licenses/odbl/1-0/">ODbL</a>. 
Route and place data © 
<a href="https://www.openstreetmap.org/copyright">OpenStreetMap contributors</a>, 
ODbL. Elevations from SRTM 30 m.</p>

If you are writing the credit yourself, these are the URLs:

The canonical URL for each thing that needs crediting
Link the wordsTo
Caminanteshttps://caminantes.co/
the datasethttps://caminantes.co/data/camino-elevation/
ODbLhttps://opendatacommons.org/licenses/odbl/1-0/
OpenStreetMap contributorshttps://www.openstreetmap.org/copyright

Anywhere a link is not possible, in print or in a paper, the same line without the markup does the job:

Elevation and stage data from Caminantes (caminantes.co), ODbL. Route and place data © OpenStreetMap contributors, ODbL. Elevations from SRTM 30 m.

In practice that means you are free to copy, adapt and redistribute it, including commercially, provided you attribute it and share any derived database under the same terms. A link is the friendliest way to do that online and it is what we would ask for, though the licence asks only that the credit be reasonably visible, not that it be clickable. If you publish something built on it we would like to see it, at hello@caminantes.co, though nothing requires you to tell us.

Citing it

The dataset is archived on Zenodo, which gives it a DOI, so it can be cited the way any other dataset is:

Kramer, A. (2026). Camino de Santiago elevation and stage dataset: ten routes measured [Data set]. Caminantes. https://doi.org/10.5281/zenodo.22262648

That is the concept DOI, and it always resolves to the newest version of the data, so a citation written today still points at something after the next rebuild. If you need the exact numbers you downloaded rather than the latest ones, each release on Zenodo carries its own version DOI as well, and that is the one to pin.

What is not in it

Coordinates. This dataset gives distance along the route and elevation at that distance, not latitude and longitude, so it will let you draw a profile or compute a gradient but not navigate. Accommodation, opening hours and anything that changes week to week are also out, because a static file is the wrong shape for data that goes stale.