Vantage Cloud Pricing API

The Vantage Cloud Pricing API (v1) provides programmatic access to cloud infrastructure pricing data across multiple providers including AWS, Azure, and GCP. Query providers, services, products, and prices to retrieve up-to-date pricing information for cloud infrastructure. The API is free for all registered Vantage users.

OpenAPI Specification

vantage-cloud-pricing-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Vantage Cloud Pricing API
  description: >-
    The Vantage Cloud Pricing API provides programmatic access to cloud
    infrastructure pricing data across multiple cloud providers. You can query
    products, services, and providers to retrieve up-to-date pricing information
    for AWS, Azure, GCP, and other supported cloud platforms. The API is free for
    all registered Vantage users and returns JSON-encoded responses. An OpenAPI
    specification is always available at https://api.vantage.sh/v1/swagger.json.
  version: 1.0.0
  contact:
    name: Vantage Support
    url: https://www.vantage.sh/
  license:
    name: Proprietary
    url: https://www.vantage.sh/terms
  termsOfService: https://www.vantage.sh/terms
servers:
- url: https://api.vantage.sh/v1
  description: Vantage Cloud Pricing API v1 Production
security:
- bearerAuth: []
tags:
- name: Prices
  description: Retrieve pricing details for specific products.
- name: Products
  description: >-
    Query cloud infrastructure products and their pricing across providers and
    services.
- name: Providers
  description: Retrieve available cloud providers.
