# Swedish postal code (postnummer) lookup

> Look up a Swedish postal code (postnummer) and get the postorter and kommuner it is used in, with län and the number of addresses, from Lantmäteriet's address register.
>
> https://kartpunkt.se/en/postcode-lookup

A postnummer is the Swedish postal code: five digits, often written with a space after the third (755 41). `GET /v1/postcodes/{postcode}` answers the postorter (post towns) and kommuner (municipalities) it is used in, most addresses first, derived from the current addresses in Lantmäteriet's address register.

## The call

Request:

```sh

curl https://api.kartpunkt.se/v1/postcodes/75541 \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY"

```

Answer:

```json

{
  "postcode": "75541",
  "localities": [
    {
      "locality": "Uppsala",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "addresses": 8
    }
  ],
  "provenance": {
    "synthetic": true,
    "sources": [
      {
        "id": "synthetic",
        "name": "Kartpunkt synthetic test addresses",
        "licence": "CC0-1.0",
        "attribution": "Syntetiska testadresser från Kartpunkt, inte verkliga adresser.",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/",
        "updated": "2026-10-05"
      }
    ]
  }
}

```

A test key's answer: the addresses are synthetic (`provenance.synthetic: true`), and `road` is NVDB's.

Usually there is one entry. A postnummer used in more than one postort or kommun answers one entry for each, with its count of addresses.

## PO boxes

A postnummer used only for PO boxes (box addresses) is not in the address register, so it answers 404 `not_found`, with a message that says so. A postnummer no current address has answers the same.

## Format

Send five digits, optionally with a space after the third (URL-encode the space). Anything else answers 400 `invalid_request`, with a message that names what is wrong.

## Price

Test keys are free on every plan and answer from the synthetic dataset. Live calls need a paid plan and an account approved for live access. All prices are in Swedish kronor, excl. VAT.

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

[Create a test key](https://kartpunkt.se/konto) on your account page (the account pages are in Swedish), read [how to start](https://kartpunkt.se/en/developers), or see [all plans](https://kartpunkt.se/en/pricing).
