# Tile Service (1.0.1)

Download OpenAPI specification: [Download](https://api.nearspacelabs.net/tile/openapi/tile-server)

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/~1tile~1rsm~1{z}~1{x}~1{y}.{ext}/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1rsm~1{z}~1{x}~1{y}.{ext}/get) Retrieve an RSM mosaic tile

##### path Parameters

|     |     |
| --- | --- |
| z<br>required | integer<br>Zoom level of the tile |
| x<br>required | integer<br>X coordinate of the tile |
| y<br>required | integer<br>Y coordinate of the tile |
| ext<br>required | string<br>Default: "png"<br>File extension of the tile (e.g., png, jpeg) |

##### query Parameters

|     |     |
| --- | --- |
| survey | string<br>Default: "NSL_BASEMAP_v7"<br>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/~1tile~1surveys/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1surveys/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

```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/~1tile~1surveys~1coverage/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1surveys~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<br>required | string<br>WKT string defining the area of interest. The area cannot exceed 696,000 square kilometers |
| observed_start | string <date> <br>Start date for observations (YYYY-MM-DD) |
| observed_end | string <date> <br>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

```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/~1tile~1v2~1surveys/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1v2~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 <br>Default: 1<br>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 <br>Default: 25<br>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

```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/~1tile~1v2~1surveys~1coverage/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1v2~1surveys~1coverage/get) Retrieve survey coverage metadata (ISO 8601 timestamps)

##### query Parameters

|     |     |
| --- | --- |
| wkt<br>required | string<br>WKT string defining the area of interest |
| observed_start | string <date> <br>Filter surveys with observations after this date (YYYY-MM-DD) |
| observed_end | string <date> <br>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

```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/~1tile~1v2~1{mosaic_id}~1coverage/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1v2~1{mosaic_id}~1coverage/get) Retrieve coverage metadata for a specific mosaic (ISO 8601 timestamps)

##### path Parameters

|     |     |
| --- | --- |
| mosaic_id<br>required | string<br>Unique identifier for the mosaic |

##### query Parameters

|     |     |
| zoom | integer<br>Default: 14<br>Zoom level (default 14) |
| wkt<br>required | string<br>WKT string defining the area of interest |
| overlap | string<br>Default: "intersects"<br>Overlap type (intersects, contains, within) |
| tc | integer<br>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

```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/~1tile~1v2~1{mosaic_id}~1footprint/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1v2~1{mosaic_id}~1footprint/get) Retrieve the footprint for a single survey

##### path Parameters

|     |     |
| --- | --- |
| mosaic_id<br>required | string<br>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

```json
{"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/~1tile~1v2~1{mosaic_id}~1mosaic_updates/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1v2~1{mosaic_id}~1mosaic_updates/get) Retrieve mosaic updates with ISO 8601 timestamps

##### path Parameters

|     |     |
| --- | --- |
| mosaic_id<br>required | string<br>Unique identifier for the mosaic |

##### query Parameters

|     |     |
| since | string <date-time> <br>ISO 8601 timestamp indicating the start of the update window |
| until | string <date-time> <br>ISO 8601 timestamp indicating the end of the update window |
| include_percent_covered | boolean<br>Default: false<br>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

```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/~1tile~1v2~1{mosaic_id}~1{mosaic_stac_id}~1{z}~1{x}~1{y}/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1v2~1{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<br>required | string<br>Unique identifier for the mosaic |
| mosaic_stac_id<br>required | string<br>STAC ID of the mosaic |
| z<br>required | integer<br>Zoom level of the tile |
| x<br>required | integer<br>X coordinate of the tile<br>The following code sample demonstrates how to translate latitude/longitude to XYZ using the Mercantile python package

```python
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<br>required | integer<br>Y coordinate of the tile |
| ext<br>required | string<br>Default: "png"<br>File extension of the tile (e.g., png, jpeg) |

##### query Parameters

|     |     |
| --- | --- |
| metadata | string<br>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

```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/~1tile~1v2~1{mosaic_id}~1{z}~1{x}~1{y}/get](https://docs.nearspacelabs.com/api/tile-server/#/paths/~1tile~1v2~1{mosaic_id}~1{z}~1{x}~1{y}/get) Retrieve the latest mosaic tile (ISO 8601 metadata)

##### path Parameters

|     |     |
| --- | --- |
| mosaic_id<br>required | string<br>Unique identifier for the mosaic |
| z<br>required | integer<br>Zoom level |
| x<br>required | integer<br>Tile X coordinate |
| y<br>required | integer<br>Tile Y coordinate |
| ext<br>required | string<br>Image extension (png or jpg) |

##### query Parameters

|     |     |
| metadata | boolean<br>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

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