{"openapi":"3.1.0","info":{"title":"Bursa Malaysia (KLSE) API","version":"1.0.0","description":"Live data for Bursa Malaysia (the KLSE / Malaysian stock market) with no key: the live quote for one or more stocks by ticker (price, change, open/high/low, volume, market cap, P/E, sector, in ringgit, with the company name), a ranked market screener (top gainers, losers, most active, or largest by market cap), and a search across the market by company name or ticker (optionally by sector).","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/klse-api","description":"oanor gateway"}],"tags":[{"name":"Quotes"},{"name":"Screener"},{"name":"Search"},{"name":"Meta"}],"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/quote":{"get":{"operationId":"get_v1_quote","tags":["Quotes"],"summary":"Live quote for one or more Bursa Malaysia stocks","description":"","parameters":[{"name":"codes","in":"query","required":true,"description":"MYX ticker(s), comma-separated up to 20","schema":{"type":"string"},"example":"MAYBANK,TENAGA"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The live quote for one or more Malaysian (Bursa Malaysia) stocks — price, change, open/high/low, volume, market cap, P/E and sector (in ringgit), with the company name. Pass codes (the MYX ticker, comma-separate up to 20, e.g. MAYBANK,TENAGA).","count":2,"quotes":[{"low":10.76,"high":10.94,"open":10.78,"price":10.9,"change":0.17999999999999972,"sector":"Finance","ticker":"MAYBANK","volume":1208400,"company":"Malayan Banking Bhd.","currency":"MYR","pe_ratio":12.66,"market_cap":129661910261,"change_percent":1.68},{"low":14.46,"high":14.7,"open":14.5,"price":14.5,"change":0.08000000000000007,"sector":"Utilities","ticker":"TENAGA","volume":1400000,"company":"Tenaga Nasional Bhd","currency":"MYR","pe_ratio":17.57,"market_cap":84056229380,"change_percent":0.55}],"source":"Bursa Malaysia / KLSE (TradingView)"},"meta":{"timestamp":"2026-06-15T02:10:43.551Z","request_id":"060807b2-f99a-4128-96aa-4df76123ee27"},"status":"ok","message":"Quote 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/screener":{"get":{"operationId":"get_v1_screener","tags":["Screener"],"summary":"Ranked market screener","description":"","parameters":[{"name":"by","in":"query","required":false,"description":"Ranking: gainers, losers, active, marketcap","schema":{"type":"string"},"example":"gainers"},{"name":"limit","in":"query","required":false,"description":"Results 1-100","schema":{"type":"string"},"example":"20"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"by":"gainers","note":"A ranked screener of the Malaysian (Bursa Malaysia) market — the top stocks by your chosen ranking. Pass by (gainers, losers, active, or marketcap; default marketcap) and limit (1-100, default 20). Only real stocks above a market-cap floor are ranked.","count":20,"source":"Bursa Malaysia / KLSE (TradingView)","results":[{"price":0.085,"change":0.015,"sector":"Finance","ticker":"PARKWD","volume":600,"company":"Parkwood Holdings Bhd.","currency":"MYR","market_cap":50054671,"change_percent":21.43},{"price":0.15,"change":0.024999999999999994,"sector":"Industrial Services","ticker":"EIB","volume":1000,"company":"Ecoscience International Bhd.","currency":"MYR","market_cap":56100002,"change_percent":20},{"price":0.295,"change":0.034999999999999976,"sector":"Non-Energy Minerals","ticker":"LIONPSIM","volume":2000,"company":"Lion Posim Bhd.","currency":"MYR","market_cap":67208884,"change_percent":13.46},{"price":0.09,"change":0.009999999999999995,"sector":"Consumer Non-Durables","ticker":"SINARAN","volume":200100,"company":"Sinaran Advance Group Bhd","currency":"MYR","market_cap":84076922,"change_percent":12.5},{"price":0.525,"change":0.05500000000000005,"sector":"Communications","ticker":"REACHTEN","volume":7717700,"company":"Reach Ten Holdings Berhad","currency":"MYR","market_cap":469999999,"change_percent":11.7},{"price":1.42,"change":0.1299999999999999,"sector":"Consumer Non-Durables","ticker":"LWSABAH","volume":1925000,"company":"Life Water Bhd.","currency":"MYR","market_cap":610401543,"change_percent":10.08},{"price":1.45,"change":0.11999999999999988,"sector":"Consumer Durables","ticker":"KHIND","volume":5600,"company":"Khind Holdings Bhd.","currency":"MYR","market_cap":60956554,"change_percent":9.02},{"price":0.315,"change":0.025000000000000022,"sector":"Consumer Non-Durables","ticker":"PAOS","volume":100,"company":"Paos Holdings Bhd.","currency":"MYR","market_cap":57066660,"change_percent":8.62},{"price":0.13,"change":0.010000000000000009,"sector":"Producer Manufacturing","ticker":"EVERGRN","volume":143400,"company":"Evergreen Fibreboard Bhd.","currency":"MYR","market_cap":101496238,"change_percent":8.33},{"price":0.07,"change":0.0050000000000000044,"sector":"Industrial Services","ticker":"ZELAN","volume":101500,"company":"Zelan Bhd.","currency":"MYR","market_cap":54919844,"change_percent":7.69},{"price":0.07,"change":0.0050000000000000044,"sector":"Industrial Services","ticker":"PESTEC","volume":100800,"company":"Pestec International Berhad","currency":"MYR","market_cap":165973860,"change_percent":7.69},{"price":0.775,"change":0.05500000000000005,"sector":"Producer Manufacturing","ticker":"CHINWEL","volume":60600,"company":"Chin Well Holdings Bhd.","currency":"MYR","market_cap":222009112,"change_percent":7.64},{"price":0.295,"change":0.019999999999999962,"sector":"Industrial Services","ticker":"SENDAI","volume":880100,"company":"Eversendai Corp Bhd.","currency":"MYR","market_cap":214897801,"change_percent":7.27},{"price":0.385,"change":0.025000000000000022,"sector":"Technology Services","ticker":"DNEX","volume":29629600,"company":"Dagang NeXchange Berhad","currency":"MYR","market_cap":1251667491,"change_percent":6.94},{"price":0.31,"change":0.020000000000000018,"sector":"Producer Manufacturing","ticker":"VOLCANO","volume":31100,"company":"Volcano Bhd.","currency":"MYR","market_cap":56305302,"change_percent":6.9},{"price":1.12,"change":0.07000000000000006,"sector":"Non-Energy Minerals","ticker":"KKB","volume":2000,"company":"KKB Engineering Bhd.","currency":"MYR","market_cap":323374264,"change_percent":6.67},{"price":0.085,"change":0.0050000000000000044,"sector":"Technology Services","ticker":"DATAPRP","volume":62100,"company":"Dataprep Holdings Bhd.","currency":"MYR","market_cap":68794183,"change_percent":6.25},{"price":0.17,"change":0.010000000000000009,"sector":"Non-Energy Minerals","ticker":"PA","volume":4892800,"company":"P.A. Resources Berhad","currency":"MYR","market_cap":240763002,"change_percent":6.25},{"price":0.34,"change":0.020000000000000018,"sector":"Process Industries","ticker":"HPPHB","volume":102900,"company":"HPP Holdings Bhd","currency":"MYR","market_cap":132151303.00000001,"change_percent":6.25},{"price":0.26,"change":0.015000000000000013,"sector":"Non-Energy Minerals","ticker":"COLFORM","volume":128000,"company":"Colform Group Berhad","currency":"MYR","market_cap":155999994,"change_percent":6.12}],"description":"top gainers (by % change)"},"meta":{"timestamp":"2026-06-15T02:10:43.780Z","request_id":"3ed1cc9d-5d50-4cd9-a2e1-4c0a9f889f6f"},"status":"ok","message":"Screener 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/search":{"get":{"operationId":"get_v1_search","tags":["Search"],"summary":"Search the market by name or ticker","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Company name or ticker fragment","schema":{"type":"string"},"example":"bank"},{"name":"sector","in":"query","required":false,"description":"Narrow to a sector","schema":{"type":"string"},"example":"Finance"},{"name":"limit","in":"query","required":false,"description":"Results 1-50","schema":{"type":"string"},"example":"20"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Search the Malaysian (Bursa Malaysia) market by company name or ticker — matching stocks ranked by market cap. Pass q (the name or ticker fragment, e.g. bank), optionally sector (e.g. Finance, Utilities) and limit (1-50, default 20).","count":8,"query":"bank","sector":"Finance","source":"Bursa Malaysia / KLSE (TradingView)","results":[{"price":10.9,"change":0.17999999999999972,"sector":"Finance","ticker":"MAYBANK","volume":1208400,"company":"Malayan Banking Bhd.","currency":"MYR","market_cap":129661910261,"change_percent":1.68},{"price":4.88,"change":0.04999999999999982,"sector":"Finance","ticker":"PBBANK","volume":2250200,"company":"Public Bank Bhd","currency":"MYR","market_cap":93753638011,"change_percent":1.04},{"price":21.54,"change":0.1999999999999993,"sector":"Finance","ticker":"HLBANK","volume":17500,"company":"Hong Leong Bank Bhd","currency":"MYR","market_cap":43700238308,"change_percent":0.94},{"price":8.43,"change":0.0600000000000005,"sector":"Finance","ticker":"RHBBANK","volume":124900,"company":"RHB Bank Bhd.","currency":"MYR","market_cap":36509220204,"change_percent":0.72},{"price":4.68,"change":0.04999999999999982,"sector":"Finance","ticker":"ABMB","volume":135600,"company":"Alliance Bank Malaysia Bhd.","currency":"MYR","market_cap":8010932792,"change_percent":1.08},{"price":2.31,"change":0.03000000000000025,"sector":"Finance","ticker":"AFFIN","volume":376900,"company":"Affin Bank Bhd.","currency":"MYR","market_cap":5988176116,"change_percent":1.32},{"price":2.18,"change":0.010000000000000231,"sector":"Finance","ticker":"BIMB","volume":804800,"company":"Bank Islam Malaysia Bhd.","currency":"MYR","market_cap":4918246897,"change_percent":0.46},{"price":0.675,"change":-0.014999999999999902,"sector":"Finance","ticker":"KENANGA","volume":113100,"company":"Kenanga Investment Bank Bhd.","currency":"MYR","market_cap":497305622,"change_percent":-2.17}]},"meta":{"timestamp":"2026-06-15T02:10:44.010Z","request_id":"92e0dab6-9d80-4d28-a45b-747fb9c2461b"},"status":"ok","message":"Search 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":["Meta"],"summary":"Service metadata & endpoint catalog","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"sample":{"maybank":10.9},"source":"TradingView public screener (scanner.tradingview.com/malaysia/scan), keyless","screens":["gainers","losers","active","marketcap"],"service":"klse-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/quote":"Live quote for one or more stocks (codes).","GET /v1/search":"Search by company name or ticker (q, sector, limit).","GET /v1/screener":"Ranked market screener (by, limit)."},"description":"Live data for Bursa Malaysia (the KLSE / Malaysian stock market) with no key: the live quote for one or more stocks by ticker (price, change, open/high/low, volume, market cap, P/E, sector, in ringgit, with the company name), a ranked market screener (top gainers, losers, most active, or largest by market cap), and a search across the market by company name or ticker (optionally by sector). The Malaysia-equities / screener / search layer for trading dashboards and research. Distinct from other exchange readers — the Bursa Malaysia (MYX) market with a built-in screener and name search. Live, short cache only.","upstream_status":"ok"},"meta":{"timestamp":"2026-06-15T02:10:44.223Z","request_id":"bfc5dbe6-f969-4b87-911e-ccc409945296"},"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"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":14000,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":2090,"monthly_call_quota":290000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":5490,"monthly_call_quota":1580000,"rps_limit":20,"hard_limit":true},{"slug":"scale","name":"Scale","price_cents_month":12780,"monthly_call_quota":8050000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/klse-api"}