Features: AI Map Styling, Vector Tiles & Style Editor
- Features

# 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.
Start free Start free
See pricing

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.

01
### Natural language styling

Describe your perfect map style in plain English, like &quot;make the water navy blue with a vintage paper texture&quot;, 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

02
### 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

03
### 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

04
### 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

05
### 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

06
### 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&#39;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.
Source: maps.guru Pricing, Free tier — maps.guru

10,000
Free geocoding requests per month, on the same API key.
Source: maps.guru Pricing, Free tier — maps.guru

300+
Cloudflare edge locations serving tiles from the nearest PoP.
Source: Cloudflare Network Map — Cloudflare

~70ms
Typical tile latency on a CDN cache HIT at the nearest edge.
Source: maps.guru tile caching performance — maps.guru

Easy Integration
## Embed anywhere in
minutes, not days
Drop-in integration for any platform. Copy the code and you&#39;re done.

Vue / NuxtReact / Next.jsWordPressiFrame EmbedSalesforce
Vue / NuxtUse the MapLibre GL JS library with Vue 3 composition API.

Copy
&lt;script setup&gt;
import { onMounted, ref } from &#39;vue&#39;
import maplibregl from &#39;maplibre-gl&#39;
import &#39;maplibre-gl/dist/maplibre-gl.css&#39;

const mapContainer = ref(null)

onMounted(() =&gt; {
new maplibregl.Map({
container: mapContainer.value,
style: &#39;https://maps.guru/api/v1/styles/your-style.json&#39;,
center: [78.9629, 20.5937],
zoom: 4
})
})
&lt;/script&gt;

&lt;template&gt;
&lt;div ref=&quot;mapContainer&quot; class=&quot;w-full h-96&quot; /&gt;
&lt;/template&gt;
Replace your-style.json with your actual style URL from the dashboard.

Get your embed code

## Mapping terms, defined
The vocabulary behind the features above, in plain language.

### What is Vector tile?
A vector tile is a compressed binary chunk of map geometry (roads, buildings, labels) that the browser styles and renders at runtime, instead of downloading a pre-drawn image. Vector tiles let one dataset power unlimited visual styles and stay sharp at every zoom level.

### What is Basemap?
A basemap is the background map layer (roads, water, landuse, place labels) that your own data is drawn on top of. maps.guru serves basemaps as MapLibre-compatible vector tiles.

### What is Map style?
A map style is a JSON document that tells a renderer which colours, fonts, widths, and zoom rules to apply to each layer of a vector tile. maps.guru styles follow the MapLibre Style Specification, so they work in any MapLibre or Mapbox GL JS compatible renderer.

### What is Geocoding?
Geocoding is the process of converting a text address or place name into latitude and longitude coordinates. Reverse geocoding does the opposite: it converts coordinates into the nearest human-readable address.

## Questions about these features

### What can the AI style editor actually change?
It edits the paint and layout properties of a MapLibre style: land and water colours, road casing and fill, label fonts and halos, building extrusion, and per-zoom visibility. You describe the change in plain language and the editor returns a style that still validates against the MapLibre Style Specification.

-
### Are the map styles compatible with Mapbox GL JS?
Styles follow the MapLibre Style Specification, which is compatible with Mapbox GL JS v1. Later Mapbox versions use a proprietary style dialect, so newer Mapbox-only properties are not supported.

-
### Can I use my own data on top of the basemap?
Yes. Upload a CSV, XLSX, or GeoJSON dataset and maps.guru parses it into GeoJSON features you can add as MapLibre layers above the basemap, with your chosen point, line, or polygon styling.

-
### Does maps.guru support dark mode maps?
Yes. Preset dark styles ship with every plan, and the AI editor can derive a dark variant of any custom style while preserving label contrast for readability.

-
### Is there an API for AI assistants?
Yes. maps.guru publishes an MCP (Model Context Protocol) server so assistants such as Claude and Cursor can geocode addresses, render static maps, and create styles directly. Install it locally with npx @invarya/maps-mcp, or connect to the hosted server at mcp.maps.guru.

## Sources

- MapLibre Style Specification — MapLibre
- Mapbox Vector Tile specification — Mapbox
- MapLibre GL JS documentation — MapLibre
- OpenStreetMap tile usage policy — OpenStreetMap Foundation

## Ready to build with
beautiful basemaps?
Join developers worldwide who trust maps.guru for their mapping needs. Start free, no credit card required.
Get started free Get started free
Contact us
Free forever plan
5-minute setup
No credit card