{"openapi":"3.1.0","info":{"title":"Map Tile Maths","version":"1.0.0","description":"Web Mercator and slippy-map tile maths: tile numbers, bounds, quadkeys, ground resolution, zoom for an extent, tile counts and scale. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Map Tile Maths: Web Mercator and slippy-map tile maths: tile numbers, bounds, quadkeys, ground resolution, zoom for an extent, tile counts and scale. Use /tile-from-coord for the tile at a point, /tile-bounds for a tile's coordinates, /quadkey for Bing quadkeys, /mercator-project to convert degrees and EPSG:3857 metres, /ground-resolution for metres per pixel and scale, /zoom-for-extent to fit a bounding box, /tile-count for the number of tiles and rough storage to cover a box. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://map-tiles.x402tookit.com"}],"paths":{"/ground-resolution":{"get":{"operationId":"ground_resolution","summary":"Metres per pixel, map scale (1:N) and tile width on the ground for a zoom level and latitude.","description":"Metres per pixel, map scale (1:N) and tile width on the ground for a zoom level and latitude.","tags":["resolution","scale","zoom","mercator"],"parameters":[{"name":"zoom","in":"query","required":true,"description":"Zoom level 0 to 24","schema":{"type":"integer"}},{"name":"latitude","in":"query","required":false,"description":"Latitude within +/-85.0511 (default 0, the equator)","schema":{"type":"number"}},{"name":"tileSize","in":"query","required":false,"description":"Tile size in pixels: 256 (default) or 512","schema":{"type":"integer"}},{"name":"dpi","in":"query","required":false,"description":"Screen dpi for the scale denominator (default 96; 0.28 mm pixel standard if you send 90.71)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"zoom":{"type":["null","number"]},"latitude":{"type":["null","number"]},"tileSize":{"type":["null","number"]},"metersPerPixel":{"type":["null","number"]},"scaleDenominator":{"type":["null","number"]},"dpi":{"type":["null","number"]},"tileWidthMeters":{"type":["null","number"]},"tilesAcrossWorld":{"type":["null","number"]},"worldWidthPixels":{"type":["null","number"]},"metersPerPixelAtEquator":{"type":["null","number"]},"feetPerPixel":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Zoom 10 at 51.5 degrees: 95.1663 m per pixel, scale about 1:359,684 at 96 dpi.","reasons":["Resolution halves with each zoom level and shrinks by cos(latitude)."],"zoom":10,"latitude":51.5,"tileSize":256,"metersPerPixel":95.166338,"scaleDenominator":359684,"dpi":96,"tileWidthMeters":24362.582,"tilesAcrossWorld":1024,"worldWidthPixels":262144,"metersPerPixelAtEquator":152.874057,"feetPerPixel":312.2255,"degraded":false,"notChecked":["ellipsoidal (true) distances: this is the spherical Web Mercator figure","device pixel ratio (retina) effects on displayed scale","…1 more"],"source":"computed locally (Web Mercator ground resolution)","asOf":"2026-10-12T00:57:24.496Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/ground-resolution"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/ground-resolution"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/ground-resolution"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/ground-resolution"}}]}}},"/mercator-project":{"get":{"operationId":"mercator_project","summary":"Convert latitude/longitude to Web Mercator EPSG:3857 metres, or metres back to degrees, with scale distortion.","description":"Convert latitude/longitude to Web Mercator EPSG:3857 metres, or metres back to degrees, with scale distortion.","tags":["mercator","epsg3857","projection","gis"],"parameters":[{"name":"latitude","in":"query","required":false,"description":"Latitude within +/-85.0511 (with longitude)","schema":{"type":"number"}},{"name":"longitude","in":"query","required":false,"description":"Longitude -180 to 180","schema":{"type":"number"}},{"name":"x","in":"query","required":false,"description":"EPSG:3857 easting in metres (with y), within +/-20037508.34","schema":{"type":"number"}},{"name":"y","in":"query","required":false,"description":"EPSG:3857 northing in metres","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"latitude":{"type":["null","number"]},"longitude":{"type":["null","number"]},"x":{"type":["null","number"]},"y":{"type":["null","number"]},"scaleFactor":{"type":["null","number"]},"areaInflationFactor":{"type":["null","number"]},"maxExtentMeters":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"CONVERTED","summary":"51.5074, -0.1278 is x -14226.63, y 6711542.48 metres in EPSG:3857; map distances are 1.607x real here.","reasons":["Web Mercator scale grows as 1/cos(latitude), so areas near the poles look far larger than they are."],"latitude":51.5074,"longitude":-0.1278,"x":-14226.631,"y":6711542.476,"scaleFactor":1.60665,"areaInflationFactor":2.5813,"maxExtentMeters":20037508.343,"degraded":false,"notChecked":["datum transformations (this treats WGS84 degrees as the sphere's angles, exactly as EPSG:3857 does)","true distances: Web Mercator stretches distances by 1/cos(latitude)","…1 more"],"source":"computed locally (spherical Mercator on the WGS84 radius)","asOf":"2026-10-12T00:57:24.749Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/mercator-project"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/mercator-project"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/mercator-project"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/mercator-project"}}]}}},"/quadkey":{"get":{"operationId":"quadkey","summary":"Convert a tile x/y/z to a Bing Maps quadkey, or a quadkey back to x/y/z, with its parent and four children.","description":"Convert a tile x/y/z to a Bing Maps quadkey, or a quadkey back to x/y/z, with its parent and four children.","tags":["quadkey","bing-maps","tiles","hierarchy"],"parameters":[{"name":"quadkey","in":"query","required":false,"description":"A quadkey of digits 0 to 3, length 1 to 24 (to get x/y/z)","schema":{"type":"string"}},{"name":"zoom","in":"query","required":false,"description":"Zoom level, with x and y, to get a quadkey","schema":{"type":"integer"}},{"name":"x","in":"query","required":false,"description":"Tile column","schema":{"type":"integer"}},{"name":"y","in":"query","required":false,"description":"Tile row","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"quadkey":{"type":["null","string"]},"zoom":{"type":["null","number"]},"x":{"type":["null","number"]},"y":{"type":["null","number"]},"parent":{"type":["null","string"]},"children":{"type":["array","null"],"items":{"type":"string"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"CONVERTED","summary":"Quadkey 213 is tile 3/3/5.","reasons":["Each quadkey digit picks a quadrant: 0 top-left, 1 top-right, 2 bottom-left, 3 bottom-right."],"quadkey":"213","zoom":3,"x":3,"y":5,"parent":"21","children":["2130","2131","…2 more"],"degraded":false,"notChecked":["tile content availability","the Bing Maps terms of use"],"source":"computed locally (Bing Maps Tile System)","asOf":"2026-10-12T00:57:25.010Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/quadkey"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/quadkey"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/quadkey"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/quadkey"}}]}}},"/tile-bounds":{"get":{"operationId":"tile_bounds","summary":"Latitude/longitude and EPSG:3857 metre bounds of a slippy-map tile x/y/z, with its centre and ground size.","description":"Latitude/longitude and EPSG:3857 metre bounds of a slippy-map tile x/y/z, with its centre and ground size.","tags":["tiles","bounds","bbox","mercator"],"parameters":[{"name":"zoom","in":"query","required":true,"description":"Zoom level 0 to 24","schema":{"type":"integer"}},{"name":"x","in":"query","required":true,"description":"Tile column, 0 to 2^zoom - 1","schema":{"type":"integer"}},{"name":"y","in":"query","required":true,"description":"Tile row (XYZ, north at 0), 0 to 2^zoom - 1","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"zoom":{"type":["null","number"]},"x":{"type":["null","number"]},"y":{"type":["null","number"]},"west":{"type":["null","number"]},"south":{"type":["null","number"]},"east":{"type":["null","number"]},"north":{"type":["null","number"]},"centerLatitude":{"type":["null","number"]},"centerLongitude":{"type":["null","number"]},"epsg3857":{"type":["null","object"],"properties":{"minX":{"type":["null","number"]},"minY":{"type":["null","number"]},"maxX":{"type":["null","number"]},"maxY":{"type":["null","number"]}}},"widthMeters3857":{"type":["null","number"]},"worldWidthMeters3857":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Tile 10/511/340 covers 51.39921 to 51.61802 N and -0.35156 to 0 E.","reasons":[],"zoom":10,"x":511,"y":340,"west":-0.3515625,"south":51.3992057,"east":0,"north":51.6180165,"centerLatitude":51.508611,"centerLongitude":-0.175781,"epsg3857":{"minX":-39135.758,"minY":6692214.7,"maxX":0,"maxY":6731350.459},"widthMeters3857":39135.758,"worldWidthMeters3857":40075016.686,"degraded":false,"notChecked":["the real extent of imagery available for the tile","TMS-numbered inputs (this expects XYZ with y=0 at the north)"],"source":"computed locally (slippy-map tile scheme)","asOf":"2026-10-12T00:57:25.272Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-bounds"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-bounds"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-bounds"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-bounds"}}]}}},"/tile-count":{"get":{"operationId":"tile_count","summary":"Number of slippy-map tiles covering a lat/lon box for a zoom range, with a rough storage estimate at your average tile size.","description":"Number of slippy-map tiles covering a lat/lon box for a zoom range, with a rough storage estimate at your average tile size.","tags":["tiles","offline-maps","storage","bbox"],"parameters":[{"name":"west","in":"query","required":true,"description":"West longitude","schema":{"type":"number"}},{"name":"south","in":"query","required":true,"description":"South latitude","schema":{"type":"number"}},{"name":"east","in":"query","required":true,"description":"East longitude","schema":{"type":"number"}},{"name":"north","in":"query","required":true,"description":"North latitude","schema":{"type":"number"}},{"name":"minZoom","in":"query","required":false,"description":"First zoom level (default 0)","schema":{"type":"integer"}},{"name":"maxZoom","in":"query","required":true,"description":"Last zoom level, up to 22","schema":{"type":"integer"}},{"name":"avgTileKB","in":"query","required":false,"description":"Average tile size in kilobytes for storage (default 15)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"totalTiles":{"type":["null","number"]},"estimatedMegabytes":{"type":["null","number"]},"estimatedGigabytes":{"type":["null","number"]},"avgTileKB":{"type":["null","number"]},"byZoom":{"type":["array","null"],"items":{"type":"object","properties":{"zoom":{"type":["null","number"]},"tilesWide":{"type":["null","number"]},"tilesHigh":{"type":["null","number"]},"tiles":{"type":["null","number"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"1568 tile(s) across zoom 8 to 14, about 23 MB at 15 KB each.","reasons":["Each extra zoom level roughly quadruples the count."],"totalTiles":1568,"estimatedMegabytes":22.97,"estimatedGigabytes":0.0224,"avgTileKB":15,"byZoom":[{"zoom":8,"tilesWide":2,"tilesHigh":2,"tiles":4},{"zoom":9,"tilesWide":2,"tilesHigh":2,"tiles":4}],"degraded":false,"notChecked":["tile server rate limits and bulk-download terms (many forbid it)","real tile sizes, which vary widely by area and style","…1 more"],"source":"computed locally (tile index arithmetic)","asOf":"2026-10-12T00:57:25.535Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-count"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-count"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-count"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-count"}}]}}},"/tile-from-coord":{"get":{"operationId":"tile_from_coord","summary":"Slippy-map tile x/y/z containing a latitude and longitude, plus the pixel position inside the 256 px tile.","description":"Slippy-map tile x/y/z containing a latitude and longitude, plus the pixel position inside the 256 px tile.","tags":["tiles","slippy-map","xyz","mercator"],"parameters":[{"name":"latitude","in":"query","required":true,"description":"Latitude in degrees, within +/-85.0511","schema":{"type":"number"}},{"name":"longitude","in":"query","required":true,"description":"Longitude in degrees, -180 to 180","schema":{"type":"number"}},{"name":"zoom","in":"query","required":true,"description":"Zoom level 0 to 24","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"zoom":{"type":["null","number"]},"x":{"type":["null","number"]},"y":{"type":["null","number"]},"tilesPerSide":{"type":["null","number"]},"pixelX":{"type":["null","number"]},"pixelY":{"type":["null","number"]},"fractionalX":{"type":["null","number"]},"fractionalY":{"type":["null","number"]},"tmsY":{"type":["null","number"]},"path":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Tile 10/511/340 (z/x/y) at pixel 162, 129.","reasons":["At zoom 10 the world is 1024 x 1024 tiles."],"zoom":10,"x":511,"y":340,"tilesPerSide":1024,"pixelX":162,"pixelY":129,"fractionalX":511.63648,"fractionalY":340.506135,"tmsY":683,"path":"10/511/340","degraded":false,"notChecked":["whether any tile server has imagery at that zoom","tile server usage terms","…1 more"],"source":"computed locally (OSM slippy-map tile numbering)","asOf":"2026-10-12T00:57:25.798Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-from-coord"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-from-coord"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-from-coord"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/tile-from-coord"}}]}}},"/zoom-for-extent":{"get":{"operationId":"zoom_for_extent","summary":"Highest map zoom level at which a lat/lon bounding box fits a viewport of given pixel size, with centre and tile span.","description":"Highest map zoom level at which a lat/lon bounding box fits a viewport of given pixel size, with centre and tile span.","tags":["zoom","bbox","viewport","fit-bounds"],"parameters":[{"name":"west","in":"query","required":true,"description":"West longitude","schema":{"type":"number"}},{"name":"south","in":"query","required":true,"description":"South latitude","schema":{"type":"number"}},{"name":"east","in":"query","required":true,"description":"East longitude","schema":{"type":"number"}},{"name":"north","in":"query","required":true,"description":"North latitude","schema":{"type":"number"}},{"name":"viewportWidth","in":"query","required":false,"description":"Map viewport width in pixels (default 800)","schema":{"type":"integer"}},{"name":"viewportHeight","in":"query","required":false,"description":"Map viewport height in pixels (default 600)","schema":{"type":"integer"}},{"name":"paddingPx","in":"query","required":false,"description":"Padding on every side in pixels (default 0)","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"zoom":{"type":["null","number"]},"fractionalZoom":{"type":["null","number"]},"limitedBy":{"type":["null","string"]},"tilesWide":{"type":["null","number"]},"tilesHigh":{"type":["null","number"]},"tileCount":{"type":["null","number"]},"centerLongitude":{"type":["null","number"]},"centerLatitude":{"type":["null","number"]},"clampedToMaxZoom24":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Fits at zoom 10 (fractional 10.359); limited by height; 3 x 3 tiles cover it.","reasons":["Zoom = log2(viewport pixels / (256 x box fraction of the world)), taking the tighter of width and height, rounded down."],"zoom":10,"fractionalZoom":10.3588,"limitedBy":"height","tilesWide":3,"tilesHigh":3,"tileCount":9,"centerLongitude":-0.1,"centerLatitude":51.500439,"clampedToMaxZoom24":false,"degraded":false,"notChecked":["the maximum zoom your tile source supports","rounding behaviour of your map library (fractional zoom)","…1 more"],"source":"computed locally (Web Mercator fit)","asOf":"2026-10-12T00:57:26.061Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/zoom-for-extent"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/zoom-for-extent"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/zoom-for-extent"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/zoom-for-extent"}}]}}},"/zoom-table":{"get":{"operationId":"zoom_table","summary":"Zoom-level ladder 0 to 24: tiles per side, metres per pixel, map scale and typical use, at a chosen latitude.","description":"Zoom-level ladder 0 to 24: tiles per side, metres per pixel, map scale and typical use, at a chosen latitude.","tags":["zoom","scale","reference","tiles"],"parameters":[{"name":"latitude","in":"query","required":false,"description":"Latitude within +/-85.0511 (default 0)","schema":{"type":"number"}},{"name":"dpi","in":"query","required":false,"description":"Screen dpi for scale denominators (default 96)","schema":{"type":"number"}},{"name":"fromZoom","in":"query","required":false,"description":"First level, 0 to 24 (default 0)","schema":{"type":"integer"}},{"name":"toZoom","in":"query","required":false,"description":"Last level, 0 to 24 (default 24)","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"latitude":{"type":["null","number"]},"dpi":{"type":["null","number"]},"levels":{"type":["null","number"]},"table":{"type":["array","null"],"items":{"type":"object","properties":{"zoom":{"type":["null","number"]},"tilesPerSide":{"type":["null","number"]},"totalTiles":{"type":["null","number"]},"metersPerPixel":{"type":["null","number"]},"scaleDenominator":{"type":["null","number"]},"tileWidthMeters":{"type":["null","number"]},"typicalUse":{"type":["null","string"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Zoom 0 to 20 at 45 degrees: from 110692.640838 down to 0.105565 m per pixel.","reasons":["Each level doubles the tiles per side and halves metres per pixel."],"latitude":45,"dpi":96,"levels":21,"table":[{"zoom":0,"tilesPerSide":1,"totalTiles":1,"metersPerPixel":110692.640838,"scaleDenominator":418365887,"tileWidthMeters":28337316.05,"typicalUse":"world"},{"zoom":1,"tilesPerSide":2,"totalTiles":4,"metersPerPixel":55346.320419,"scaleDenominator":209182943,"tileWidthMeters":14168658.03,"typicalUse":"world"}],"degraded":false,"notChecked":["the real maximum zoom of any tile source","retina scaling","…1 more"],"source":"computed locally (Web Mercator ground resolution)","asOf":"2026-10-12T00:57:26.325Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/zoom-table"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/zoom-table"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/zoom-table"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://map-tiles.x402tookit.com/zoom-table"}}]}}}}}