Worldwide maps API for developers

Maps, geocoding, routing.
Your first map in 60 seconds.

Worldwide maps, elevation and time zones, with Canadian search and routing, on open formats you can take with you. Two lines of code. No sales call, no tracking, no 30-day cache limit.

import { Unmap } from "@unmap/sdk";
new Unmap({ key: "um_pk_live_...", container: "map", center: [-114.0719, 51.0447], zoom: 11 });
GET……
connecting…

Four API families, one key.

One key and one pool of calls across the platform. Find the capability you need and call it directly, with or without our SDK.

Time to first hello world.

We design against one number: under a minute from an empty directory to a styled map. The times below are that target, not a published measurement.

  1. 00:00npm i @unmap/sdk
  2. 00:12paste your key
  3. 00:31add two lines
  4. 00:58a styled, interactive map

Canadian coverage in full detail.

Built from Canadian national sources, so small towns and the North come from the same data as the cities.

National Address Register

StatsCan's authoritative address file, loaded alongside OpenAddresses and OpenStreetMap. Street-level detail in small towns, not just the metros.

Indigenous names in the data

Iqaluit returns ᐃᖃᓗᐃᑦ and Nunavut returns ᓄᓇᕗᑦ on the record itself, not through a translation layer added afterward.

en, fr, and iu on one record

Records carry English and French where their sources do, and Inuktitut where it exists. Choose the locale when you render; basemap labels follow the same setting.

The North is not a rounding error

Yellowknife street addresses and Iqaluit routes come from the same national pipeline as downtown Calgary, not a thinner regional dataset.

Not there yet: Inuktitut names exist for relatively few communities, so a syllabics search finds only places whose sources carry one. Legal-land search (DLS, NTS) needs the Legal Land add-on.

The full argument: why another maps API →

We meter keys, not people.

Here is what the gateway sees when your map asks for a tile, and what it keeps.

access.log

GET /tiles/12/652/1408.mvt

ip address
not stored
user-agent
not stored
query / coordinates
not logged or tied to an account; edge-cached up to 24h
device id
never collected
API key id
✓ counted for usage and billing
request outcome
✓ endpoint class, status, latency; kept 7 days

Read the Privacy Policy before you sign up or pay.

One meter. No minimums.

Cache results with no expiry on every tier, and keep them after you cancel. Start free, with no card and no surprise overage.

dev

Build and prototype. Not for production.

US$0/ month
  • Unlimited browser calls from localhost
  • 10,000 server-side calls a month
  • Every API, every style
  • No credit card
  • Community support
Start building

indie

One production app.

US$19/ month
  • 250,000 calls included
  • US$1 per 1,000 after
  • 1 production origin per key
  • Spend cap on by default
  • Email support
Get a key

growth

Production, at volume.

US$99/ month
  • 2,000,000 calls included
  • US$0.75 per 1,000 after
  • 100 production origins per key
  • Spend cap on by default
  • Priority support
Get a key

Higher volume and custom terms: see full pricing →

Terms · Privacy Policy, both public before you sign up or pay.

Questions, answered.

Our target is under 60 seconds from npm install to a styled, interactive map: install the SDK, paste your key, add two lines. Prefer a scaffold? npx @unmap/cli init checks your key and writes a starter config.