---
updatedAt: 2025-06-04T20:42:14.000Z
agentTools:
  projectIndex: https://docs.tomorrow.io/llms.txt
---

# Weather Maps

## Map Tiles

Map tiles are available for the last 7 days and for the next 14 days forecast.\
For data layers availability, please see our [data layers](https://docs.tomorrow.io/reference/data-layers-core)

For developers who would like to superimpose accurate weather conditions on a map, we can help. With support for OpenLayers, Leaflets, MapBox, Google Maps, and Cesium, you can retrieve map tiles (PNG images) at any given moment that you can layer over your existing map interface.

A [grid](https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames) is composed of 256x256 pixel **Map Tiles** with (`x`,`y`) indices, where (0,0) is the northwest corner of the map. The `x` parameter increases as the map goes east, and `y` increases as it goes south. Available `zoom` levels are 1 - 12. As the zoom level increases, so do the number of tiles. A zoom level of one will give you tiles showing the whole world.

<Image title="weather-grid-map.png" alt="Tiles Zoom Level" align="center" src="https://files.readme.io/1f32e18-weather-grid-map.png">
  Tiles Zoom Level
</Image>

## Zoom Levels

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Level
      </th>

      <th>
        Number of Tiles
      </th>

      <th>
        m / pixel (on Equator)
      </th>

      <th>
        Examples of




        areas to represent
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        0
      </td>

      <td>
        1
      </td>

      <td>
        156,543
      </td>

      <td>
        World Wide
      </td>
    </tr>

    <tr>
      <td>
        1
      </td>

      <td>
        4
      </td>

      <td>
        78,272
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        2
      </td>

      <td>
        16
      </td>

      <td>
        39,136
      </td>

      <td>
        Subcontinental area
      </td>
    </tr>

    <tr>
      <td>
        3
      </td>

      <td>
        64
      </td>

      <td>
        19,568
      </td>

      <td>
        Very large country
      </td>
    </tr>

    <tr>
      <td>
        4
      </td>

      <td>
        256
      </td>

      <td>
        9,784
      </td>

      <td>
        Large islands
      </td>
    </tr>

    <tr>
      <td>
        5
      </td>

      <td>
        1,024
      </td>

      <td>
        4,892
      </td>

      <td>
        Large country
      </td>
    </tr>

    <tr>
      <td>
        6
      </td>

      <td>
        4,096
      </td>

      <td>
        2,446
      </td>

      <td>
        Large rivers
      </td>
    </tr>

    <tr>
      <td>
        7
      </td>

      <td>
        16,384
      </td>

      <td>
        1,223
      </td>

      <td>
        US State
      </td>
    </tr>

    <tr>
      <td>
        8
      </td>

      <td>
        65,536
      </td>

      <td>
        611
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        9
      </td>

      <td>
        262,144
      </td>

      <td>
        305
      </td>

      <td>
        Large metropolitan area
      </td>
    </tr>

    <tr>
      <td>
        10
      </td>

      <td>
        1,048,576
      </td>

      <td>
        152
      </td>

      <td>
        Metropolitan area
      </td>
    </tr>

    <tr>
      <td>
        11
      </td>

      <td>
        4,194,304
      </td>

      <td>
        76
      </td>

      <td>
        City
      </td>
    </tr>

    <tr>
      <td>
        12
      </td>

      <td>
        16,777,216
      </td>

      <td>
        38
      </td>

      <td>
        Town
      </td>
    </tr>

    <tr>
      <td>
        13
      </td>

      <td>
        67,108,864
      </td>

      <td>
        19
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        14
      </td>

      <td>
        268,435,456
      </td>

      <td>
        10
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        15
      </td>

      <td>
        1,073,741,824
      </td>

      <td>
        5
      </td>

      <td>
        Buildings
      </td>
    </tr>

    <tr>
      <td>
        16
      </td>

      <td>
        4,294,967,296
      </td>

      <td>
        2
      </td>

      <td>
        Street
      </td>
    </tr>

    <tr>
      <td>
        17
      </td>

      <td>
        17,179,869,184
      </td>

      <td>
        1
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        18
      </td>

      <td>
        68,719,476,736
      </td>

      <td>
        0.6
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        19
      </td>

      <td>
        274,877,906,944
      </td>

      <td>
        0.3
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        20
      </td>

      <td>
        1,099,511,627,776
      </td>

      <td>
        0.15
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        21
      </td>

      <td>
        4,398,046,511,104
      </td>

      <td>
        0.075
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        22
      </td>

      <td>
        17,592,186,044,416
      </td>

      <td>
        0.037
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

Tiles distances to degree mapping

| Degree | Latitude 0° | Latitude 30° | Latitude 60° |
| :----- | :---------- | :----------- | :----------- |
| 0.1°   | 10,000m     | 8,700m       | 5,000m       |
| 0.01°  | 1,000m      | 870m         | 500m         |
| 0.001° | 100m        | 87m          | 50m          |

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "tomorrowio-api",
    "version": "4.0.1"
  },
  "servers": [
    {
      "url": "https://api.tomorrow.io/v4"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "query",
        "name": "apikey"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/map/tile/{zoom}/{x}/{y}/{field}/{time}.{format}": {
      "get": {
        "summary": "Weather Maps",
        "description": "",
        "operationId": "get-map-tile",
        "parameters": [
          {
            "name": "zoom",
            "in": "path",
            "description": "The zoom level for the map, 1-12",
            "schema": {
              "type": "string",
              "default": "5"
            },
            "required": true
          },
          {
            "name": "x",
            "in": "path",
            "description": "The “x” coordinate for the map",
            "schema": {
              "type": "string",
              "default": "2"
            },
            "required": true
          },
          {
            "name": "y",
            "in": "path",
            "description": "The “y” coordinate for the map",
            "schema": {
              "type": "string",
              "default": "3"
            },
            "required": true
          },
          {
            "name": "field",
            "in": "path",
            "description": "Selected fields from our [data layers](https://docs.tomorrow.io/reference/data-layers-core)",
            "schema": {
              "type": "string",
              "default": "precipitationIntensity"
            },
            "required": true
          },
          {
            "name": "time",
            "in": "path",
            "description": "Timestamp in ISO 8601 format",
            "schema": {
              "type": "string",
              "default": "now"
            },
            "required": true
          },
          {
            "name": "format",
            "in": "path",
            "description": "Specifies the format of the returned tiles (defaults to .png)",
            "schema": {
              "type": "string",
              "default": "png"
            },
            "required": true
          },
          {
            "name": "gradient",
            "in": "query",
            "description": "Defines custom color gradient for the map. i.e \"1:93e4dd4d, 2:94d6ab4d, 3:9bca864d\". The key represents the position as an integer and the value is the color code in HEX format.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accept-encoding",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "default": "deflate, gzip, br"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "// \tThe map image in requested format"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```