Near Space Labs Tile API

The Tile API from Near Space Labs — 19 operation(s) for tile.

Operations 19

GET /tile/rsm/{z}/{x}/{y}.{ext} Retrieve an RSM mosaic tile #
GET /tile/surveys Retrieve all available surveys #
GET /tile/surveys/coverage Retrieves a list of SurveyMetadata items that match the given spatial and… #
GET /tile/v2/surveys Retrieve paginated surveys without footprints #
GET /tile/v2/surveys/coverage Retrieve survey coverage metadata (ISO 8601 timestamps) #
GET /tile/v2/{mosaic_id}/coverage Retrieve coverage metadata for a specific mosaic (ISO 8601 timestamps) #
GET /tile/v2/{mosaic_id}/footprint Retrieve the footprint for a single survey #
GET /tile/v2/{mosaic_id}/mosaic_updates Retrieve mosaic updates with ISO 8601 timestamps #
GET /tile/v2/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y} Retrieve a historical mosaic tile or metadata (ISO 8601 timestamps) #
GET /tile/v2/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}.{ext} Retrieve a historical mosaic tile or metadata (ISO 8601 timestamps) #
GET /tile/v2/{mosaic_id}/{z}/{x}/{y} Retrieve the latest mosaic tile (ISO 8601 metadata) #
GET /tile/v2/{mosaic_id}/{z}/{x}/{y}.{ext} Retrieve the latest mosaic tile (ISO 8601 metadata) #
GET /tile/{mosaic_id}/coverage Retrieve coverage metadata for a specific mosaic (legacy UTC timestamps) #
GET /tile/{mosaic_id}/footprint Retrieve the footprint for a single survey #
GET /tile/{mosaic_id}/mosaic_updates Retrieve updates for a specific mosaic (legacy UTC timestamps) #
GET /tile/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y} Retrieve a historical mosaic tile or metadata (legacy UTC timestamps) #
GET /tile/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}.{ext} Retrieve a historical mosaic tile or metadata (legacy UTC timestamps) #
GET /tile/{mosaic_id}/{z}/{x}/{y} Returns tiles from the latest mosaic available for a given XYZ (legacy UTC… #
GET /tile/{mosaic_id}/{z}/{x}/{y}.{ext} Returns tiles from the latest mosaic available for a given XYZ (legacy UTC… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/near-space-labs-tile-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

near-space-labs-tile-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: This service provides access to high-resolution aerial imagery through a tile server.
  termsOfService: /tos
  title: Service Tile API
  version: 1.0.1
tags:
- name: Tile
paths:
  /tile/rsm/{z}/{x}/{y}.{ext}:
    get:
      parameters:
      - description: Zoom level of the tile
        in: path
        name: z
        required: true
        schema:
          type: integer
      - description: X coordinate of the tile
        in: path
        name: x
        required: true
        schema:
          type: integer
      - description: Y coordinate of the tile
        in: path
        name: y
        required: true
        schema:
          type: integer
      - description: File extension of the tile (e.g., png, jpeg)
        in: path
        name: ext
        required: true
        schema:
          type: string
          default: png
      - description: Survey name for the tile
        in: query
        name: survey
        required: false
        schema:
          type: string
          default: NSL_BASEMAP_v7
      responses:
        '200':
          content:
            image/jpeg:
              schema:
                format: binary
                type: string
            image/png:
              schema:
                format: binary
                type: string
          description: RSM tile retrieved successfully
        '400':
          description: Bad Request - Invalid parameters
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Tile out of range or not found
        '500':
          description: Internal Server Error - Unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieve an RSM mosaic tile
      tags:
      - Tile
      operationId: getTileRsmByZByXByY}{ext
      x-operation-id-source: derived
  /tile/surveys:
    get:
      deprecated: true
      description: 'You can retrieve a JSON-formatted list of all available surveys through our survey endpoint:'
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Example output
                  value:
                  - - 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
              schema:
                items:
                  properties:
                    capture_date_end:
                      description: End date of the survey capture
                      format: datetime
                      type: string
                    capture_date_start:
                      description: Start date of the survey capture
                      format: datetime
                      type: string
                    footprint:
                      description: WKT string of the survey footprint
                      type: string
                    id:
                      description: Unique identifier of the survey
                      type: string
                    spectral_range:
                      description: Spectral range of the survey
                      type: string
                  type: object
                type: array
          description: Surveys retrieved successfully
        '400':
          description: Bad Request - Invalid parameters
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - Resource does not exist
        '500':
          description: Internal Server Error - Contract error or unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieve all available surveys
      tags:
      - Tile
      operationId: getTileSurveys
      x-operation-id-source: derived
  /tile/surveys/coverage:
    get:
      deprecated: true
      description: 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`.
      parameters:
      - description: WKT string defining the area of interest. The area cannot exceed 696,000 square kilometers
        in: query
        name: wkt
        required: true
        schema:
          type: string
      - description: Start date for observations (YYYY-MM-DD)
        in: query
        name: observed_start
        schema:
          type: string
          format: date
      - description: End date for observations (YYYY-MM-DD)
        in: query
        name: observed_end
        schema:
          type: string
          format: date
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Example output
                  value:
                  - - 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
          description: Survey coverage retrieved
        '400':
          description: Bad Request - Invalid parameters
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - Resource does not exist
        '500':
          description: Internal Server Error - Contract error or unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieves a list of SurveyMetadata items that match the given spatial and…
      tags:
      - Tile
      operationId: getTileSurveysCoverage
      x-operation-id-source: derived
  /tile/v2/surveys:
    get:
      description: This endpoint returns a paginated list of surveys ordered by their most recent update timestamp. (ISO 8601 timestamps)
      parameters:
      - description: The 1-based page index to retrieve. Each page contains the number of surveys specified by `page_size` (defaults to 25).
        in: query
        name: page
        schema:
          default: 1
          minimum: 1
          type: integer
      - description: Number of surveys to include per page (minimum of 1, defaults to 25)
        in: query
        name: page_size
        schema:
          default: 25
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Example output
                  value:
                    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
              schema:
                properties:
                  has_next:
                    description: Indicates whether another page is available after this one
                    type: boolean
                  page:
                    description: Current page index (1-based)
                    type: integer
                  page_size:
                    description: Number of surveys returned per page (defaults to 25)
                    type: integer
                  results:
                    description: List of surveys for the requested page
                    items:
                      properties:
                        capture_date_end:
                          description: End date of the survey capture
                          format: datetime
                          type: string
                        capture_date_start:
                          description: Start date of the survey capture
                          format: datetime
                          type: string
                        id:
                          description: Unique identifier of the survey
                          type: string
                        last_updated:
                          description: Most recent update timestamp derived from the survey cache
                          format: datetime
                          type: string
                        spectral_range:
                          description: Spectral range of the survey
                          type: string
                      type: object
                    type: array
                  total_pages:
                    description: Total number of pages available
                    type: integer
                  total_results:
                    description: Total number of surveys available
                    type: integer
                type: object
          description: Paginated surveys retrieved successfully
        '400':
          description: Bad Request - Invalid parameters
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - Resource does not exist
        '500':
          description: Internal Server Error - Contract error or unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieve paginated surveys without footprints
      tags:
      - Tile
      operationId: getTileV2Surveys
      x-operation-id-source: derived
  /tile/v2/surveys/coverage:
    get:
      parameters:
      - description: WKT string defining the area of interest
        in: query
        name: wkt
        required: true
        schema:
          type: string
      - description: Filter surveys with observations after this date (YYYY-MM-DD)
        in: query
        name: observed_start
        schema:
          type: string
          format: date
      - description: Filter surveys with observations before this date (YYYY-MM-DD)
        in: query
        name: observed_end
        schema:
          type: string
          format: date
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Example output
                  value:
                  - 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
              schema:
                items:
                  properties:
                    capture_date_end:
                      description: End date of the survey capture (ISO 8601)
                      format: date-time
                      type: string
                    capture_date_start:
                      description: Start date of the survey capture (ISO 8601)
                      format: date-time
                      type: string
                    footprint:
                      description: WKT string of the survey footprint
                      type: string
                    id:
                      description: Unique identifier of the survey
                      type: string
                    spectral_range:
                      description: Spectral range of the survey
                      type: string
                  type: object
                type: array
          description: Surveys retrieved successfully
        '400':
          description: Bad Request - Validation error
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - Resource does not exist
        '500':
          description: Internal Server Error - Contract error or unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieve survey coverage metadata (ISO 8601 timestamps)
      tags:
      - Tile
      operationId: getTileV2SurveysCoverage
      x-operation-id-source: derived
  /tile/v2/{mosaic_id}/coverage:
    get:
      parameters:
      - description: Unique identifier for the mosaic
        in: path
        name: mosaic_id
        required: true
        schema:
          type: string
      - description: Zoom level (default 14)
        in: query
        name: zoom
        schema:
          type: integer
          default: 14
      - description: WKT string defining the area of interest
        in: query
        name: wkt
        required: true
        schema:
          type: string
      - description: Overlap type (intersects, contains, within)
        in: query
        name: overlap
        schema:
          type: string
          default: intersects
      - description: Tile coverage threshold
        in: query
        name: tc
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Example output
                  value:
                  - - 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
          description: Coverage retrieved successfully
        '400':
          description: Bad Request - Validation error
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - Resource does not exist
        '500':
          description: Internal Server Error - Contract error or unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieve coverage metadata for a specific mosaic (ISO 8601 timestamps)
      tags:
      - Tile
      operationId: getTileV2ByMosaicIdCoverage
      x-operation-id-source: derived
  /tile/v2/{mosaic_id}/footprint:
    get:
      parameters:
      - description: Unique identifier for the mosaic/survey
        in: path
        name: mosaic_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Successful response with footprint
                  value:
                    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
                example2:
                  summary: Survey not found
                  value:
                    footprint: null
                    status: 404
                    survey_id: 2024Q2-INVALID
              schema:
                properties:
                  footprint:
                    description: WKT (Well-Known Text) string representing the survey footprint geometry
                    type: string
                  status:
                    description: HTTP status code
                    type: integer
                  survey_id:
                    description: The survey identifier
                    type: string
                type: object
          description: Survey footprint retrieved successfully
        '400':
          description: Bad Request - Invalid parameters
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - Survey does not exist
        '500':
          description: Internal Server Error - Contract error or unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieve the footprint for a single survey
      tags:
      - Tile
      operationId: getTileV2ByMosaicIdFootprint
      x-operation-id-source: derived
  /tile/v2/{mosaic_id}/mosaic_updates:
    get:
      parameters:
      - description: Unique identifier for the mosaic
        in: path
        name: mosaic_id
        required: true
        schema:
          type: string
      - description: ISO 8601 timestamp indicating the start of the update window
        in: query
        name: since
        schema:
          type: string
          format: date-time
      - description: ISO 8601 timestamp indicating the end of the update window
        in: query
        name: until
        schema:
          type: string
          format: date-time
      - description: Whether to include percent_covered in the response
        in: query
        name: include_percent_covered
        schema:
          type: boolean
          default: false
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Example output
                  value:
                  - - 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/4434/6503
          description: Mosaic updates retrieved successfully
        '400':
          description: Bad Request - Validation error
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - Resource does not exist
        '500':
          description: Internal Server Error - Contract error or unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieve mosaic updates with ISO 8601 timestamps
      tags:
      - Tile
      operationId: getTileV2ByMosaicIdMosaicUpdates
      x-operation-id-source: derived
  /tile/v2/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}:
    get:
      parameters:
      - description: Unique identifier for the mosaic
        in: path
        name: mosaic_id
        required: true
        schema:
          type: string
      - description: STAC ID of the mosaic
        in: path
        name: mosaic_stac_id
        required: true
        schema:
          type: string
      - description: Zoom level of the tile
        in: path
        name: z
        required: true
        schema:
          type: integer
      - description: '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)

          ```

          '
        in: path
        name: x
        required: true
        schema:
          type: integer
      - description: Y coordinate of the tile
        in: path
        name: y
        required: true
        schema:
          type: integer
      - description: File extension of the tile (e.g., png, jpeg)
        in: path
        name: ext
        required: true
        schema:
          type: string
          default: png
      - description: If provided, returns metadata instead of the tile
        in: query
        name: metadata
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Example output
                  value:
                  - 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
            image/jpeg:
              schema:
                format: binary
                type: string
            image/png:
              schema:
                format: binary
                type: string
          description: Historical mosaic tile or metadata retrieved successfully
        '400':
          description: Bad Request - Invalid parameters
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - Resource does not exist
        '500':
          description: Internal Server Error - Contract error or unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieve a historical mosaic tile or metadata (ISO 8601 timestamps)
      tags:
      - Tile
      operationId: getTileV2ByMosaicIdByMosaicStacIdByZByXByY
      x-operation-id-source: derived
  /tile/v2/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}.{ext}:
    get:
      parameters:
      - description: Unique identifier for the mosaic
        in: path
        name: mosaic_id
        required: true
        schema:
          type: string
      - description: STAC ID of the mosaic
        in: path
        name: mosaic_stac_id
        required: true
        schema:
          type: string
      - description: Zoom level of the tile
        in: path
        name: z
        required: true
        schema:
          type: integer
      - description: '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)

          ```

          '
        in: path
        name: x
        required: true
        schema:
          type: integer
      - description: Y coordinate of the tile
        in: path
        name: y
        required: true
        schema:
          type: integer
      - description: File extension of the tile (e.g., png, jpeg)
        in: path
        name: ext
        required: true
        schema:
          type: string
          default: png
      - description: If provided, returns metadata instead of the tile
        in: query
        name: metadata
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Example output
                  value:
                  - 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
            image/jpeg:
              schema:
                format: binary
                type: string
            image/png:
              schema:
                format: binary
                type: string
          description: Historical mosaic tile or metadata retrieved successfully
        '400':
          description: Bad Request - Invalid parameters
        '401':
          description: Unauthorized - Missing or invalid credentials
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - Resource does not exist
        '500':
          description: Internal Server Error - Contract error or unexpected failure
        '503':
          description: Service Unavailable - Backend service error
      summary: Retrieve a historical mosaic tile or metadata (ISO 8601 timestamps)
      tags:
      - Tile
      operationId: getTileV2ByMosaicIdByMosaicStacIdByZByXByY}{ext
      x-operation-id-source: derived
  /tile/v2/{mosaic_id}/{z}/{x}/{y}:
    get:
      parameters:
      - description: Unique identifier for the mosaic
        in: path
        name: mosaic_id
        required: true
        schema:
          type: string
      - description: Zoom level
        in: path
        name: z
        required: true
        schema:
          type: integer
      - description: Tile X coordinate
        in: path
        name: x
        required: true
        schema:
          type: integer
      - description: Tile Y coordinate
        in: path
        name: y
        required: true
        schema:
          type: integer
      - description: Image extension (png or jpg)
        in: path
        name: ext
        schema:
          type: string
        required: true
      - description: When true, returns JSON metadata instead of the tile binary
        in: query
        name: metadata
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              examples:
                example1:
                  summary: Metadata example
                  value:
                  - capture_date_end: '2022-08-28T18:10:21Z'
                    capture_date_start: '2022-01-29T18:06:15Z'
          

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/near-space-labs/refs/heads/main/openapi/near-space-labs-tile-api-openapi.yml