← All tools

Maps

Make a map to keep, share or change

render_map

A hosted, layered map to keep or share: pins, lines or areas, colours by field, a legend, GeoJSON and KML.

Sheets, files and runs by referenceKeeps a shareable map

Use it when

  • ✓ The user wants a link to keep, share or change later
  • ✓ Combining several answers on one map
  • ✓ A live-warnings layer beside the user's own places

Not for

  • → Just seeing an answer: answers with places already show a map in the chat

Usual chain: any data tool (from_run) → render_map → update_map

Coverage: Worldwide.

Inputs

title

string

The map's title (and how to find it again).

layers

array · up to 20

One or more layers, drawn in order (later ones on top).

legend

boolean

— Default: true

rows

array · up to 2500

Shortcut for a one-layer map: rows with lat/lng or addresses.

color_by

string

With rows: the field to colour the pins by.

source

object

Instead of typing rows: { sheet: "<Google Sheets link>", tab?: "Sites" } (shared with the InstaMaps service account, or viewable by anyone with the link), { file: "<Drive link to a CSV or Excel file>" }, or { run: "<run_id from an earlier answer>" }. Columns are found by their headers (id, name, address or its parts, lat/lng); name them if they aren't obvious (id_column, address_column, lat_column, lng_column; from_column and to_column for road distances). Rows with coordinates are used as they are.

from_run

string

A run_id from an earlier answer: its rows as the map's pins (with color_by, bins and labels), in one call.

bins

array

With from_run, source or rows and color_by on a number: band breaks.

labels

boolean

With from_run, source or rows: names on the map.
The full description, as the server gives it to an agent

Only when the user wants a map to keep, share or change later: answers with places already show a map in the chat. Makes a hosted map (a link anyone can open, plus GeoJSON and KML for GIS tools and Google Earth) from up to 20 layers in one call. Each layer is pins (rows with lat/lng, or addresses placed for you, up to 200 addresses a call), lines or areas; one colour, or a colour per value of a field (color_by); a number field colours light to dark, in the bands the user asked for when given (bins: [25000, 100000] = under 25k, 25k to under 100k, 100k and over); names on the map if wanted (labels); up to 2,500 pins a map. Returns map_id: change the map later with update_map (the link stays the same). Same title as an earlier map = that map replaced in place, same link, the old version kept.

A real answer

Captured from the live server on 2026-10-13, trimmed to the first rows.

Request

{
  "title": "Docs example: two depots",
  "rows": [
    {
      "id": "leeds",
      "name": "Leeds depot",
      "lat": 53.7966,
      "lng": -1.5484
    },
    {
      "id": "york",
      "name": "York depot",
      "lat": 53.958,
      "lng": -1.0803
    }
  ]
}

The answer's first line

Made "Docs example: two depots": 1 layer(s), 2 pins: https://get-instamaps.com/v/9hd9pnytqs

The answer (trimmed)

{
  "map_id": "9hd9pnytqs",
  "url": "https://get-instamaps.com/v/9hd9pnytqs",
  "geojson": "https://get-instamaps.com/v/9hd9pnytqs.geojson",
  "kml": "https://get-instamaps.com/v/9hd9pnytqs.kml",
  "version": 1,
  "created": true,
  "layers": [
    {
      "name": "Rows",
      "points": 2,
      "lines": 0,
      "areas": 0
    }
  ]
}

Use it in Claude

Add the connector https://get-instamaps.com/mcp and ask in plain words. 5,000 tool calls a day per person, reset at midnight UTC; a call counts once however many rows it carries; a sheet by reference is one call; checking a job is free.

How to add it →