paths:
  /providers:
    get:
      operationId: getProviders
      summary: Vantage Get All Providers
      description: >-
        Returns all supported cloud Providers with pricing data available in the
        Vantage database.
      tags:
      - Providers
      parameters:
      - $ref: '#/components/parameters/PageParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Successful response with a list of cloud Providers.
          content:
            application/json:
              schema:
                type: object
                properties:
                  providers:
                    type: array
                    items:
                      $ref: '#/components/schemas/Provider'
              examples:
                Getproviders200Example:
                  summary: Default getProviders 200 response
                  x-microcks-default: true
                  value:
                    providers:
                    - id: abc123
                      name: Example Title
                      services_count: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /providers/{provider_id}:
    get:
      operationId: getProvider
      summary: Vantage Get a Provider
      description: Returns a specific cloud Provider by identifier.
      tags:
      - Providers
      parameters:
      - name: provider_id
        in: path
        required: true
        description: >-
          The identifier of the cloud provider (e.g., aws, azure, gcp).
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Successful response with the Provider.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Provider'
              examples:
                Getprovider200Example:
                  summary: Default getProvider 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    services_count: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services:
    get:
      operationId: getServices
      summary: Vantage Get All Services
      description: >-
        Returns all Services available across all cloud Providers or filtered by
        a specific Provider.
      tags: []
      parameters:
      - name: provider_id
        in: query
        description: Filter services by a specific cloud provider identifier.
        schema:
          type: string
        example: '500123'
      - $ref: '#/components/parameters/PageParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Successful response with a list of Services.
          content:
            application/json:
              schema:
                type: object
                properties:
                  services:
                    type: array
                    items:
                      $ref: '#/components/schemas/Service'
              examples:
                Getservices200Example:
                  summary: Default getServices 200 response
                  x-microcks-default: true
                  value:
                    services:
                    - id: abc123
                      name: Example Title
                      provider_id: '500123'
                      products_count: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services/{service_id}:
    get:
      operationId: getService
      summary: Vantage Get a Service
      description: Returns a specific Service by identifier.
      tags: []
      parameters:
      - name: service_id
        in: path
        required: true
        description: The identifier of the service.
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Successful response with the Service.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Service'
              examples:
                Getservice200Example:
                  summary: Default getService 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    provider_id: '500123'
                    products_count: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /products:
    get:
      operationId: getProducts
      summary: Vantage Get All Products
      description: >-
        Returns all Products for a given Provider and Service. For example, with
        a Provider of AWS and a Service of EC2, Products will be a list of all
        EC2 instance types with their pricing information.
      tags:
      - Products
      parameters:
      - name: provider_id
        in: query
        description: Filter products by a specific cloud provider identifier.
        schema:
          type: string
        example: '500123'
      - name: service_id
        in: query
        description: Filter products by a specific service identifier.
        schema:
          type: string
        example: '500123'
      - name: name
        in: query
        description: Filter products by name.
        schema:
          type: string
        example: Example Title
      - $ref: '#/components/parameters/PageParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Successful response with a list of Products.
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      $ref: '#/components/schemas/Product'
              examples:
                Getproducts200Example:
                  summary: Default getProducts 200 response
                  x-microcks-default: true
                  value:
                    products:
                    - id: abc123
                      name: Example Title
                      provider_id: '500123'
                      service_id: '500123'
                      details: example_value
                      prices:
                      - {}
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /products/{product_id}:
    get:
      operationId: getProduct
      summary: Vantage Get a Product
      description: Returns a specific Product by identifier with its pricing details.
      tags:
      - Products
      parameters:
      - name: product_id
        in: path
        required: true
        description: The identifier of the product.
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Successful response with the Product.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
              examples:
                Getproduct200Example:
                  summary: Default getProduct 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    provider_id: '500123'
                    service_id: '500123'
                    details: example_value
                    prices:
                    - id: abc123
                      unit: example_value
                      price: example_value
                      currency: example_value
                      region: example_value
                      description: A sample description.
                      product_id: '500123'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /prices:
    get:
      operationId: getPrices
      summary: Vantage Get Prices
      description: >-
        Returns pricing data for products. Can be filtered by product, provider,
        service, and region.
      tags:
      - Prices
      parameters:
      - name: product_id
        in: query
        description: Filter prices by a specific product identifier.
        schema:
          type: string
        example: '500123'
      - name: provider_id
        in: query
        description: Filter prices by a specific cloud provider identifier.
        schema:
          type: string
        example: '500123'
      - name: service_id
        in: query
        description: Filter prices by a specific service identifier.
        schema:
          type: string
        example: '500123'
      - name: region
        in: query
        description: Filter prices by a specific cloud region.
        schema:
          type: string
        example: example_value
      - $ref: '#/components/parameters/PageParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Successful response with pricing data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  prices:
                    type: array
                    items:
                      $ref: '#/components/schemas/Price'
              examples:
                Getprices200Example:
                  summary: Default getPrices 200 response
                  x-microcks-default: true
                  value:
                    prices:
                    - id: abc123
                      unit: example_value
                      price: example_value
                      currency: example_value
                      region: example_value
                      description: A sample description.
                      product_id: '500123'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Vantage API token. Create a free API key from your Vantage account page
        at https://console.vantage.sh/account/api_access_tokens.
  parameters:
    PageParam:
      name: page
      in: query
      description: The page of results to return.
      schema:
        type: integer
        default: 1
    LimitParam:
      name: limit
      in: query
      description: The number of results per page.
      schema:
        type: integer
        default: 25
  schemas:
    Provider:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the Provider.
          example: abc123
        name:
          type: string
          description: The display name of the Provider.
          example: Example Title
        services_count:
          type: integer
          description: The number of services available from this Provider.
          example: 10
    Service:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the Service.
          example: abc123
        name:
          type: string
          description: The display name of the Service.
          example: Example Title
        provider_id:
          type: string
          description: The identifier of the Provider this Service belongs to.
          example: '500123'
        products_count:
          type: integer
          description: The number of products available in this Service.
          example: 10
    Product:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the Product.
          example: abc123
        name:
          type: string
          description: The display name of the Product.
          example: Example Title
        provider_id:
          type: string
          description: The identifier of the cloud Provider.
          example: '500123'
        service_id:
          type: string
          description: The identifier of the Service.
          example: '500123'
        details:
          type: object
          description: >-
            Product-specific details such as vCPUs, memory, storage, network
            performance, etc.
          example: example_value
        prices:
          type: array
          items:
            $ref: '#/components/schemas/Price'
          description: Pricing data for this Product across regions.
          example: []
    Price:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the Price.
          example: abc123
        unit:
          type: string
          description: The pricing unit (e.g., per hour, per GB-month).
          example: example_value
        price:
          type: string
          description: The price amount.
          example: example_value
        currency:
          type: string
          description: The currency of the price.
          example: example_value
        region:
          type: string
          description: The cloud region this price applies to.
          example: example_value
        description:
          type: string
          description: A description of the pricing tier or option.
          example: A sample description.
        product_id:
          type: string
          description: The identifier of the associated Product.
          example: '500123'
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
                description: A human-readable error message.
          example: []
  responses:
    Unauthorized:
      description: Authentication credentials are missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'