Skip to content
TerraMap
Start building

TerraMap Developers

Build with TerraMap.

Everything you need to add maps and location services to your applications. From API key to your first map in minutes.

Technical overview

Maps

  • Day & Night styles
  • Style JSON endpoints
  • TerraMap Web SDK

Tiles

  • Vector tiles (MVT)
  • Raster tiles (PNG)
  • Zoom 0–18

APIs

  • Place Search available today
  • Reverse Geocoding available today
  • Routing mock API
  • Matrix, TSP, VRP mock APIs

SDKs

  • Web available today
  • iOS in development
  • Android in development

Maps, tiles, Place Search, Reverse Geocoding and the TerraMap Web SDK are available today. Routing, matrix, optimization and navigation currently return explicitly marked mock responses; native iOS and Android SDKs remain in development. Accounts, authentication and API key management are available through the TerraMap Console.

Integration preview

Render your first TerraMap map.

TerraMap's current style infrastructure includes the sources, sprite and attribution needed to draw a complete map. The preview on the right runs the code below.

index.html
<link href="https://terramap.at/terramap-gl.css" rel="stylesheet">
<script src="https://terramap.at/terramap-gl.js"></script>

<div id="map" style="height:420px"></div>

<script>
  const map = new TerraMap.Map({
    container: 'map',
    token: 'tm_pk_...',   // publishable key
    style: 'day',          // or 'night'
    center: [16.3738, 48.2082],
    zoom: 13
  });
  map.addControl(new TerraMap.NavigationControl());
</script>
switching Day / Night
// Day and Night share layer ids and sources, so the map repaints
// in place — no tiles are re-fetched and the camera does not move.
await map.setTerraMapStyle(night ? 'night' : 'day');
search & reverse geocoding
// Both answer with the same Place record, in the standard
// TerraMap envelope: { status, code, message, data: [...] }
const found = await map.search({
  query: 'Stephansdom',
  proximity: [16.3738, 48.2082]   // [lng, lat]
});

const here = await map.reverseGeocode({
  location: [16.3731, 48.2084]
});

console.log(found.data[0].name, here.data[0].street);
The live map could not start. node serve.js tiles.mbtiles 8099 buildings.mbtiles

Compatibility note · TerraMap GL JS is built on MapLibre GL JS (BSD-3-Clause) and keeps its style specification and map API, so existing MapLibre code and styles carry over. The SDK adds TerraMap authentication, automatic map-resource authorization and the TerraMap service APIs.

Get started

Your first TerraMap map in minutes

Four steps: an account, a publishable key, the SDK on the page, and a map. Nothing to install and no build step required.

  1. Create an account

    Create a TerraMap developer account, then verify your email to activate it.

  2. Get your credentials

    Create a publishable or secret API key, choose its API scopes, and copy it when it is shown.

  3. Add TerraMap to your app

    Load the TerraMap Web SDK and initialize it with your publishable key.

  4. Render your first map

    Set a centre and zoom, add controls, and switch between the Day and Night styles.

Documentation

What the API Docs cover

This page is the introduction: what the platform offers and how an integration starts. The API Docs are the reference — every endpoint, parameter, response and error code, with a live "try it" console.

  • Getting Started Available today
  • Maps Available today
  • Tiles Available today
  • Search & Reverse Geocoding Available today
  • Routing Mock endpoint
  • Matrix & Optimization Mock endpoints
  • Navigation Mock endpoints
  • Web SDK Available today
  • Authentication Available today

Start with the map.

Explore the cartography first — the rest of the platform builds on it.