Real-time perpetual futures data

Perpetual futures data that never closes

Live quotes, mark prices and trades for 265 perpetual contracts on stocks, ETFs, commodities, indices, currencies, pre-IPO companies and crypto. Each contract is one composite price from multiple independent sources, 24 hours a day, 7 days a week.

  • Quotes, marks & trades
  • Nights & weekends
  • 265 contracts
Stock exchange32.5 h
Perpetual168 h
One week, drawn to scale. A stock exchange trades its regular session for 32.5 of the 168 hours. A perpetual on the same stock trades all of them.

Live board

One live row from every underlying class

Composite bid, ask and mark, with the number of sources behind each price. The same values the API returns, because this table reads the API.

ContractUnderlyingBidAskMarkSources
TSMUSDTTaiwan SemiconductorStock428.78428.85428.806
SPYUSDTLarge-cap US equity ETFETF762.63762.66762.655
XAUUSDTGoldCommodity4,367.694,367.754,367.396
US500USDTUS 500 IndexIndex7,628.57,628.67,628.63
EURUSDUSDTEuro / US DollarFX1.148291.148661.148373
OPENAIUSDTOpenAIPre-IPO1,495.261,505.551,495.813
BTCUSDTBitcoinCrypto76,824.776,824.876,830.46

Live composite prices from the production feed, as of 17:31 UTC. The page refreshes them every few minutes; the API and the stream are continuous.

Coverage

265 contracts across seven underlying classes

A perpetual is an instrument type, not an asset class: the underlying can be a stock, a barrel of oil or a company that has not listed yet. One feed, one symbol form, one payload shape.

Why perpetuals

Perpetuals next to a regular market feed

A stock feed tells you what the exchange printed. A perpetuals feed tells you what the market thinks right now, including the hours the exchange is not there to say.

TopicRegular market feedTickerLayerPerpetuals feed
Trading hoursExchange session only24 hours a day, 7 days a week
Weekend and holiday priceNone, the last close standsLive, the market keeps trading
Price behind each symbolOne marketComposite across independent sources
Mark priceNot applicableOwn stream and REST route
Underlying classes in one feedOneSeven, from stocks to pre-IPO
Symbol formUS:KO, XAUUSD, BTCUSDKOUSDT, XAUUSDT, BTCUSDT

Methodology

How one price is built from many sources

Every market runs its own contract with its own basis, so merging books into one best bid and offer would publish a book nobody quoted. The composite is a median instead. Four steps, the same for every contract.

  1. Collect

    Top of book and mark from every source that lists the contract.

    • Source 14316.30 / 4316.38
    • Source 24316.31 / 4316.35
    • Source 34316.33 / 4316.36
    • Source 44309.10 / 4309.90
  2. Verify

    Crossed, stale or out-of-band rows are left aside.

    • Source 1passes
    • Source 2passes
    • Source 3passes
    • Source 4out of band
  3. Compose

    Median of the live bids, median of the live asks.

    Bid4316.31
    Ask4316.36

    A median cannot cross, and one source cannot move it.

  4. Publish

    One price, how much market stands behind it, a time that never steps back.

    • source_count 3
    • monotonic ts
    • REST
    • WebSocket

Sources are a mix of centralized and decentralized perpetual markets, normalized into one source-neutral price per contract. Teams that run their own aggregation can ask for source-level streams.

API

Inside the perpetuals feed

Quote, mark, trade, snapshot and bars over REST, three channels over WebSocket. Field for field, the exact responses the API returns.

Composite quote

Best bid and ask for one contract, each the median of the live sources, with the number of sources behind the price.

  • Median bid and median ask, never crossed
  • source_count on every response
  • Contract symbols as they trade: XAUUSDT, TSMUSDT
  • Millisecond timestamps
GET/perpetuals/quote/:symbol
{
  "symbol": "XAUUSDT",
  "bid": 4316.31,
  "ask": 4316.36,
  "bid_size": 118.049,
  "ask_size": 51.115,
  "source_count": 6,
  "timestamp": 1789640504033
}
GET/perpetuals/symbolsEvery contract, its underlying class and source countDocs
GET/perpetuals/quote/:symbolComposite best bid and ask with sizesDocs
GET/perpetuals/mark/:symbolComposite mark priceDocs
GET/perpetuals/trade/last/:symbolLast execution, with the aggressor sideDocs
GET/perpetuals/snapshot/:symbolQuote, mark, last trade, prev close and changeDocs
GET/perpetuals/agg/:symbol/prevMost recent settled daily barDocs
GET/perpetuals/agg/:symbol/:multiplier/:timespan/:from/:toHistorical OHLCV range with paginationDocs
WSperpetuals.quotes · perpetuals.marks · perpetuals.tradesStreaming quotes, mark prices and tradesDocs

Use cases

What teams build on round-the-clock prices

Weekend and overnight prices

Show a live number on a stock, gold or oil screen while the exchange is dark, instead of a Friday close that is two days old by Sunday evening.

Trading apps

Reference prices for protocols

A median across independent sources, a separate mark price and a source count on every message are the inputs an on-chain price needs.

