tile server

Tile Service (1.0.1)

Download OpenAPI specification: Download

This service provides access to high-resolution aerial imagery through a tile server. It offers both historical and latest mosaic tiles. Users can query surveys by geographic area (using WKT), time ranges, and coverage parameters. The service supports standard XYZ tile coordinates, multiple image formats (PNG, JPEG), and includes capabilities for retrieving survey metadata, coverage information, and mosaic updates. The API enables dynamic tile serving, making it suitable for web mapping applications and geospatial analysis. All endpoints support standard HTTP responses and include proper error handling for authentication, authorization, and resource availability.

/paths/1tile1rsm1{z}1{x}~1{y}.{ext}/get Retrieve an RSM mosaic tile

path Parameters
z
required
integer
Zoom level of the tile
x
required
integer
X coordinate of the tile
y
required
integer
Y coordinate of the tile
ext
required
string
Default: "png"
File extension of the tile (e.g., png, jpeg)
query Parameters
survey string
Default: "NSL_BASEMAP_v7"
Survey name for the tile

Responses

200

RSM tile retrieved successfully

400

Bad Request - Invalid parameters

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Tile out of range or not found

500

Internal Server Error - Unexpected failure

503

Service Unavailable - Backend service error

get/tile/rsm/{z}/{x}/{y}.{ext}

https://api.nearspacelabs.net/tile/rsm/{z}/{x}/{y}.{ext}

/paths/1tile1surveys/get Retrieve all available surveys Deprecated

You can retrieve a JSON-formatted list of all available surveys through our survey endpoint:

Responses

200

Surveys retrieved successfully

400

Bad Request - Invalid parameters

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Not Found - Resource does not exist

500

Internal Server Error - Contract error or unexpected failure

503

Service Unavailable - Backend service error

get/tile/surveys

https://api.nearspacelabs.net/tile/surveys

Response samples

Content type

application/json

[[{"capture_date_end": "2023-08-29 15:07:24 UTC",
"capture_date_start": "2023-06-25 16:11:50 UTC",
"footprint": "MULTIPOLYGON (((-82.33154296875 27.64460638194332, ...[truncated]",
"id": "2023Q3-FL-TPA",
"spectral_range": "visible"
},
{"capture_date_end": "2023-04-10 19:58:30 UTC",
"capture_date_start": "2023-04-10 13:49:17 UTC",
"footprint": "MULTIPOLYGON (((-85.97900390625 39.23225314171489, ...[truncated]",
"id": "2023Q2-IN-COL",
"spectral_range": "visible"
}]]

/paths/1tile1surveys~1coverage/get Retrieves a list of SurveyMetadata items that match the given spatial and temporal filters (legacy UTC timestamps) Deprecated

Search for available surveys by geographic area and capture date using the survey coverage endpoint. Metadata timestamps are returned as YYYY-MM-DD HH:MM:SS UTC.

query Parameters
wkt
required
string
WKT string defining the area of interest. The area cannot exceed 696,000 square kilometers
observed_start string
Start date for observations (YYYY-MM-DD)
observed_end string
End date for observations (YYYY-MM-DD)

Responses

200

Survey coverage retrieved

400

Bad Request - Invalid parameters

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Not Found - Resource does not exist

500

Internal Server Error - Contract error or unexpected failure

503

Service Unavailable - Backend service error

get/tile/surveys/coverage

https://api.nearspacelabs.net/tile/surveys/coverage

Response samples

Content type

application/json

[[{"capture_date_end": "2023-04-10 19:58:30 UTC",
"capture_date_start": "2023-04-10 13:49:17 UTC",
"footprint": "POLYGON ((-85.97454071044922 39.0969620016489, -85.97514152526855 39.0969620016489, -85.97514152526855 39.09689539729267, -85.97702980041504 39.09689539729267, -85.97702980041504 39.09682879293644, -85.97900390625 39.09682879293644, -85.97908973693848 39.09682879293644, -85.97908973693848 39.096762188580215, -85.97943305969238 .... -85.98175048828125 39.10342262420297, -85.98175048828125 39.105820381027165, -85.98183631896973 39.105820381027165, -85.98183631896973 39.10595358973962 -85.85978507995605 39.31716755149665, -85.85995674133301 39.31716755149665, -85.85995674133301 39.31710114060946, -85.85892677307129 39.31710114060946))",
"id": "2023Q2-IN-COL",
"spectral_range": "visible"
}]]

