STATIC MAP API
The request describes the map. The response is the map.
One GET, one image. No map SDK in the browser, no tile orchestration, no headless Chrome on your server.
GET /map.svg?scope=world&data=US:200,CN:150,DE:95&theme=dark
If the end result is an image, ship an image
No client runtime
Nothing to initialise, nothing to bundle, no token in the browser. An image tag is the whole integration.
No headless browser
Maps are rendered from strings with d3-geo and resvg. No Puppeteer, no screenshot pipeline, no GPU.
No tile server
Nothing to host, cache or pay per tile for. The boundaries ship inside the service, and one request returns the finished map.
SVG or PNG from the same definition
SVG for websites, reports and print — sharp at any size, small over the wire, selectable in a PDF.
PNG for email, Slack and social cards, where SVG is not rendered. Ask for any width up to 8,000 px.
GET /map.png?scope=world&data=US:200,CN:150&width=1600
Responses are cached hard: an ETag plus immutable cache headers, with Cloudflare in front. The same URL is the same bytes.
CORS is open, so the image works from any origin.
POST /render/map takes a JSON or CSV body when the dataset is too big for a query string.
Built for data, not for street tiles
Choropleths by country or by ISO 3166-2 subdivision, across 177 countries and 16 group scopes.
Region highlights without values, categorical fills, per-region colour overrides and five pattern fills.
Markers with 30 icons, NATO APP-6 symbols, proportional circles, great-circle and sea routes.
North arrow, scale bar, graticule, region labels, five projections, six themes, and a bbox crop for any viewport.
Add sea to a route and it follows the Eurostat marnet shipping network instead of cutting a great circle over land. Endpoints snap to the nearest lane.
Embed it like any other image
<img
src="https://api.maproll.io/map.svg?scope=world&data=US:200,CN:150,DE:95"
alt="World data map"
/>
p: That works in a website, a README, generated documentation, a dashboard, a PDF pipeline, a CMS — anywhere that already knows how to show an image. Use an image tag rather than an iframe: no second browsing context, no scrollbars.Good for maps that software makes
scheduled reports, CI jobs, CMS templates, data pipelines, backend services and AI agents.
Validate your region IDs first with GET /scopes/:scope/regions, and read X-Geo-Warnings on the response to see which IDs were skipped.
Your assistant can call it directly through the maproll MCP server — one line of config, no API key.
Start with one request
You should not need a mapping project to put a map inside a product.
Read the API docsOpen the appComing from a tile-based static images API? Here is the honest comparison.