Oracles

Front ends for perpetual venues

One symbol set and one payload shape across 265 contracts, so a new market is a row in a list rather than a new integration.

Platforms

Risk, liquidation and gap research

Mark prices for position valuation, and weekend moves you can line up against the Monday open to see how much of the gap was already priced.

Research

Plans

Perpetuals plans

Two self-service plans with hosted checkout, billed monthly or yearly. Yearly billing takes 20% off. Individual is REST; streaming and commercial use are on Business.

Individual

$179/ month

or $1,718 a year, 20% off

Research, personal dashboards and side projects.

  • 250K API calls / month
  • REST quotes, mark prices, last trades and OHLCV bars
  • 260+ perpetual contracts, priced 24/7
  • One composite price across independent sources
  • REST only, streaming is on Business
  • Personal / research use only
Choose Individual

Business

Commercial use

$799/ month

or $7,670 a year, 20% off

Products, platforms and anything customer-facing.

  • 25M API calls / month
  • ~580 req / min REST rate limit
  • 10 WebSocket connections
  • Unlimited WebSocket symbols
  • Quotes, mark prices and trades streams
  • OHLCV bars from 1 minute to daily
  • Commercial use included
  • Priority support & onboarding
Choose Business

Enterprise

Source-level streams for teams that aggregate themselves

Every quote and mark per source, with its native symbol and currency, next to the composite. Built for oracle networks and quantitative desks, arranged directly with our team.

  • Per-source quotes and marks
  • Native symbols and currencies
  • Custom limits and SLA

FAQ

Frequently asked questions

What is a perpetual futures data API?

A perpetual futures data API delivers live prices for perpetual contracts, which are futures with no expiry date that trade around the clock. The TickerLayer Perpetuals feed returns the best bid and ask, the mark price and the last trades for each contract over REST and WebSocket, as one composite price built from multiple independent market sources.

Which perpetual contracts are covered?

The feed covers 265 perpetual contracts across seven underlying classes: 164 stocks, 38 ETFs, 8 commodities, 6 indices, 3 currency pairs, 2 pre-IPO companies and 44 crypto assets. Symbols keep their familiar contract form, for example XAUUSDT for gold, TSMUSDT for Taiwan Semiconductor and BTCUSDT for Bitcoin. The full list is on the symbols page and at GET /perpetuals/symbols.

Does the feed really run on weekends and overnight?

Yes. Perpetual contracts trade 24 hours a day, 7 days a week, so the feed keeps quoting through the night, the weekend and public holidays. A stock exchange is open for its regular session about 32.5 of the 168 hours in a week. For the other 135 hours, a perpetual on that stock is often the only live price there is.

How is the composite price calculated?

Each contract is priced from several independent market sources at once. The composite bid is the median of the live source bids and the composite ask is the median of the live source asks, so one source misbehaving cannot move the price and the book can never be crossed. Every message carries a source_count, the number of sources behind that price.

What is a mark price, and why is it a separate stream?

The mark price is the reference price a perpetual market uses to value open positions and trigger liquidations. It is smoother than the last trade and harder to push around. Risk engines, liquidation monitors and oracle networks usually want the mark rather than the top of book, so it has its own channel, perpetuals.marks, and its own REST route.

Are historical bars available for perpetual contracts?

Yes. GET /perpetuals/agg returns OHLCV bars at 1, 5 and 15 minutes, 1 and 4 hours, and 1 day, on the same aggregates contract as every other feed, and the snapshot carries the previous UTC daily close with the change against it. Weekends are in the series, because the contract traded through them. History starts when a contract was first listed, which for many perpetuals is recent, and bars are built from traded prices on the contract's primary market source.

Is a stock perpetual price the same as the stock price?

No. A perpetual is a derivative that tracks its underlying, not the underlying itself: it carries no ownership, voting or dividend rights, and its price can sit above or below the share, most of all at night and on weekends when the stock exchange is closed and the contract is the only market trading. TickerLayer publishes the data only. It does not list, offer or trade any contract, and it is not affiliated with the companies, funds or indices the contracts reference.

Is WebSocket streaming included?

Streaming is part of the Business plan. It opens three channels: perpetuals.quotes for the top of book, perpetuals.marks for mark prices and perpetuals.trades for executions, with up to 10 connections and no symbol cap. The Individual plan is REST only, with 250,000 calls a month, which suits research, dashboards that poll, and end-of-day jobs.

Can I see the price from each market source separately?

The standard feed is source neutral: one normalized price per contract. Source-level streams, where every quote and mark arrives per source with its native symbol and currency, are available to enterprise users such as oracle networks and quantitative desks that run their own aggregation. Talk to our team to set it up.

What can I build with 24/7 perpetual market data?

Common uses are weekend and overnight price displays for stock and commodity apps, reference prices for on-chain protocols and oracle networks, front ends and analytics for perpetual trading venues, liquidation and risk monitoring that needs mark prices, and research into how weekend perpetual moves line up with the Monday open.

Ready to integrate?

Start with the free tier, explore the docs, and connect via REST or WebSocket in minutes.