/paths/1tile1v2~1surveys/get Retrieve paginated surveys without footprints

This endpoint returns a paginated list of surveys ordered by their most recent update timestamp. (ISO 8601 timestamps)

query Parameters
page string >= 1
Default: 1
The 1-based page index to retrieve. Each page contains the number of surveys specified by page_size (defaults to 25).
page_size string >= 1
Default: 25
Number of surveys to include per page (minimum of 1, defaults to 25)

Responses

200

Paginated surveys retrieved successfully

400

Bad Request - Invalid parameters

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Not Found - Resource does not exist

500

Internal Server Error - Contract error or unexpected failure

503

Service Unavailable - Backend service error

get/tile/v2/surveys

https://api.nearspacelabs.net/tile/v2/surveys

Response samples

Content type

application/json

{"has_next": false,
"page": 1,
"page_size": 25,
"results": [{"capture_date_end": "2025-10-29T18:53:43.502357Z",
"capture_date_start": "2025-10-25T18:01:11.705819Z",
"id": "2025-P01-CO-DEN",
"last_updated": "2025-12-02T17:32:02Z",
"spectral_range": "visible"
},
{"capture_date_end": "2025-10-19T19:16:25.778189Z",
"capture_date_start": "2025-09-22T19:27:03.636264Z",
"id": "2025-P1-MN-MSP",
"last_updated": "2025-11-28T19:50:21Z",
"spectral_range": "visible"
},
{"capture_date_end": "2024-12-08T17:44:12.804971Z",
"capture_date_start": "2024-12-04T16:24:55.440096Z",
"id": "2024Q4-SC-CAE",
"last_updated": "2025-11-09T00:12:22Z",
"spectral_range": "visible"
},
{"capture_date_end": "2024-11-01T18:43:25.875208Z",
"capture_date_start": "2024-10-29T15:32:08.790178Z",
"id": "2024Q4-FL-PTCH",
"last_updated": "2025-11-08T23:29:27Z",
"spectral_range": "visible"
},
{"capture_date_end": "2024-11-08T19:44:40.628561Z",
"capture_date_start": "2024-11-05T19:28:29.204699Z",
"id": "2024Q4-CA-RVSD",
"last_updated": "2025-11-08T23:24:51Z",
"spectral_range": "visible"
}],
"total_pages": 1,
"total_results": 5
}

/paths/1tile1v21surveys1coverage/get Retrieve survey coverage metadata (ISO 8601 timestamps)

query Parameters
wkt
required
string
WKT string defining the area of interest
observed_start string
Filter surveys with observations after this date (YYYY-MM-DD)
observed_end string
Filter surveys with observations before this date (YYYY-MM-DD)

Responses

200

Surveys retrieved successfully

400

Bad Request - Validation error

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Not Found - Resource does not exist

500

Internal Server Error - Contract error or unexpected failure

503

Service Unavailable - Backend service error

get/tile/v2/surveys/coverage

https://api.nearspacelabs.net/tile/v2/surveys/coverage

Response samples

Content type

application/json

[{"capture_date_end": "2023-04-10T19:58:30Z",
"capture_date_start": "2023-04-10T13:49:17Z",
"footprint": "POLYGON ((-85.97454071044922 39.0969620016489, ... ))",
"id": "2023Q2-IN-COL",
"spectral_range": "visible"}]

/paths/1tile1v21{mosaic_id}1coverage/get Retrieve coverage metadata for a specific mosaic (ISO 8601 timestamps)

path Parameters
mosaic_id
required
string
Unique identifier for the mosaic
query Parameters

| | | | zoom | integer
Default: 14
Zoom level (default 14) | | wkt
required | string
WKT string defining the area of interest | | overlap | string
Default: "intersects"
Overlap type (intersects, contains, within) | | tc | integer
Tile coverage threshold |

Responses

200

Coverage retrieved successfully

400

Bad Request - Validation error

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Not Found - Resource does not exist

500

Internal Server Error - Contract error or unexpected failure

