history: Get relation history

API: openstreetmap.org:openstreetmap-api
Endpoint: /relation/{id}/history
Response format: application/xml
Auth: unknown
Method: GET
Last Status: 200
Latency: 413ms

Description

Retrieves the complete edit history of a relation, including all past versions. Each version shows the state of the relation at a specific point in time, including tags and members. Useful for tracking changes to administrative boundaries, routes, or other grouped features over time. Returns an OSM XML document with multiple relation elements, one per version.

From spec: Returns all versions of a relation including historical data

Usage Tips

- Response can be very large for frequently edited relations (may exceed 1MB) - Versions are sorted chronologically from oldest to newest - Each version includes changeset, timestamp, and user information - Useful for auditing changes or reverting to previous versions

Parameters (1)

id (integer, path, required)

The relation ID

Examples (1)

Get edit history of Nevada state boundary relation probe-gate

Demonstrates retrieving the complete edit history of a major administrative boundary, showing how the relation has evolved over time.

curl 'https://api.openstreetmap.org/api/0.6/relation/165473/history'
import requests

resp = requests.get("https://api.openstreetmap.org/api/0.6/relation/165473/history")
data = resp.json()
import zingu_apis

api = zingu_apis.api("openstreetmap")
result = api.fetch("relation/{id}/history")

for item in result:
    print(item)
const resp = await fetch("https://api.openstreetmap.org/api/0.6/relation/165473/history");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 17:51:57.481243 200 413ms
2026-04-16 00:11:20.063174 200 359ms
2026-04-15 02:01:08.121304 200 512ms
2026-04-14 01:05:38.742852 200 472ms
2026-04-12 15:38:28.492349 200 396ms
2026-04-10 00:59:42.820963 200 324ms