The common market-data vocabulary -- the instruments that trade, the quotes and trades on them, the bars that summarise them over time, the order books behind the price and the exchanges they list on -- distilled from the APIs that already exist. Orders and positions belong to the trading context. Part of Schema Commons, published by the API Commons.
Built from the providers tagged Market Data, Financial Data, Stocks, Capital Markets, Equities, Stock Market, Crypto Market Data in APIs.io that publish their own OpenAPI. Only harvested contracts count -- nothing API Evangelist generated. Every number below is a count of providers.
| Concept | Expose it | Readable schema | Core properties (share) | Collection named |
|---|---|---|---|---|
| instrument | 78 | 68 | name 56% | ticker 20, instruments 16, symbols 16, tickers 16 |
| market_quote | 19 | 15 | symbol 73% | quotes 10, quote 8, price 1, nbbo 1 |
| bar | 43 | 36 | close 56%, open 56%, volume 56%, high 53%, low 53% | candles 15, ohlc 8, bars 5, timeseries 5 |
| market_trade | 15 | 13 | price 69%, time 62% | trades 12, ticks 3 |
| order_book | 25 | 20 | bids 70%, asks 65%, symbol 50% | depth 11, orderbook 8, book 4, order-book 3 |
| exchange | 14 | 12 | name 67% | exchanges 12, exchange 3 |
Cohort: 237 providers with harvested OpenAPI, 95 crosswalks. Of the providers exposing a instrument: 4% create, 88% list, 44% fetch, 3% update, 3% delete. Generated 2026-11-11 by build.py.
Shares are of the providers with a readable resource schema for that concept. The extended tier and the long tail of every concept are in profile.yml.
- A bar agrees completely: open, high, low, close and volume are core across 43 equity, crypto and data-vendor APIs. OHLCV is the most universal shape in the commons -- the single place where the market converged without a standards body.
- An order book agrees on bids, asks and the symbol. A trade agrees on price and time. A quote agrees only on the symbol -- bid, ask and last price sit just below core, because some providers quote a last price and others a two-sided market.
- An instrument agrees only on a name: equities, crypto pairs, futures and FX each identify an instrument differently (ticker, pair, FIGI, ISIN, product id), and the symbol field is the most-aliased name in this context.
- openapi.yml -- OpenAPI 3.1 of the shared operations. No one serves it; it is the shape to map to. Lints clean against the naming ruleset.
- schema/ -- JSON Schema 2020-12 per concept; each property carries
x-commons-tier,x-commons-share,x-commons-providersand the spellings seen. - crosswalk/ -- one per provider, common name -> their name, with the harvested spec and operations each mapping was read from.
- adopters.yml -- who exposes which concept, linked to their APIs.io page.
- concepts.yml -- the only hand-written input: concepts, path segments and their qualifiers, aliases, reviewed exclusions, merged duplicates, and the decisions below.
- census/ -- the cohort and the raw census the profile is built from.
These are calls, not measurements, recorded so they can be revisited as the method matures.
- Orders, positions and fills belong to trading; this context is the read side of a market.
- Quotes are
/market-quotesand trades/market-trades: insurance owns/quotes, and trading owns the trades an account makes. - Candles, klines, aggregates and OHLC endpoints are bars, at any provider: those names mean one thing, and requiring an instrument resource cost real exchanges (Alpaca, Bitvavo). Depth and level-2 books are order books, and do require an instrument (
booksis also publishing). - A bare
/marketsis not an instrument (rental and prediction markets); it counts only beneath an exchange or crypto path. - Duplicates merged: Massive into Polygon, LSEG, Dow Jones into Factiva, Bamboo, Seshat, Figure.
../schema-commons/scripts/run.sh .Artifacts CC BY-NC-SA 4.0 (LICENSE); code Apache 2.0 (LICENSE-CODE).