503

Service Unavailable - Backend service error

get/tile/v2/{mosaic_id}/coverage

https://api.nearspacelabs.net/tile/v2/{mosaic_id}/coverage

Response samples

Content type

application/json

[[{"capture_date_end": "2024-11-01T18:21:26Z",
"capture_date_start": "2024-11-01T18:17:51Z",
"file_format": "png",
"geospatial_extent": [-115.29052734375,
36.17335693522159,
-115.2685546875,
36.191092021824524],
"mosaic_stac_id": "20241101T181751_20241101T182126_20241101T193155_02301310020223",
"percent_covered": null,
"published_date": "2024-11-01T19:31:55Z",
"spatial_resolution_class": "7.5cm",
"spectral_range": "visible",
"static_url": "https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241101T181751_20241101T182126_20241101T193155_02301310020223/14/2945/6423"},
{"capture_date_end": "2024-10-23T08:01:22Z",
"capture_date_start": "2024-10-23T07:59:28Z",
"file_format": "png",
"geospatial_extent": [-115.29052734375,
36.17335693522159,
-115.2685546875,
36.191092021824524],
"mosaic_stac_id": "20241023T075928_20241023T080122_20241023T082549_02301310020223",
"percent_covered": null,
"published_date": "2024-10-23T08:25:49Z",
"spatial_resolution_class": "7.5cm",
"spectral_range": "visible",
"static_url": "https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241023T075928_20241023T080122_20241023T082549_02301310020223/14/2945/6423"}
]]

/paths/1tile1v21{mosaic_id}1footprint/get Retrieve the footprint for a single survey

path Parameters
mosaic_id
required
string
Unique identifier for the mosaic/survey

Responses

200

Survey footprint retrieved successfully

400

Bad Request - Invalid parameters

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Not Found - Survey does not exist

500

Internal Server Error - Contract error or unexpected failure

503

Service Unavailable - Backend service error

get/tile/v2/{mosaic_id}/footprint

https://api.nearspacelabs.net/tile/v2/{mosaic_id}/footprint

Response samples

Content type

application/json

Example

{"footprint": "POLYGON ((-115.29052734375 36.17335693522159, -115.2685546875 36.191092021824524, -115.2685546875 36.20824829635762, -115.29052734375 36.20824829635762, -115.29052734375 36.17335693522159))",
"status": 200,
"survey_id": "2024Q2-NV-LAS"
}

/paths/1tile1v21{mosaic_id}1mosaic_updates/get Retrieve mosaic updates with ISO 8601 timestamps

path Parameters
mosaic_id
required
string
Unique identifier for the mosaic
query Parameters

| | | | since | string
ISO 8601 timestamp indicating the start of the update window | | until | string
ISO 8601 timestamp indicating the end of the update window | | include_percent_covered | boolean
Default: false
Whether to include percent_covered in the response |

Responses

200

Mosaic updates retrieved successfully

400

Bad Request - Validation error

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Not Found - Resource does not exist

500

Internal Server Error - Contract error or unexpected failure

503

Service Unavailable - Backend service error

get/tile/v2/{mosaic_id}/mosaic_updates

https://api.nearspacelabs.net/tile/v2/{mosaic_id}/mosaic_updates

Response samples

Content type

application/json

[[{"capture_date_end": "2023-05-04T16:01:29Z",
"capture_date_start": "2023-05-04T16:00:16Z",
"file_format": "png",
"geospatial_extent": [-82.353515625,
34.452218472826544,
-82.33154296875,
34.47033512121749],
"mosaic_stac_id": "20230504T160016_20230504T160129_20231016T101153_03200303231322",
"percent_covered": 100,
"published_date": "2023-10-16T10:11:53Z",
"spatial_resolution_class": "10.0cm",
"spectral_range": "visible",
"static_url": "https://api.nearspacelabs.net/tile/2023Q2-SC-IVA/20230504T160016_20230504T160129_20231016T101153_03200303231322/14/4444/6519"},
{"capture_date_end": "2023-05-04T15:37:04Z",
"capture_date_start": "2023-05-04T15:35:30Z",
"file_format": "png",
"geospatial_extent": [-82.8369140625,
34.633207911379586,
-82.81494140625,
34.65128519895414],
"mosaic_stac_id": "20230504T153530_20230504T153704_20231016T101041_03200303202312",
"percent_covered": 95,
"published_date": "2023-10-16T10:10:41Z",
"spatial_resolution_class": "10.0cm",
"spectral_range": "visible",
"static_url": "https://api.nearspacelabs.net/tile/2023Q2-SC-IVA/20230504T153530_20230504T153704_20231016T101041_03200303202312/14/4422/6509"}]]

