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 type | Use | Prefix |
|---|---|---|
| secret | server-side | symt_live_ |
| public | browser / SDK, origin-restricted | symt_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.
| Symt | |
|---|---|
| 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.