Vantor Hub Discovery API

Search and discovery API across Vantor's "125+ petabytes of imagery and derivatives" — high-resolution electro-optical imagery from the WorldView and GeoEye constellations, WorldView Legion (six next-generation satellites launched 2024-2026), basemaps and derivative analytic products. STAC-aligned search by area of interest, time window, sensor, cloud cover, resolution and other filters.

Vantor Hub Discovery API is one of 11 APIs that Maxar Technologies publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Discovery, Search, STAC, Imagery, and Catalog. The published artifact set on APIs.io includes API documentation and an OpenAPI specification.

OpenAPI Specification

discovery-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Vantor Hub Discovery API
  description: >-
    Search and discovery API across Vantor Hub's "125+ petabytes of imagery
    and derivatives" — WorldView, GeoEye, WorldView Legion archive imagery
    plus Vivid basemaps and derivative analytic products. STAC-aligned search
    by area of interest, time window, sensor, cloud cover and resolution.
    Profile derived from Vantor Hub public docs (hub.vantor.com/docs/discovery)
    and the open-source `maxarcat` Python client which wraps the published
    OpenAPI for the Maxar Content Catalog. Endpoint paths should be confirmed
    against live Vantor responses before production use.
  version: '1.0.0'
  contact:
    name: Vantor Support
    url: https://hub.vantor.com/docs/contact
servers:
  - url: https://api.maxar.com/discovery/v1
    description: Vantor Hub Discovery production
security:
  - bearerAuth: []
tags:
  - name: Search
    description: Search and filter imagery and derivatives
  - name: Items
    description: Retrieve individual STAC items
  - name: Collections
    description: Browse and inspect collections
paths:
  /search:
    post:
      tags:
        - Search
      summary: Search Items
      description: STAC-style POST search across collections by geometry, time window and filters.
      operationId: searchItems
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRequest'
      responses:
        '200':
          description: Item collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemCollection'
    get:
      tags:
        - Search
      summary: Search Items
      description: STAC-style GET search with query parameters.
      operationId: searchItemsGet
      parameters:
        - name: bbox
          in: query
          schema:
            type: array
            items:
              type: number
        - name: datetime
          in: query
          schema:
            type: string
        - name: collections
          in: query
          schema:
            type: array
            items:
              type: string
        - name: limit
          in: query
          schema:
            type: integer
            default: 25
        - name: cloud_cover
          in: query
          schema:
            type: number
        - name: max_resolution
          in: query
          schema:
            type: number
      responses:
        '200':
          description: Item collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemCollection'
  /collections:
    get:
      tags:
        - Collections
      summary: List Collections
      description: Enumerate the collections available to the caller (WorldView, Legion, Vivid, etc).
      operationId: listCollections
      responses:
        '200':
          description: Collection list
          content:
            application/json:
              schema:
                type: object
                properties:
                  collections:
                    type: array
                    items:
                      $ref: '#/components/schemas/Collection'
  /collections/{collectionId}:
    get:
      tags:
        - Collections
      summary: Get Collection
      description: Retrieve metadata for a single collection.
      operationId: getCollection
      parameters:
        - name: collectionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Collection metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
  /collections/{collectionId}/items:
    get:
      tags:
        - Items
      summary: List Collection Items
      description: List items belonging to a single collection.
      operationId: listCollectionItems
      parameters:
        - name: collectionId
          in: path
          required: true
          schema:
            type: string
        - name: limit
          in: query
          schema:
            type: integer
            default: 25
        - name: bbox
          in: query
          schema:
            type: array
            items:
              type: number
        - name: datetime
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Item collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemCollection'
  /collections/{collectionId}/items/{itemId}:
    get:
      tags:
        - Items
      summary: Get Item
      description: Retrieve a single STAC item, including asset hrefs.
      operationId: getItem
      parameters:
        - name: collectionId
          in: path
          required: true
          schema:
            type: string
        - name: itemId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Item
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    SearchRequest:
      type: object
      properties:
        bbox:
          type: array
          items:
            type: number
          minItems: 4
          maxItems: 6
        intersects:
          type: object
          description: GeoJSON geometry to intersect
        datetime:
          type: string
          description: RFC3339 datetime or interval
        collections:
          type: array
          items:
            type: string
        ids:
          type: array
          items:
            type: string
        limit:
          type: integer
          default: 25
        query:
          type: object
          description: Property filters (cloud_cover, off_nadir, gsd, etc)
    ItemCollection:
      type: object
      required: [type, features]
      properties:
        type:
          type: string
          enum: [FeatureCollection]
        features:
          type: array
          items:
            $ref: '#/components/schemas/Item'
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
        numberReturned:
          type: integer
        numberMatched:
          type: integer
    Item:
      type: object
      required: [type, id, geometry, properties]
      properties:
        type:
          type: string
          enum: [Feature]
        stac_version:
          type: string
        id:
          type: string
        collection:
          type: string
        bbox:
          type: array
          items:
            type: number
        geometry:
          type: object
        properties:
          $ref: '#/components/schemas/ItemProperties'
        assets:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Asset'
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
    ItemProperties:
      type: object
      properties:
        datetime:
          type: string
          format: date-time
        platform:
          type: string
          example: WorldView-3
        instruments:
          type: array
          items:
            type: string
        gsd:
          type: number
          description: Ground sample distance in metres
        cloud_cover:
          type: number
        off_nadir:
          type: number
        sun_elevation:
          type: number
    Asset:
      type: object
      required: [href]
      properties:
        href:
          type: string
        type:
          type: string
        roles:
          type: array
          items:
            type: string
        title:
          type: string
    Collection:
      type: object
      required: [id, type]
      properties:
        id:
          type: string
        type:
          type: string
          enum: [Collection]
        title:
          type: string
        description:
          type: string
        license:
          type: string
        extent:
          type: object
        providers:
          type: array
          items:
            type: object
    Link:
      type: object
      required: [href, rel]
      properties:
        href:
          type: string
        rel:
          type: string
        type:
          type: string
        title:
          type: string