Geospatial API for Portugal, Spain and Italy

Location infrastructure for developers

Built for developers - canonical data primitives

Search places, resolve addresses, render boundaries, standardize records, and connect geographic data.

47M+addresses indexed across PT, ES, IT
99.9%uptime on /v1 endpoints
<50msp99 on /v1/geocode
CORE CONCEPT

One foundation
for geographic products.

Mapbase is built on five core primitives — locations, boundaries, addresses, postcodes and canonical IDs. They power every layer above them, from data to UI blocks.

01

Locations

Normalized places across administrative and local levels — countries, regions, provinces, cities, parishes — resolved consistently across Portugal, Spain and Italy.

1place, one truth
02

Boundaries

Geographic shapes for regions, cities, zones and other territorial units. Query them as GeoJSON, render them anywhere.

GeoJSONnative payloads
address.json
streetRua Garrett 27
cityLisboa
postcode1200-203
adminSanta Maria Maior
countryPT
03

Addresses

Structured address records for lookup, matching and enrichment. Parsed components in, canonical address out.

1200-203
28013
00184
4050-073
08002
20121
9000-052
46002
80133
04

Postcodes

Postal code data connected to real places and hierarchies. Not a flat list — a graph of codes, locations and boundaries.

01mb_loc_01HXYZAB8R
02mb_bnd_01HXYZBC9K
03mb_adr_01HXYZCD3M
04mb_pcd_01HXYZDE7N
05mb_loc_01HXYZEF2P
05

Canonical IDs

Stable identifiers that let your systems reference geography consistently across teams, products and time.

FOR DEVELOPERS

Composed the way
you build products.

01

API-first

Every primitive is designed to be queried, resolved, linked and composed.

02

Canonical by default

Stable IDs and normalized structures instead of fragile text matching.

03

Composable

Mix data primitives, UI components, SDK helpers and higher-level blocks.

04

Built for products

Search, CRMs, analytics, logistics, real estate, internal tools, user-facing apps.

HOW IT WORKS
Claim.
Call.
Ship.
~/mapbasestep 01claim
v1
LIVE

One API
for geographic products.

0
Addresses indexed
across PT, ES, IT
rolling 30 days
Availability
0.9%
EU edge
Geocode p99
<0ms
PostgreSQL 16PostGISHonoBunBullMQDragonfly+ Scalar docs
Components

UI components
for location products.

Reusable primitives for search, selection, display and exploration. Ship location-aware interfaces without rebuilding them from scratch.

Lisb
Lisboacity · PT
Lisboa — Baixadistrict · PT
Lisbon Airport (LIS)poi · PT
01

Search inputs

Autocomplete for places, addresses, postcodes and canonical entities.

02

Boundary viewers

Render places and regions visually inside maps and geographic UIs.

Portugal· country
Lisboa· district
Lisboa· municipality
Santa Maria Maior· parish
03

Hierarchy pickers

Navigate structured territorial levels cleanly.

"rua garrett 27, lisboa"
RESOLVE →
streetRua Garrett 27
cityLisboa
postcode1200-203
04

Address selectors

Guide users from free text to normalized structured records.

LOCATION
Lisboa
Portugal · district
mb_loc_01HXYZAB8R38.72 · -9.14
05

Location cards

Display canonical place metadata in a consistent format.

Bring Mapbase data into your interface with components designed for real implementation, not demos.

Explore components
BLOCKS

Higher-level
building blocks.

Blocks combine APIs, SDK logic and UI patterns into ready-to-use product workflows — so you ship recurring geographic problems without reinventing the glue.

01

Place autocomplete

Search and select canonical places.

view →
02

Address resolution

Convert user input into structured address entities.

view →
03

Boundary lookup

Find and return the geographic unit behind a point, place or ID.

view →
04

Postcode resolver

Connect postal codes to their underlying geographic entities.

view →
05

Territory selector

Let users define, browse and assign geography through structured boundaries.

view →
06

Entity explorer

Inspect relationships between places, addresses, postcodes and IDs.

view →

Blocks help you skip the repetitive glue code and ship full geographic workflows faster.

Browse blocks
For developers

Built on Postgres.
Shipped with curl.

A small Hono API over PostGIS. Typed with Zod, described with OpenAPI 3.1, documented with Scalar, consumable with plain fetch.

TypeScript types

Published from @mapbase/types. Zero drift with the Zod contracts.

OpenAPI 3.1

Scalar UI at /reference. Machine-readable spec at /openapi.json.

LLM-ready docs

Full API reference as markdown. Drop it into any agent context.

curl friendly

