Market Data Levels: Level 1, 2 and 3
Level 2 data shows bids and offers at multiple prices beyond the best quote. Learn level 1, 2 and 3 data, how to read depth, its limits and how traders use it.
Level 2 data, often called market depth, shows the orders waiting to buy and sell at several price levels, not just the best bid and ask. Where level 1 tells you the top of the book, level 2 shows the shape of the queue behind it: how much size sits one, two or ten ticks away. Traders use it to judge short term supply and demand, estimate how far a large order might move the price and spot where liquidity is thick or thin. It is a useful tool with real limits, because much of what appears in the book can vanish in an instant.
Levels of market data#
| Level | Shows | Typical users |
|---|---|---|
| Level 1 | Best bid and ask, their sizes, last trade | Most traders. See Bid-Ask Spread |
| Level 2 | Aggregated size at each price level on both sides | Active and day traders |
| Level 3 (market by order) | Every individual order, with order IDs, plus the ability for members to enter quotes | Market makers and exchange members |
Names vary by market. In US equities, "Level 2" often means quotes from each market maker and venue; in futures and crypto, it usually means aggregated depth by price.
Reading a depth ladder#
| Bid size | Price | Ask size |
|---|---|---|
| 100.04 | 2,600 | |
| 100.03 | 900 | |
| 100.02 | 1,200 | |
| 800 | 100.01 | |
| 1,500 | 100.00 | |
| 4,000 | 99.99 |
The best bid is 100.01 for 800 and the best ask is 100.02 for 1,200, a one cent spread. A buyer wanting 3,000 shares immediately would take 1,200 at 100.02, 900 at 100.03 and 900 of the 2,600 at 100.04. See The Order Book and Market Depth.
What traders look for#
- Large resting orders that may act as short term support or resistance.
- Imbalances between bid and ask size near the top of the book.
- Thin areas where price could move quickly with little volume.
- Absorption: heavy selling that fails to push price lower because bids keep refilling.
The limits of level 2#
| Limit | Why it matters |
|---|---|
| Orders can be cancelled instantly | Displayed size may not be there when you trade |
| Hidden and iceberg orders | Real size can be larger than displayed. See Hidden and Iceberg Orders |
| Fragmented markets | US stocks trade on many venues; one venue's book is incomplete. See Exchanges |
| Spoofing | Illegal fake orders placed to mislead. See Spoofing and Layering |
| Speed | Retail feeds may update slower than professional ones |
Depth is best treated as context, not as a promise of liquidity.
Level 2 in code#
Programmatic depth feeds send a snapshot of the book, then a stream of updates that add, change or remove size at each price. Keeping an accurate local book requires processing every update in order and rebuilding when a gap appears. See Order Book Feeds: Snapshots and Incremental Updates and Sequence Numbers, Dropped Packets and Out-of-Order Messages.
Cost and access#
Stock exchanges usually charge for depth data, and brokers pass on these fees or include them in premium plans. Crypto exchanges typically provide depth data free through their APIs. See Market Data Fees.
Frequently asked questions#
What is level 2 data?#
Market depth data showing the size of buy and sell orders at multiple price levels beyond the best bid and ask.
Is level 2 data useful for day trading?#
It can help judge short term liquidity and order flow, but displayed orders can be cancelled or hidden, so it should be combined with price action and volume.
What is the difference between level 2 and level 3 data?#
Level 2 usually shows total size at each price; level 3 shows each individual order and is mainly available to exchange members.
Next, learn how trade data becomes candles in Tick Data and OHLCV Data.
3 quick questions on this lesson. Get them all right to finish it.
Turn on JavaScript to take the quiz.
Mentioned in
- FIX ProtocolProgramming and Data
- Market Data FeesOrders and Execution
- ScalpingStrategies and Styles
- The 2010 Flash CrashMarket History
- Visual LibraryReference