---
title: "Side of the road, speed limits, alcohol limit, required equipment and IDP, per country or ranked"
method: GET
path: "/api/driving-rules.json"
---

# Side of the road, speed limits, alcohol limit, required equipment and IDP, per country or ranked

`GET /api/driving-rules.json`

## Request

- Base URL: `https://geo-parity.com`
- URL: `https://geo-parity.com/api/driving-rules.json`
- Auth: one of:
  - none
  - HTTP bearer
  - API key in query parameter `key`

Hand-curated register: drivesOn, default urban/rural/motorway limits in the signed unit (km/h or mph, never converted), blood-alcohol limit in g/100 ml, required equipment, whether an International Driving Permit is needed (GOV.UK's table), authority page and check date. A limit not set nationally is absent. Without `country`/`countries`, ranks by `metric` within the optional filters. For information only; every response says so first.

## Query parameters

- `country` string
- `countries` string
- `metric` 'speedMotorway' | 'speedUrban' | 'speedRural' | 'bacLimitPct'
- `sort` 'highest' | 'lowest'
- `drivesOn` 'left' | 'right'
- `idpRequired` 'true' | 'false'
- `limit` number

## Response `200`

One entry, comparison rows, or ranked rows; attribution names the curated register

## Other responses

- `400`: A bad metric, sort or filter (INVALID_PARAM) or fewer than two countries (TOO_FEW)
- `422`: A country outside the spine (UNKNOWN_COUNTRY)

---

[API](https://skmtc.dev/geo-parity/apis/geo-parity-api.md) · [All operations](https://skmtc.dev/geo-parity/apis/geo-parity-api/llms.txt) · [OpenAPI document](https://skmtc.dev/geo-parity/apis/geo-parity-api/revisions/8ddff47a0806?raw)
