On this page

Developer API

TradeTi.me has a free, public API for the trading hours of global stock exchanges — sessions, public holidays, early-close days, and the live "is it open right now?" answer. The same factual data behind the site, available for your own apps, dashboards, and AI agents.

The data is a convenience, not an authoritative or real-time feed. Trading hours, holidays, and closures change — always verify with the official exchange before any time-sensitive or financial decision. Use is subject to the API Terms of Use below.

Try the interactive playground — a live world-market board (which markets are open, right now) plus an API inspector (craft a request, see the full response + headers). The fastest way to feel what the API does.

Every example below is live. Edit the request and press Run to call the real API, or grab it as curl for your terminal.

Quickstart

Is the New York Stock Exchange open right now?

GET /v1/exchanges/nyse/status

You get back the live answer — open now, and if not, when it next opens (weekends and holidays skipped):

{
  "id": "nyse",
  "open": true,
  "status": "main_open",
  "sessionType": "main",
  "timeToCloseHours": 5.5,
  "closedReason": null,
  "asOf": "2026-07-06T14:30:00.000Z"
}

That's the whole thing — no setup, no key.

Endpoints

List exchanges

GET /v1/exchanges — every exchange, as lightweight summaries. Filter by region with ?region= (case-insensitive, e.g. Asia, Americas, Europe).

GET /v1/exchanges?region=Asia

Returns { "count": 12, "exchanges": [ { "id": "nikkei", "name": "Nikkei 225", "city": "Tokyo", "timezone": "Asia/Tokyo", "region": "Asia", "importance": "major" }, … ] }.

One exchange (full record)

GET /v1/exchanges/{id} — the complete record for one exchange: sessions, holidays, early closes, and its official source links. The id is case-insensitive; an unknown id returns 404.

GET /v1/exchanges/nyse

Holidays and early closes

GET /v1/exchanges/{id}/holidays — just the closure calendar.

GET /v1/exchanges/nyse/holidays
{
  "id": "nyse",
  "timezone": "America/New_York",
  "holidays": ["2026-01-01", "2026-01-19", "…"],
  "earlyCloses": [ { "date": "2026-12-24", "closeTime": 13 } ]
}

Trading sessions

GET /v1/exchanges/{id}/sessions — the session structure in the exchange's local time. Hours are decimal (9.5 = 09:30). A four-number main means a lunch break (e.g. Tokyo).

GET /v1/exchanges/nikkei/sessions
{
  "id": "nikkei",
  "timezone": "Asia/Tokyo",
  "sessions": { "pre": [8, 9], "main": [9, 11.5, 12.5, 15], "post": [15, 16.5] }
}

Live status — is it open?

GET /v1/exchanges/{id}/status — the live answer: open right now, and if not, when it next opens. Countdowns correctly skip weekends and holidays. Add ?at=<ISO time> to ask about any moment — try changing the timestamp and running it again.

GET /v1/exchanges/nyse/status?at=2026-07-06T14:30:00Z

GET /v1/status — the same, for every exchange in one call. Ideal for a "which markets are open now?" view.

GET /v1/status

Machine-readable spec

GET /v1/openapi.json — the full OpenAPI 3.1 description. Import it into Postman, Scalar, or a code generator.

GET /v1/openapi.json

Utility

GET /v1/health — service health and the exchange count.

GET /v1/health

Fair use

There are no hard limits during the free period, but please be a good citizen:

Terms of use

Questions or something looks wrong? The feedback button on the main site reaches the operator directly.