Six capabilities.
One API key.
Describe a style in plain language and the AI builds it. Serve vector tiles from 300+ Cloudflare edge locations. Fine-tune every layer visually, then ship with a single embed snippet.
Capabilities
Everything you need for beautiful basemaps.
Self-host nothing, configure nothing. Each capability below works from the same API key you get at signup — no separate products, no per-feature pricing.
Natural language styling
Describe your perfect map style in plain English, like "make the water navy blue with a vintage paper texture", and the AI rewrites the MapLibre style JSON for you. Free tier uses fast open models; paid tiers get Claude for complex multi-layer edits.
POST /api/v1/ai/chat · style-aware prompts
Global vector tiles
MVT vector tiles served as PMTiles archives from Cloudflare R2, cached at 300+ edge locations. Sub-100ms cache-HIT latency from Mumbai, São Paulo, or Lagos, with a 99.9% uptime SLA on the Pro tier.
GET /v1/{source}/{z}/{x}/{y}.pbf · ~70ms cache HIT
Visual style editor
Fine-tune every layer without touching JSON: colors, fonts, visibility, zoom ranges. Changes preview live on a real map, and the editor round-trips cleanly with hand-edited styles.
MapLibre Style Spec · layer-level control
Beautiful presets
Start from Light, Dark, Vintage, Minimal, or High Contrast. Clone any preset, restyle it to match your brand, and keep both versions: presets are plain MapLibre style JSON underneath.
5 presets · fork-and-own model
Drop-in integration
Works with MapLibre GL JS, Leaflet, OpenLayers, and every framework wrapper: React, Vue, Flutter, React Native. Copy a style URL with your key embedded, or paste the two-line embed snippet.
style.json?key=mapx_… · any MapLibre host
Version control
Every style change is versioned automatically. Compare any two versions, preview before publishing, and restore a previous state instantly when a change goes wrong.
full history · one-click restore
By the numbers
A free tier you can actually ship on.
Most map platforms hand you a trial that expires or a quota that breaks the moment you get traffic. maps.guru's free tier has hard monthly quotas — when you hit them, tiles pause until next month or you upgrade. No surprise invoice, ever.
50,000
Monthly tile requests on the Free tier, no credit card required.
10,000
Free geocoding requests per month, on the same API key.
300+
Cloudflare edge locations serving tiles from the nearest PoP.
~70ms
Typical tile latency on a CDN cache HIT at the nearest edge.
Embed anywhere in
minutes, not days
Drop-in integration for any platform. Copy the code and you're done.
Use the MapLibre GL JS library with Vue 3 composition API.
<script setup>
import { onMounted, ref } from 'vue'
import maplibregl from 'maplibre-gl'
import 'maplibre-gl/dist/maplibre-gl.css'
const mapContainer = ref(null)
onMounted(() => {
new maplibregl.Map({
container: mapContainer.value,
style: 'https://maps.guru/api/v1/styles/your-style.json',
center: [78.9629, 20.5937],
zoom: 4
})
})
</script>
<template>
<div ref="mapContainer" class="w-full h-96" />
</template>your-style.json with your actual style URL from the dashboard. Ready to build with
beautiful basemaps?
Join developers worldwide who trust maps.guru for their mapping needs. Start free, no credit card required.