mantalest. MMXXVI

Swedish registry API: one key for people, property and companies

Every Swedish register is public, and every one of them is reached differently — its own agreement, its own format, its own invoice. The integration cost was never the data. It is the five front doors.

Illustration: four separate stacks of documents converging into a single channel.

The registers are public. Access to them is not.

Folkbokföringen at Skatteverket, the property register at Lantmäteriet, the company register at Bolagsverket, the statistical geography at SCB — all public in the sense that the information is available to anyone. None of them public in the sense that you can simply call it.

Each has its own agreement to sign, its own onboarding, its own field names for the same concept, and often a minimum fee that only makes sense if registry data is your entire business. Some of them will hand you SOAP. Some will hand you a fixed-width file and a schedule.

So a team that needs a household address as a side effect of onboarding a customer ends up running four integrations to answer one question, and maintaining them forever after.

What "unified" means here

One bearer token, one JSON convention across sources, one invoice. And — because the sources sit in one store — the joins no single authority can answer: an address resolves to the people and companies registered at it, a property to its buildings, a building back to its addresses.

The surface is grouped by object, not by authority:

  • /v1/geo/* — the administrative hierarchy, localities, postal codes, autocomplete and reverse geocoding.
  • /v1/properties/* and /v1/buildings/* — properties, parcel geometry, building footprints, viewport queries.
  • /v1/addresses/* — official address points, and who is registered at one.
  • /v1/companies/* — company search, org-number lookup, the establishments behind a company.
  • /v1/people/lookup — person lookup by identity number or by name and city.
  • /v1/lantmateriet/* — native passthrough, the authority’s own document shape.

A request

Two calls, one key. The second is the one that is hard to buy anywhere else: from an address to the people and companies registered at it, in one hop, without you joining anything.

geo autocomplete → who is registered at the address
curl -s "https://mantal.eu/v1/geo/autocomplete?q=Sveav" \
  -H "Authorization: Bearer $MANTAL_KEY"

curl -s "https://mantal.eu/v1/addresses/<addressId>/registered" \
  -H "Authorization: Bearer $MANTAL_KEY"

Curated shapes and native passthrough

Every source is available in two shapes. The curated shape normalises names, types and coordinates so a property from Lantmäteriet and a locality from SCB read the same way in your code. The native passthrough returns the authority’s own document, field for field, for when someone needs the source’s wording rather than ours.

You move between them without changing keys: /v1/properties/{id} is curated, /v1/lantmateriet/fastighet/{id} is the same object as the authority writes it.

What this does not replace

It does not replace an agreement you are legally required to hold. Some regulated uses require a direct relationship with the authority; if that is your case, hold it, and use one key for everything around it.

It does not give you a lawful basis. Personal data stays personal data — the GDPR applies to your lookups whatever the transport is, and no API creates a basis you do not already have.

And it does not hide what it costs. The per-call price and the volume tiers are on the front page, not behind a sales call.

Getting a key

Self-serve: sign up, take the key, top up credit when you need more. The full surface is in the API reference, and the OpenAPI document behind it is public.

If you are starting with property data, the next article walks the object model: Swedish property data.

Questions

Do I need an agreement with each authority?
Not for what we serve — you hold one agreement, with us. Where a regulated use requires a direct relationship with an authority, that requirement is yours and is not removed by going through any reseller.
Is this personal data?
Parts of it are, and the GDPR applies to your use of them. You need your own lawful basis and your own retention rules. The API is transport, not a legal basis.
How is it billed?
Per call, in volume tiers, against prepaid credit. No monthly minimum, no seat licence, and the tier table is on the public landing page.
What do responses look like?
JSON throughout, coordinates as WGS84 longitude/latitude, geometry as GeoJSON, and ids that are stable per source so you can store them.