Retrieve exchange trading hours

Return the complete known trading-hours history for one exchange. Pass an exchange code from the exchanges catalog and receive regular and extended sessions in the exchange's local timezone.

The trading_hours array is ordered from oldest to newest. The original schedule uses null for effective_from because the source does not identify its start date. Later entries use the date when a revised schedule took effect.

Trading-hours format

Each regular and extended value is an array. Values use 24-hour [first-day;]HHMM-HHMM[:days] notation. For example, 1000-1500:23456 means 10:00–15:00 Monday–Friday. Day digits run from 1 for Sunday through 7 for Saturday.

A leading value followed by a semicolon sets the first trading day of the week. For example, 1;0930-1300:12345 starts the week on Sunday and describes 09:30–13:00 Sunday–Thursday. Separate array values represent multiple trading periods within one day.

GET/v3.0.0/exchanges/trading-hours

Plan Access

Free

(Your plan)

Individual

$29/mo

Professional

$89/mo

Parameters

Query parameters

exchangestringrequired

Exchange code to retrieve trading hours for. Check the list of available exchanges for every code.

Example: B3

Response

Response fields

idstring

Unique identifier for the trading-hours history, beginning with eth_. Derived deterministically from exchange, so it never changes for a given exchange and is safe to store in your database.

objectstring

String representing the object's type, always v3.reference.exchange_trading_hours for this resource.

exchangestring

Short code of the exchange these trading hours belong to, e.g. NASDAQ. Matches the code field of the List exchanges endpoint.

timezonestring

The IANA time zone used by every returned trading period, e.g. America/New_York. null when unknown.

trading_hoursarray of objects

Complete known schedule history, oldest first. Each item contains an effective_from date (null for the original schedule), plus regular and extended arrays. Each array value uses 24-hour [first-day;]HHMM-HHMM[:days] notation; separate values represent multiple daily periods. Empty when no schedule is known.

+ Show child attributes
effective_fromnullable
regulararray of strings
extendedarray of strings

Use the same exchange code across the exchange-calendar resources.

Request
curl "https://api.roic.ai/v3.0.0/exchanges/trading-hours?apikey=YOUR_API_KEY&exchange=B3"
Response
200 OK
{
  "id": "eth_p7oLS6RSYiDcnv5c5VGM0x",
  "object": "v3.reference.exchange_trading_hours",
  "exchange": "B3",
  "timezone": "America/Sao_Paulo",
  "trading_hours": [
    {
      "effective_from": null,
      "regular": [
        "1000-1755"
      ],
      "extended": [
        "0930-1940"
      ]
    },
    {
      "effective_from": "2025-03-10",
      "regular": [
        "1000-1655"
      ],
      "extended": [
        "0930-1800"
      ]
    }
  ]
}