Caplight Market Price API

Caplight's proprietary MarketPrice estimate, calculated using executed trades, company primary rounds, bids/offers, fund marks, 409a valuations, and comps performance.

OpenAPI Specification

caplight-marketprice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Caplight REST Market Price API
  description: 'This page provides documentation for the Caplight API, a paid add-on product of [Caplight Data](https://www.data.caplight.com). To request API access, please contact us at contact@caplight.com.


    # Production server

    https://us-central1-caplight-prod.cloudfunctions.net/api/public


    # Staging/sandbox server

    https://us-central1-caplight-staging.cloudfunctions.net/api/public


    # API versions

    Endpoints are versioned via path prefix: `/v1/` for company, market price, and order book; `/v2/` for company lookup, funding rounds, investors, company details, and comps.


    # Company IDs

    Companies have two ID formats: a **v1 company ID** (used in v1 endpoints) and a **v2 company ID** (used in v2 endpoints). Both v1 and v2 company responses include both in `caplightIds` for cross-referencing. Path params that accept company identifiers support either format, plus PitchBook ID and company domain where applicable.


    If you have a domain, a v1 company ID or a PitchBook ID and need the v2 company ID, call `GET /v2/companies` — it resolves up to 50 identifiers per request and covers companies added recently.


    # V2 Access & Permissions


    **Company access:** v2 company-scoped endpoints (funding rounds, investors, company details, and comps) enforce per-account access control. Your account may have (1) a whitelist of permitted companies, (2) an annual limit on distinct companies you can access, or both. Accessing the same company multiple times counts once toward the limit. The `/funding-rounds/updates` endpoint returns only rounds for companies you have access to.


    **Restricted fields:** Some accounts have field-level restrictions. When a field is restricted, it is omitted from the response and its name appears in `restricted.fields` on the funding round object. Restricted fields may include: `amounts`, `valuation`, `pps`, `participants`, `citations`. Check for a `restricted` object and handle omitted fields in your integration.


    # Widget Embed

    In addition to this API, Caplight also provides an embeddable widget for customers who would like an easy way of integrating Caplight Data into their platform. [See example](https://storage.googleapis.com/caplight-prod.appspot.com/images/embed-example-3.png). For inquiries, please contact us directly.


    # Authentication


    <SecurityDefinitions />

    '
  termsOfService: https://platform.caplight.com/terms
  contact:
    name: 'Contact: Caplight Engineering'
    email: engineering@caplight.com
  x-logo:
    url: https://storage.googleapis.com/caplight-prod.appspot.com/caplight-logos/api-logo.png
    altText: Caplight logo
servers:
- url: //us-central1-caplight-prod.cloudfunctions.net/api/public
  description: Production
- url: //us-central1-caplight-staging.cloudfunctions.net/api/public
  description: Staging/Sandbox
tags:
- name: MarketPrice
  description: Caplight's proprietary MarketPrice estimate, calculated using executed trades, company primary rounds, bids/offers, fund marks, 409a valuations, and comps performance.
paths:
  /v1/all-marketprices:
    get:
      tags:
      - MarketPrice
      summary: All MarketPrices
      description: Returns the latest MarketPrice for all companies where a Caplight MarketPrice exists. Each company's best-available price model is returned (secondaryMarket by default, falling back to fundMarks); the priceModel field on each row indicates which model produced it.
      parameters:
      - name: x-price-model
        in: header
        description: 'Optional. Filters the response to companies whose latest MarketPrice was produced by the given model. Allowed values (case-insensitive): "secondaryMarket" or "fundMarks". When omitted, every company''s best-available MarketPrice is returned. An unrecognized value returns HTTP 400.'
        required: false
        deprecated: false
        schema:
          type: string
          enum:
          - secondaryMarket
          - fundMarks
        example: secondaryMarket
      - name: pageNumber
        in: query
        description: Page number (1-based). First page is 1.
        required: false
        deprecated: false
        schema:
          type: number
        example: 2
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllMarketPrices'
  /v1/market-price-history:
    get:
      tags:
      - MarketPrice
      summary: MarketPrice history
      description: 'Returns MarketPrice estimate history for a company by lookup field. One (and only one) lookup field must be provided. By default the best-available price model is returned for the company: the secondaryMarket model, automatically falling back to the fundMarks model when the company has no secondaryMarket series or its secondary-market data has gone stale. Use the x-price-model header to pin a specific model. The returned series is recomputed on each model run, so the set of dates returned for a company can change between requests.'
      parameters:
      - name: x-price-model
        in: header
        description: 'Optional. Pins the MarketPrice model used to build the series. Allowed values (case-insensitive): "secondaryMarket" or "fundMarks". When omitted, the best-available model is served (secondaryMarket by default, falling back to fundMarks). Pin "secondaryMarket" to always receive the secondary-market series where one exists. An unrecognized value returns HTTP 400.'
        required: false
        deprecated: false
        schema:
          type: string
          enum:
          - secondaryMarket
          - fundMarks
        example: secondaryMarket
      - name: caplightId
        in: query
        description: Company Caplight Id
        required: false
        deprecated: false
        schema:
          type: string
        example: 134591n9dfk519kl
      - name: fixed
        in: query
        description: Whether to return the fixed (unrevised) MarketPrice history. For most use-cases do NOT supply this parameter. Only honored for the secondaryMarket price model; combining fixed=true with x-price-model=fundMarks returns HTTP 400.
        required: false
        deprecated: false
        schema:
          type: boolean
        example: true
      - name: pitchbookId
        in: query
        description: Company Pitchbook Id
        required: false
        deprecated: false
        schema:
          type: string
        example: 54782-29
      - name: pageNumber
        in: query
        description: Page number (1-based). First page is 1.
        required: false
        deprecated: false
        schema:
          type: number
        example: 2
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketPriceHistory'
  /v1/market-price-fixed-eod:
    get:
      tags:
      - MarketPrice
      summary: MarketPrice end-of-day history
      description: Returns MarketPrice estimate history generated at a set hour of day; handles one company at a time; returns either interpolated time series generated on a given day or a time series of point-in-time estimates for the date of generation.
      parameters:
      - name: caplightId
        in: query
        description: Company Caplight Id
        required: false
        deprecated: false
        schema:
          type: string
        example: 134591n9dfk519kl
      - name: pitchbookId
        in: query
        description: Company Pitchbook Id
        required: false
        deprecated: false
        schema:
          type: string
        example: 54782-29
      - name: utcHour
        in: query
        description: Selected UTC hour at which MarketPrice was generated on each day (0, 4, 8, 12, 16, and 20 are supported)
        required: false
        deprecated: false
        schema:
          type: number
        example: 0
      - name: pageNumber
        in: query
        description: Page number (1-based). First page is 1.
        required: false
        deprecated: false
        schema:
          type: number
        example: 2
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketPriceEODHistory'
components:
  schemas:
    CompanyMarketPrice:
      allOf:
      - type: object
        properties:
          company:
            $ref: '#/components/schemas/CompanyMeta'
          priceModel:
            type: string
            enum:
            - secondaryMarket
            - fundMarks
            description: 'The MarketPrice model that produced this company''s price: "secondaryMarket" or "fundMarks". Defaults to "secondaryMarket".'
            example: secondaryMarket
      - $ref: '#/components/schemas/MarketPrice'
    Pagination:
      type: object
      properties:
        pageNumber:
          type: integer
          description: Page number (1-based). First page is 1.
          example: 1
        numPages:
          type: integer
          description: Total number of pages for the result set
          example: 10
        totalRecords:
          type: integer
          description: Total number of records for the result set
          example: 250
    CompanyMeta:
      type: object
      properties:
        name:
          type: string
          description: Company name
          example: Stripe
        domain:
          type: string
          description: Company top-level web domain
          example: stripe.com
        caplightId:
          type: string
          description: Caplight Company ID
          example: 12d3140kjf90
        pitchbookId:
          type: string
          description: Pitchbook Company ID
          example: 54782-29
    AllMarketPrices:
      type: object
      properties:
        allMarketPrices:
          type: array
          items:
            $ref: '#/components/schemas/CompanyMarketPrice'
        pagination:
          $ref: '#/components/schemas/Pagination'
    Date:
      type: string
      description: ISO formatted date without time
      example: '2022-09-10'
    MarketPriceEODFixedWithMeta:
      type: object
      properties:
        date:
          $ref: '#/components/schemas/Date'
        price:
          type: number
          format: double
          description: Share price USD, not split adjusted historically
          example: 15.9
        estimatedValuation:
          type: number
          format: int64
          description: Estimated valuation in USD (nullable)
          example: 2150000000
        priceStandardError:
          type: number
          format: double
          description: Standard error of MarketPrice price estimate
          example: 1.35
        generatedAtTimestamp:
          type: number
          format: int
          description: UTC timestamp of MarketPrice generation
          example: 1690000000
        daysSinceLastDataPoint:
          type: number
          format: int
          description: Number of days that passed between the last raw data point (order, trade, funding round) and MarketPrice date
          example: 10
        numberOfPoints6mo:
          type: number
          format: int
          description: Number of raw data points (order, trade, funding round) that were used for MarketPrice construction during 6 months preceding the MarketPrice date
          example: 12
        orderImbalance:
          type: object
          properties:
            bidContribution:
              type: number
              format: double
              description: Contribution (out of 1.00) of bids into MarketPrice level, derived using the leave-one-out approach
              example: 0.53
            offerContribution:
              type: number
              format: double
              description: Contribution (out of 1.00) of offers into MarketPrice level, derived using the leave-one-out approach
              example: 0.25
    MarketPriceHistory:
      type: object
      properties:
        priceModel:
          type: string
          enum:
          - secondaryMarket
          - fundMarks
          description: 'The MarketPrice model that produced the returned series: "secondaryMarket" (secondary-market transaction model) or "fundMarks" (fund-marks-based model). Reflects the model selected by default or pinned via the x-price-model request header. Omitted when no series is available for the company.'
          example: secondaryMarket
        daysSinceLastDataPoint:
          type:
          - number
          - 'null'
          format: int
          description: Number of days between the most recent underlying data point (trade, order, funding round, or fund mark) and the latest MarketPrice date. Null when unavailable.
          example: 10
        companyMeta:
          $ref: '#/components/schemas/CompanyMeta'
        marketPriceHistory:
          type: array
          items:
            $ref: '#/components/schemas/MarketPrice'
        pagination:
          $ref: '#/components/schemas/Pagination'
    MarketPriceEODHistory:
      type: object
      properties:
        companyMeta:
          $ref: '#/components/schemas/CompanyMeta'
        marketPriceData:
          type: array
          items:
            $ref: '#/components/schemas/MarketPriceEODFixedWithMeta'
        pagination:
          $ref: '#/components/schemas/Pagination'
    MarketPrice:
      type: object
      properties:
        date:
          $ref: '#/components/schemas/Date'
        price:
          type: number
          format: double
          description: Share price USD
          example: 15.9
        estimatedValuation:
          type: number
          format: int64
          description: Estimated valuation in USD (nullable)
          example: 2150000000
        priceStandardError:
          type: number
          format: double
          description: Standard error of MarketPrice price estimate
          example: 1.35
        lastUpdated:
          $ref: '#/components/schemas/Date'
          description: Date the MarketPrice estimate was generated
  securitySchemes:
    api_key:
      description: Caplight API authentication is managed through an api_key header value. Please contact us if you do not yet have an API key.
      type: apiKey
      name: api_key
      in: header
x-tagGroups:
- name: V1
  tags:
  - Company
  - Companies
  - MarketPrice
  - Live Orderbook
  - Trade History
  - Order History
  - Company Filings
  - Stock Splits
  - Fund Marks
  - News
  - company_model
  - order_model
  - market_price_model
  - trade_model
  - 409a_valuation_model
  - fund_mark_model
  - comp_model
  - stock_split_model
  - coi_model
- name: V2
  tags:
  - Funding Rounds
  - Investors
  - Company Lookup
  - Company Details
  - Comps