{"openapi":"3.1.0","info":{"title":"Market Hours API","version":"1.0.0","description":"Live trading hours and open/closed status for the world's major stock exchanges, computed on demand from the current time in each exchange's own time zone — no key, nothing cached. Find whether one exchange is trading right now, its local time, regular hours, lunch break and the minutes until it next opens or closes; get the live status of every covered exchange; or list only the exchanges trading right now. Daylight-saving is handled automatically. A market-clock layer — distinct from FX-session and exchange-registry tools: for 17 stock exchanges (NYSE, Nasdaq, LSE, Euronext, Xetra, TSE, HKEX, SSE and more) it answers \"is this market open and when does it change?\". Note: public holidays are not accounted for.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/markethours-api","description":"oanor gateway"}],"tags":[{"name":"Market Hours"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/exchanges":{"get":{"operationId":"get_v1_exchanges","tags":["Market Hours"],"summary":"Live status of every covered exchange","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":17,"source":"MARKETHOURS","open_now":9,"exchanges":[{"code":"NYSE","name":"New York Stock Exchange","status":"pre_market","country":"US","is_open":false,"timezone":"America/New_York","local_time":"03:49","local_weekday":"Thursday","regular_hours":"09:30-16:00 (America/New_York)","minutes_until_open":341},{"code":"NASDAQ","name":"Nasdaq","status":"pre_market","country":"US","is_open":false,"timezone":"America/New_York","local_time":"03:49","local_weekday":"Thursday","regular_hours":"09:30-16:00 (America/New_York)","minutes_until_open":341},{"code":"TSX","name":"Toronto Stock Exchange","status":"pre_market","country":"CA","is_open":false,"timezone":"America/Toronto","local_time":"03:49","local_weekday":"Thursday","regular_hours":"09:30-16:00 (America/Toronto)","minutes_until_open":341},{"code":"B3","name":"B3 (Brasil Bolsa Balcao)","status":"pre_market","country":"BR","is_open":false,"timezone":"America/Sao_Paulo","local_time":"04:49","local_weekday":"Thursday","regular_hours":"10:00-17:00 (America/Sao_Paulo)","minutes_until_open":311},{"code":"LSE","name":"London Stock Exchange","status":"open","country":"GB","is_open":true,"timezone":"Europe/London","local_time":"08:49","local_weekday":"Thursday","regular_hours":"08:00-16:30 (Europe/London)","minutes_until_close":461},{"code":"EURONEXT","name":"Euronext Paris","status":"open","country":"FR","is_open":true,"timezone":"Europe/Paris","local_time":"09:49","local_weekday":"Thursday","regular_hours":"09:00-17:30 (Europe/Paris)","minutes_until_close":461},{"code":"XETRA","name":"Deutsche Borse Xetra","status":"open","country":"DE","is_open":true,"timezone":"Europe/Berlin","local_time":"09:49","local_weekday":"Thursday","regular_hours":"09:00-17:30 (Europe/Berlin)","minutes_until_close":461},{"code":"SIX","name":"SIX Swiss Exchange","status":"open","country":"CH","is_open":true,"timezone":"Europe/Zurich","local_time":"09:49","local_weekday":"Thursday","regular_hours":"09:00-17:30 (Europe/Zurich)","minutes_until_close":461},{"code":"JSE","name":"Johannesburg Stock Exchange","status":"open","country":"ZA","is_open":true,"timezone":"Africa/Johannesburg","local_time":"09:49","local_weekday":"Thursday","regular_hours":"09:00-17:00 (Africa/Johannesburg)","minutes_until_close":431},{"code":"TADAWUL","name":"Saudi Exchange (Tadawul)","status":"open","country":"SA","is_open":true,"timezone":"Asia/Riyadh","local_time":"10:49","local_weekday":"Thursday","regular_hours":"10:00-15:00 (Asia/Riyadh)","minutes_until_close":251},{"code":"NSE","name":"National Stock Exchange of India","status":"open","country":"IN","is_open":true,"timezone":"Asia/Kolkata","local_time":"13:19","local_weekday":"Thursday","regular_hours":"09:15-15:30 (Asia/Kolkata)","minutes_until_close":131},{"code":"SSE","name":"Shanghai Stock Exchange","status":"closed_post","country":"CN","is_open":false,"timezone":"Asia/Shanghai","local_time":"15:49","lunch_break":"11:30-13:00","local_weekday":"Thursday","regular_hours":"09:30-15:00 (Asia/Shanghai)","minutes_until_open":1061},{"code":"HKEX","name":"Hong Kong Exchange","status":"open","country":"HK","is_open":true,"timezone":"Asia/Hong_Kong","local_time":"15:49","lunch_break":"12:00-13:00","local_weekday":"Thursday","regular_hours":"09:30-16:00 (Asia/Hong_Kong)","minutes_until_close":11},{"code":"SGX","name":"Singapore Exchange","status":"open","country":"SG","is_open":true,"timezone":"Asia/Singapore","local_time":"15:49","local_weekday":"Thursday","regular_hours":"09:00-17:00 (Asia/Singapore)","minutes_until_close":71},{"code":"TSE","name":"Tokyo Stock Exchange","status":"closed_post","country":"JP","is_open":false,"timezone":"Asia/Tokyo","local_time":"16:49","lunch_break":"11:30-12:30","local_weekday":"Thursday","regular_hours":"09:00-15:30 (Asia/Tokyo)","minutes_until_open":971},{"code":"KRX","name":"Korea Exchange","status":"closed_post","country":"KR","is_open":false,"timezone":"Asia/Seoul","local_time":"16:49","local_weekday":"Thursday","regular_hours":"09:00-15:30 (Asia/Seoul)","minutes_until_open":971},{"code":"ASX","name":"Australian Securities Exchange","status":"closed_post","country":"AU","is_open":false,"timezone":"Australia/Sydney","local_time":"17:49","local_weekday":"Thursday","regular_hours":"10:00-16:00 (Australia/Sydney)","minutes_until_open":971}]},"meta":{"timestamp":"2026-06-11T07:49:33.663Z","request_id":"85462004-8100-465c-bb53-f8333ec10520"},"status":"ok","message":"Exchanges retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Market Hours"],"summary":"Service metadata and endpoint list","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Public holidays are not accounted for — regular weekday hours only. 17 exchanges covered.","source":"Computed in-process from current UTC time and each exchange's IANA time zone (no upstream)","service":"markethours-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/open":"Only the exchanges open right now.","GET /v1/status":"One exchange's live status + next open/close (exchange=NYSE).","GET /v1/exchanges":"Live status of every covered exchange."},"description":"Live trading hours and open/closed status for the world's major stock exchanges, computed from the current time in each exchange's own time zone. The status endpoint tells you whether one exchange is trading right now, its local time, regular hours, lunch break and the minutes until it next opens or closes; the exchanges endpoint returns the live status of every covered exchange; the open endpoint lists only the exchanges trading right now. Daylight-saving is handled automatically. A market-clock layer, distinct from FX-session and exchange-registry tools.","upstream_status":"ok","exchanges_covered":["NYSE","NASDAQ","TSX","B3","LSE","EURONEXT","XETRA","SIX","JSE","TADAWUL","NSE","SSE","HKEX","SGX","TSE","KRX","ASX"]},"meta":{"timestamp":"2026-06-11T07:49:33.756Z","request_id":"75cc4bd4-4e0e-4508-8d1d-c5e2520d67c4"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/open":{"get":{"operationId":"get_v1_open","tags":["Market Hours"],"summary":"Only the exchanges open right now","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":9,"source":"MARKETHOURS","exchanges":[{"code":"LSE","name":"London Stock Exchange","status":"open","country":"GB","is_open":true,"timezone":"Europe/London","local_time":"08:49","local_weekday":"Thursday","regular_hours":"08:00-16:30 (Europe/London)","minutes_until_close":461},{"code":"EURONEXT","name":"Euronext Paris","status":"open","country":"FR","is_open":true,"timezone":"Europe/Paris","local_time":"09:49","local_weekday":"Thursday","regular_hours":"09:00-17:30 (Europe/Paris)","minutes_until_close":461},{"code":"XETRA","name":"Deutsche Borse Xetra","status":"open","country":"DE","is_open":true,"timezone":"Europe/Berlin","local_time":"09:49","local_weekday":"Thursday","regular_hours":"09:00-17:30 (Europe/Berlin)","minutes_until_close":461},{"code":"SIX","name":"SIX Swiss Exchange","status":"open","country":"CH","is_open":true,"timezone":"Europe/Zurich","local_time":"09:49","local_weekday":"Thursday","regular_hours":"09:00-17:30 (Europe/Zurich)","minutes_until_close":461},{"code":"JSE","name":"Johannesburg Stock Exchange","status":"open","country":"ZA","is_open":true,"timezone":"Africa/Johannesburg","local_time":"09:49","local_weekday":"Thursday","regular_hours":"09:00-17:00 (Africa/Johannesburg)","minutes_until_close":431},{"code":"TADAWUL","name":"Saudi Exchange (Tadawul)","status":"open","country":"SA","is_open":true,"timezone":"Asia/Riyadh","local_time":"10:49","local_weekday":"Thursday","regular_hours":"10:00-15:00 (Asia/Riyadh)","minutes_until_close":251},{"code":"NSE","name":"National Stock Exchange of India","status":"open","country":"IN","is_open":true,"timezone":"Asia/Kolkata","local_time":"13:19","local_weekday":"Thursday","regular_hours":"09:15-15:30 (Asia/Kolkata)","minutes_until_close":131},{"code":"HKEX","name":"Hong Kong Exchange","status":"open","country":"HK","is_open":true,"timezone":"Asia/Hong_Kong","local_time":"15:49","lunch_break":"12:00-13:00","local_weekday":"Thursday","regular_hours":"09:30-16:00 (Asia/Hong_Kong)","minutes_until_close":11},{"code":"SGX","name":"Singapore Exchange","status":"open","country":"SG","is_open":true,"timezone":"Asia/Singapore","local_time":"15:49","local_weekday":"Thursday","regular_hours":"09:00-17:00 (Asia/Singapore)","minutes_until_close":71}]},"meta":{"timestamp":"2026-06-11T07:49:33.826Z","request_id":"be9e9820-9da9-4ef9-b5e0-a01aeafb95ee"},"status":"ok","message":"Open exchanges retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/status":{"get":{"operationId":"get_v1_status","tags":["Market Hours"],"summary":"One exchange live status + next open/close","description":"","parameters":[{"name":"exchange","in":"query","required":true,"description":"Exchange code (NYSE, NASDAQ, LSE, TSE, HKEX, ...)","schema":{"type":"string"},"example":"NYSE"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"code":"NYSE","name":"New York Stock Exchange","source":"MARKETHOURS","status":"pre_market","country":"US","is_open":false,"timezone":"America/New_York","local_time":"03:49","local_weekday":"Thursday","regular_hours":"09:30-16:00 (America/New_York)","minutes_until_open":341},"meta":{"timestamp":"2026-06-11T07:49:33.918Z","request_id":"e3923660-2882-4674-8504-3875627f4604"},"status":"ok","message":"Status retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":5650,"rps_limit":3,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":560,"monthly_call_quota":125000,"rps_limit":12,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1610,"monthly_call_quota":590000,"rps_limit":30,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":3880,"monthly_call_quota":3480000,"rps_limit":60,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/markethours-api"}