Plain REST + GeoJSON. Works with any HTTP client, in any language.

"" "" " " "" "" """ " " " " " " "" "" "" """ " "" " " " "" " " "" " " """ " " " " " " " " " " " "" " "" " " " " "" " " "" """ "" " " " "" " "" " " " " " " " " " "" "" " " " "" "" " " " " " " """ " """ "" " " " " "" " " " """ " " " " " " """ " " "" "" "" " " " " " "" " "" " """ "" " "" " " " " "" " " " "" " " " " "" " """" " """ " " " " " "" " " " " " "" """" " " " " " "" "" " " """ " " " " " " " " " " """ """ " " "" " " " " " " " " " " """ "" " " " " "" " " "" " " " " " " " " " "" " " "" "" " "" "" " " " " """ """ " "" " "" " " "" " " "" " " "" " " " " "" " " " """" " """" "" " " """ " " "" " " " " "" " """" " " " " " " """"" " " " " " " " " """ """ "" " " " "" """" " " "" " " " " "" " " """"" "" " " " " """ " " " "" """" " " "" " """ " " "" " "" " " " "" " " " "" " """ "" "" " " " "" " " " " """" " "" " "" " " "" " " " " """" "" " " "" " " " "" " "" " " "" " " " """" " " " " " " " " " "" " "" " " " " " """ " """ " "" " " " " " " " "" """ " "" " """ " " " " "" " " " "" " " " " " " " " "" " " " " "" " " " "" "" " " " " "" " " " "" "" "" "" " "" " " " " " "" "" " " " "" " " "" " " "" " " " " " "" """ " " " " " "" " " """" " " " " " " " "" "" " " " " """ "" " "" " " "" " " " " " " " " "" """ " """ " "" " """ " " " " " " """ " " " " " " " "" " " " "" " " "" " "" " " " " " " " " " "" " "" """ """ "" " "" " "" "" " " " "" " """" "" " " " " """ " " "" " " """ " "" " " " " " " " "" " """ " " " " " " """" """ """ " " "" " " " " "" " " " " " " "" "" "" " " "" """" " "" " "" " "" " "" " " """"" " " " " " " " """""" " " " """ " " "" " " " " " " " " "" "" "" "" " "" " " " " " " " " "" " " " "" " " " " " " """""" """" " " """" " " "" " " " " "" " " " " " "" " """ " " "" " " " " " "" " " " " " "" " " "" " " "" """ " " " "" " "" "" "" " " " " "" "" " "" " " " "" "" " " " " " " " " " "" " " " " " "" " " " " """ " "" "" " " " " " " " " " " " """ "" " " " "" " " " " " " " " " "" " " " "" "" """ " " """ " "" """ " " "" " "" " " " "" "" " " " "" "" " "" " " " """ "" " " " " " "" "" "" " " "" " "" "" "" " "" " " "" " " """ " "" " " " "" """ "" " "" "" " "" " " "" """" "" " " " " "" """""" """"" " " " " """ " "" """ " " """" """ " """"" " " "" " " " " " " " " "" "" " " " """"" " " "" " " "" " """ "" " " """""" "" " " " " "" " " " " " "" " "" """" "" " " """ " " " " "" " """ " "" " """ " " "" "" " " "" " "" " "" " " " " " " " " " " " " " "" "" " " " " "" " "" "" " " " " """ " " "" "" " " " "" """ "" " " " " " "" " "" "" " " " " """"" "" " " "" " """ " "" " " " " " " " "" " " " " " """ " "" " " " " "" " " """" " " " " " " " " """ " "" " " " " "" " " " " "" "" " "" " " "" " " " "" " "" "" " """ " "" " "" "" " " " """ " "" "" "" " "" """ " " " " "" "" "" " " " "" " " " "" " "" " " " " " " " "" " " " " """ "" " "" " " "" " "" "" " """ "" " " """ " " " " " """ " " " "" "" " " " " " "" """ " " "" " " " " " "" " " " " " "" " " " " """" " " " "" " " " " " " """ """" " "" " "" "" " "" " """ " " " "" "" "" " " " "" " " "" " " " " " " " "" " " " " " "" " """ " " " " " " " "" "" " " " " " "" " " """" " " " " " " " " " " """" "" "" """ " " "
Testimonials

Trusted across the Mediterranean.

We dropped our home-grown Iberian address normaliser for /v1/addresses. Freed up a quarter of engineering work.
M

Marta Silva

Head of Data, Habitarium

6moEngineering saved
Featured companies

Ready to ship?

Join teams building with MAPBASE. Claim a key, hit our API, be in production before lunch.

1,000 free requests / day on the free tier