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
- 200
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
- 200
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
- 200
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
- 200
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
- 200
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
- 200
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
- 200
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
- 200
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
- 200
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"}]