Symt for developers

A self-hosted maps & location-intelligence API — routing, matrices, geocoding, isochrones, zones, dispatch, and vector maps. Pakistan-first, built on OpenStreetMap.

Base URL https://api.symt.ai. Native coordinates are lon,lat (the /gm/ Google-compat mode uses lat,lng). Distances are metres, durations seconds.

Quickstart

Issue a key in the console, then:

# A car route between two points in Lahore
curl "https://api.symt.ai/v1/route/car/74.3436,31.5204;74.3200,31.4800" \
  -H "X-API-Key: symt_live_…"

Authentication

Every request carries an API key in the X-API-Key header (public keys may use ?key= for browser embeds). Keys are scoped (routing, geocode, zones, …) and tenant-isolated. Manage them in the console under API keys. Console/user sessions use email + password with optional TOTP two-factor.

Key typeUsePrefix
secretserver-sidesymt_live_
publicbrowser / SDK, origin-restrictedsymt_pub_

Routing

GET /v1/route/{profile}/{coordinates} — profiles car, motorbike-pk. Add ?steps=true for turn-by-turn.

const r = await symt.route('car', [{lon:74.3436,lat:31.5204},{lon:74.32,lat:31.48}]);
console.log(r.distance_m, r.duration_s);

Distance matrix

POST /v1/matrix/{profile} — durations & distances between sources and destinations.

Geocoding

GET /v1/geocode?q=, /v1/reverse?lat=&lon=, /v1/autocomplete?q= — English-preferred results.

Isochrones

GET /v1/isochrone?lat=&lon=&minutes= — drive-time reachability polygons.

Zones

POST /v1/zones, POST /v1/zones/contains — define delivery zones and test point membership (<10 ms).

Dispatch

POST /v1/dispatch/solve — fleet routing / assignment (VROOM).

Static maps

GET /v1/staticmap?center=lon,lat&zoom=&size=WxH&markers=&path= — PNG for emails and receipts.

Webhooks

Batch map-matching (/v1/match/batch) delivers results to your callback with an X-Symt-Signature (HMAC-SHA256 over <timestamp>.<body>). Verify it before trusting the payload.

SDKs

@symt/js (Node, browser, React Native) and @symt/react-native.

import { SymtClient } from '@symt/js';
const symt = new SymtClient({ apiKey: 'symt_live_…' });

Migrate from Google Maps

The /gm/ adapters mirror common Google endpoints so you can switch with minimal changes — coordinates in lat,lng, familiar shapes for Directions, Distance Matrix, Geocoding and Places Autocomplete.

GoogleSymt
Directions API/gm/directions
Distance Matrix API/gm/distancematrix
Geocoding API/gm/geocode
Places Autocomplete/gm/place/autocomplete

Try it

Response appears here…

API reference

Generated from the live OpenAPI spec (openapi.json).

Loading endpoints…

© Symt · OpenStreetMap · OpenMapTiles. Self-hosted — no external CDNs.