Skip to content

TileJSON for a preset

GET
/v1/tiles/{presetId}/{tileMatrixSetId}/tilejson.json
curl --request GET \
--url 'https://api.satellitedata.net/v1/tiles/ndvi/WebMercatorQuad/tilejson.json?collection=landsat-ot-l2&datetime=2026-06-01T00%3A00%3A00Z%2F2026-08-31T23%3A59%3A59Z&maxCloudCoverage=40&harmonize=offset_removed&tilesize=256'

TileJSON 3.0.0 whose tiles template repeats the collection, datetime, maxCloudCoverage, harmonize and tilesize given here.

presetId
required
string
/^[a-z0-9-]+$/

Render preset id from GET /v1/presets.

Example

ndvi
tileMatrixSetId
required
string
Allowed values: WebMercatorQuad WorldCRS84Quad

OGC tile matrix set id.

Example

WebMercatorQuad
collection
string

Collection to render instead of the preset’s default (sentinel-2-l2a): sentinel-2-l2a or landsat-ot-l2, or an alias.

Example

landsat-ot-l2
datetime
string

RFC 3339 instant or interval (dates alone are allowed); an open end is written .. . Tiles default to the last 30 days.

Example

2026-06-01T00:00:00Z/2026-08-31T23:59:59Z
maxCloudCoverage
number
<= 100

Scene cloud cover ceiling; overrides the preset’s value.

Example

40
harmonize
string
Allowed values: offset_removed

Harmonization level; preset tiles in the lean v1 are rendered at offset_removed only.

Example

offset_removed
tilesize
integer
default: 256
Allowed values: 256 512

Tile edge in pixels.

Example

256

TileJSON.

Media typeapplication/json

TileJSON 3.0.0 document.

object
tilejson
required

TileJSON version.

string
Allowed value: 3.0.0
name

Name.

string
description

Description.

string
version

Render version; changes when output changes.

string
attribution

Credit line; TileJSON allows HTML.

string
scheme

Tile scheme.

string
Allowed value: xyz
tiles
required

Tile URL templates.

Array<string>
minzoom

Lowest zoom.

integer
maxzoom

Highest zoom.

integer
bounds

West, south, east, north.

Array<number>
>= 4 items <= 4 items
center

Longitude, latitude, zoom.

Array<number>
>= 3 items <= 3 items

Example

{
"tilejson": "3.0.0",
"name": "ndvi",
"description": "NDVI from sentinel-2-l2a, 2026-06-01T00:00:00Z/2026-08-31T23:59:59Z, scenes under 40% cloud.",
"version": "lean-1",
"attribution": "Contains modified Copernicus Sentinel data 2026",
"scheme": "xyz",
"tiles": [
"https://api.satellitedata.net/v1/tiles/ndvi/WebMercatorQuad/{z}/{x}/{y}.png?collection=sentinel-2-l2a&datetime=2026-06-01%2F2026-08-31&maxCloudCoverage=40"
],
"minzoom": 8,
"maxzoom": 15,
"bounds": [
-180,
-85.0511,
180,
85.0511
],
"center": [
0,
0,
8
]
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D
Cache-Control
string

Caching policy for CloudFront and browsers.

Example
public, max-age=3600, s-maxage=2592000, stale-if-error=604800

The request is malformed or a parameter is invalid.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/invalid-parameter",
"title": "Invalid parameter",
"status": 400,
"detail": "bbox must have 4 or 6 numbers; got 3.",
"instance": "/v1/search",
"code": "invalid-parameter",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D",
"errors": [
{
"pointer": "bbox",
"detail": "expected 4 or 6 numbers"
}
]
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D

No resource has this id.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/not-found",
"title": "Not found",
"status": 404,
"detail": "No item S2C_T15TVK_20260714T170911_L2X in collection sentinel-2-l2a.",
"instance": "/v1/collections/sentinel-2-l2a/items/S2C_T15TVK_20260714T170911_L2X",
"code": "not-found",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D"
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D

The key’s rate limit or monthly quota (usage plan satdata-personal) was hit.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/rate-limited",
"title": "Rate limit exceeded",
"status": 429,
"detail": "This key spent 300 of its 300 units in the current minute.",
"instance": "/v1/process",
"code": "rate-limited",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D",
"retryAfter": 17,
"limits": {
"unitsPerMinute": 300,
"unitsSpentThisMinute": 300
}
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D
Retry-After
integer

Seconds to wait before retrying.

Example
17

An unexpected server error. No units are charged.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/internal",
"title": "Internal error",
"status": 500,
"detail": "The request failed on our side and was logged. No units were charged.",
"instance": "/v1/process",
"code": "internal",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D"
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D