/paths/1tile1v21{mosaic_id}1{mosaic_stac_id}1{z}1{x}~1{y}/get Retrieve a historical mosaic tile or metadata (ISO 8601 timestamps)

path Parameters
mosaic_id
required
string
Unique identifier for the mosaic
mosaic_stac_id
required
string
STAC ID of the mosaic
z
required
integer
Zoom level of the tile
x
required
integer
X coordinate of the tile
The following code sample demonstrates how to translate latitude/longitude to XYZ using the Mercantile python package
import mercantile
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--lat', type=float, required=True)
parser.add_argument('--lon', type=float, required=True)
parser.add_argument('-z', '--zoom', type=int, required=True)
args = parser.parse_args()
tile = mercantile.tile(args.lon, args.lat, args.zoom)
print(tile)

| y
required | integer
Y coordinate of the tile | | ext
required | string
Default: "png"
File extension of the tile (e.g., png, jpeg) |

query Parameters
metadata string
If provided, returns metadata instead of the tile

Responses

200

Historical mosaic tile or metadata retrieved successfully

400

Bad Request - Invalid parameters

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Not Found - Resource does not exist

500

Internal Server Error - Contract error or unexpected failure

503

Service Unavailable - Backend service error

get/tile/v2/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}

https://api.nearspacelabs.net/tile/v2/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}

Response samples

Content type

application/json

[{"capture_date_end": "2024-11-01T18:21:26Z",
"capture_date_start": "2024-11-01T18:17:51Z",
"file_format": "png",
"geospatial_extent": [-115.29052734375,
36.17335693522159,
-115.2685546875,
36.191092021824524],
"mosaic_stac_id": "20241101T181751_20241101T182126_20241101T193155_02301310020223",
"percent_covered": 38,
"published_date": "2024-11-01T19:31:55Z",
"spatial_resolution_class": "7.5cm",
"spectral_range": "visible",
"static_url": "https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241101T181751_20241101T182126_20241101T193155_02301310020223/14/2945/6423"}]

/paths/1tile1v21{mosaic_id}1{z}1{x}1{y}/get Retrieve the latest mosaic tile (ISO 8601 metadata)

path Parameters
mosaic_id
required
string
Unique identifier for the mosaic
z
required
integer
Zoom level
x
required
integer
Tile X coordinate
y
required
integer
Tile Y coordinate
ext
required
string
Image extension (png or jpg)
query Parameters

| | | | metadata | boolean
When true, returns JSON metadata instead of the tile binary |

Responses

200

Tile bytes or metadata retrieved successfully

401

Unauthorized - Missing or invalid credentials

403

Forbidden - Insufficient permissions

404

Not Found - Resource does not exist

500

Internal Server Error - Contract error or unexpected failure

503

Service Unavailable - Backend service error

get/tile/v2/{mosaic_id}/{z}/{x}/{y}

https://api.nearspacelabs.net/tile/v2/{mosaic_id}/{z}/{x}/{y}

Response samples

Content type

application/json

[{"capture_date_end": "2022-08-28T18:10:21Z",
"capture_date_start": "2022-01-29T18:06:15Z",
"file_format": "png",
"geospatial_extent": [-97.74124145507812,
30.274486436999457,
-97.7398681640625,
30.27567243159789],
"mosaic_stac_id": "20220129T1806_20220828T1805_20230413T0956_02313012033113",
"percent_covered": 100,
"published_date": "2023-04-13T09:54:52Z",
"spatial_resolution_class": "10cm",
"spectral_range": "visible",
"static_url": "https://api.nearspacelabs.net/tile/surveyid/20220129T1806_20220828T1805_20230413T0956_02313012033113/18/59899/107922"}]