Already running Leaflet? maps.guru serves raster/static fallbacks via the public Tiles API. Paste the URL pattern into L.tileLayer and you are done. For vector, switch to MapLibre for the same auth.
pnpm add leaflet @types/leafletimport L from 'leaflet';
import 'leaflet/dist/leaflet.css';
// Raster fallback (works with plain tiles already in your Leaflet app).
// For vector tiles + WMS sprites/glyphs, switch to MapLibre (see /maps-for/maplibre).
const TILE_URL =
'https://tiles.maps.guru/v1/planet-vector/{z}/{x}/{y}.png?key=YOUR_API_KEY';
const map = L.map('map-canvas').setView([28.6139, 77.209], 11);
L.tileLayer(TILE_URL, {
maxZoom: 19,
attribution: '© maps.guru · OpenStreetMap contributors',
}).addTo(map);
L.marker([28.6139, 77.209]).addTo(map).bindPopup('New Delhi');
Free-tier generous enough for real production traffic. 50,000 tile requests/month , no credit card.
Join developers worldwide who trust maps.guru for their mapping needs. Start free, no credit card required.