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 temporal filters (legacy UTC timestamps)
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 metadata timestamps).
GET /tile/{mosaic_id}/{z}/{x}/{y}.{ext} Returns tiles from the latest mosaic available for a given XYZ (legacy UTC metadata timestamps).

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 email required.

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. 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.
  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
  /tile/surveys:
    get:
      deprecated: true
      description: You can retrieve a JSON-formatted list of all available surveys through our survey endpoint:<br/>
      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
  /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`.<br/>
      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 temporal filters (legacy UTC timestamps)
      tags:
      - Tile
  /tile/v2/surveys:
    get:
      description: This endpoint returns a paginated list of surveys ordered by their most recent update timestamp. (ISO 8601 timestamps)<br/>
      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
  /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
  /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
  /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
  /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
  /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
  /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
  /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'
                    file_format: png
                    geospatial_extent:
                    - -97.74124145507812
                    - 30.274486436999457
                    - -97.7398681640625
                    -

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