# Map Tile Bounds Calculator

> Map Tile Bounds Calculator is a paid API for AI agents from map-tiles.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-29).

Returns the latitude/longitude bounds, EPSG:3857 metre bounds, centre coordinates, and ground size of a slippy-map tile identified by x, y, and zoom level.

## Facts

- Endpoint: GET https://map-tiles.x402tookit.com/tile-bounds?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/map-tile-bounds-calculator-05d58796
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CkwaYspCIanNB0NRO4Ur6

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability map-tile-bounds-calculator-05d58796
```

Example prompt: What are the lat/lon and EPSG:3857 metre bounds for slippy-map tile x=1024, y=680, zoom=11, including its centre coordinates and ground width?

## When to prefer this

Use this endpoint when you need the precise geographic bounding box or Web Mercator metre bounds of a specific slippy-map tile identified by its x/y/z coordinates. It is the right choice for rendering tile overlays, validating tile coverage, computing tile centres, or passing tile bounds to downstream geospatial operations. Prefer it over manual trigonometry when working with XYZ tile schemes (OpenStreetMap, Google Maps, Mapbox style).

## Known failure modes

- Missing required query parameter (x, y, or zoom) returns an error
- Zoom level out of range 0–24 may return an error or unexpected result
- x or y values outside the valid range for the given zoom (0 to 2^zoom - 1) may return null or error values
- Non-integer values for x, y, or zoom will fail schema validation
- Payment failure (402) if USDC payment header is missing or insufficient

## How this service works

Latitude/longitude and EPSG:3857 metre bounds of a slippy-map tile x/y/z, with its centre and ground size.

## Output

A JSON object containing the tile's north, south, east, and west latitude/longitude bounds; EPSG:3857 minX, minY, maxX, maxY metre bounds; centre latitude and longitude; tile width in EPSG:3857 metres; and the total world width in EPSG:3857 metres at that zoom level. Also echoes back the input x, y, and zoom values.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "zoom",
      "x",
      "y"
     ],
     "properties": {
      "x": {
       "type": "integer",
       "description": "Tile column, 0 to 2^zoom - 1"
      },
      "y": {
       "type": "integer",
       "description": "Tile row (XYZ, north at 0), 0 to 2^zoom - 1"
      },
      "zoom": {
       "type": "integer",
       "description": "Zoom level 0 to 24"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "x": {
       "type": [
        "null",
        "number"
       ]
      },
      "y": {
       "type": [
        "null",
        "number"
       ]
      },
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "east": {
       "type": [
        "null",
        "number"
       ]
      },
      "west": {
       "type": [
        "null",
        "number"
       ]
      },
      "zoom": {
       "type": [
        "null",
        "number"
       ]
      },
      "north": {
       "type": [
        "null",
        "number"
       ]
      },
      "south": {
       "type": [
        "null",
        "number"
       ]
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ]
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "epsg3857": {
       "type": [
        "null",
        "object"
       ],
       "properties": {
        "maxX": {
         "type": [
          "null",
          "number"
         ]
        },
        "maxY": {
         "type": [
          "null",
          "number"
         ]
        },
        "minX": {
         "type": [
      
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/map-tile-bounds-calculator-05d58796/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from map-tiles.x402tookit.com](https://www.zero.xyz/host/map-tiles.x402tookit.com/llms.txt)
