# Distances along the road, not as the crow flies

> Distances and routes along Trafikverket's road network, with road facts on request and the road network's version in every answer. The API runs in the EU.
>
> https://kartpunkt.se/en

Kartpunkt is an API for road distances and routes along Trafikverket's road network (NVDB), with the road facts along each path, and for Swedish street addresses from Lantmäteriet's address register. Every answer is documented and dated with the version of the road network it was computed on. While that version is served, the same question gives the same answer.

A free test key routes on the real road network, with no card. The API runs at Hetzner in Helsinki, in the EU, and a coding agent can write the integration from [llms.txt](https://kartpunkt.se/llms.txt).

## Try it on the map

The map on the [Swedish landing page](https://kartpunkt.se/#prova) routes on Trafikverket's road network with no account and no key, and nothing you click is logged.

## What it answers

Every operation is under `/v1`. [For developers](https://kartpunkt.se/en/developers) has the documentation, the keys and three steps to a first answer.

- **Search** (`searchAddresses`): From text to the addresses that match, even when it is misspelled: autocomplete for an address form.
- **Reverse geocoding** (`reverseGeocode`): From a coordinate to the nearest addresses, with the distance in metres and the nearest road.
- **Validation** (`validateAddress`): Checks an address as given and reports what is wrong, without correcting it.
- **Address changes** (`checkAddressChanges`): Whether addresses you stored have changed or closed since you fetched them.
- **Postnummer lookup** (`lookupPostcode`): From a postnummer to its postorter and kommuner.
- **Address lookup** (`lookupAddress`): From a stored address id, Lantmäteriet's own, to the address as it is today or on a date.
- **Route** (`planRoute`): The route for a profile, in segments with a road reference and the facts you ask for. It can keep off stretches you send, such as a closed road.
- **Road distances** (`measureDistances`): From many origins to up to five destinations: distance and time along the roads for a profile, with the facts you ask for and the path that keeps off what you send in avoid.
- **Nearest stops** (`findNearest`): The bus stops nearest each point along the roads for a profile, with the distance and time to each.
- **Matrix** (`buildMatrix`): Distance and time between every origin and every destination; large matrices as a job.
- **Reach** (`measureReach`): The area reached within a number of minutes or metres from a point.
- **Trace** (`matchTrace`): Matches a GPS trace or a drawn line to the roads it followed. Nothing sent is stored.
- **Route optimization** (`optimizeRoutes`): Which vehicle visits which stops, in what order and when, within capacities and time windows; large plans as a job.
- **Plan check** (`checkPlan`): Your own routes, in your order, timed and loaded on the same terms as route optimization, with what each breaks; large plans as a job.
- **Snap** (`snapPoints`): Moves points onto the nearest road a profile may travel, and says how far.
- **Roads** (`listRoadsNearby`): The roads around a point, with the facts you ask for.
- **Road reference** (`getRoad`): A road by its road reference, which stays the same in every network snapshot that holds the road.
- **Profiles** (`listProfiles`): The profiles routes are weighed for: walking, car by the shortest and by the fastest way, and lorries and buses, which follow NVDB's height, weight, axle-load, length and width limits and its bans.
- **Facts** (`listFacts`): Every NVDB fact a route or a road can report, with its kind and unit.
- **Sources** (`listSources`): Each data source with its licence, its attribution and what its data may be used for.
- **Vector tiles** (`listTilesets`): NVDB's roads as vector tiles to draw in your own map.
- **Network snapshots** (`listNetworks`): The road network's snapshots: the one served now and the older ones kept.
- **Network snapshot** (`getNetwork`): One network snapshot: its NVDB date, when it was built and which profiles it can answer.
- **Jobs** (`submitJob`): Sends a large request as a job, such as a large matrix or a route on an older network snapshot.
- **Jobs** (`getJob`): A job's status and, once it is done, its answer.
- **Jobs** (`cancelJob`): Cancels a job.

## Start free. Pay when you go live.

| Plan | Price, excl. VAT | Includes |
| --- | --- | --- |
| Utvecklare | SEK 0 | 2,000 calculations a month; 1,000 test requests a day; Test addresses in the same format as live data; Jobs are included from Bas |
| Bas | SEK 490 a month | 5,000 calculations/month included; 25,000 live calls a month; 10,000 addresses a day; +50,000 calculations/month as an add-on |
| Pro | SEK 1,990 a month | 50,000 calculations/month included; 200,000 live calls a month; 50,000 addresses a day |
| Avtal | by quote | Vendors: priced per municipality; Operators: priced per vehicle; Network version and source in every answer; The API runs in the EU; Data processing agreement: draft on request |
| Routes & distances (add-on) | SEK 990 a month | 50,000 more calculations a month, on Bas or Pro |

All prices are in Swedish kronor, excl. VAT. [Pricing](https://kartpunkt.se/en/pricing) says what each quota counts.

## Start with a test key today

The test key routes on the real road network; its addresses are synthetic, in the same shapes as live data. When your account is approved for live data, you change the key, not the code. [Create a test key](https://kartpunkt.se/konto) (the account pages are in Swedish), give your coding agent [llms.txt](https://kartpunkt.se/llms.txt) and the [OpenAPI document](https://api.kartpunkt.se/openapi.json), or write to hej@kartpunkt.se for a walkthrough on your own points.

- [For developers](https://kartpunkt.se/en/developers): the documentation, the keys and three steps to a first answer.
- [Pricing](https://kartpunkt.se/en/pricing): four plans, from free test keys to agreements for vendors and fleet operators.
- [Use cases](https://kartpunkt.se/en/use-cases): trip logs, address validation, road context and distances from many points.
- [Compare](https://kartpunkt.se/en/compare): Kartpunkt beside Lantmäteriet's own API, Google and Adresser.online.
- The map demo on the [Swedish landing page](https://kartpunkt.se/#prova), with no key.

The API runs at Hetzner in Helsinki · We never log what you send · Lantmäteriet's terms are enforced in code · The web pages are served by Vercel and sign-in is with Google · A data processing agreement on request.
