Unofficial CSE API Docs

Live-probed documentation for https://www.cse.lk/api. Not affiliated with the Colombo Stock Exchange.

Probe report

When: 2026-07-16T16:34:46.772979+00:00

Base: https://www.cse.lk/api

Symbol: JKH.N0000 stockId=297

Result: 37/37 passed (0 failed)

{
  "probed_at": "2026-07-16T16:34:46.772979+00:00",
  "base_url": "https://www.cse.lk/api",
  "symbol": "JKH.N0000",
  "stock_id": "297",
  "failed": 0,
  "passed": 37,
  "total": 37,
  "results": [
    {
      "id": "companyInfoSummery",
      "path": "/companyInfoSummery",
      "method": "POST",
      "category": "prices",
      "summary": "Per-symbol quote (primary single-name source).",
      "status": 200,
      "ok": true,
      "resolved_stock_id": "297",
      "fingerprint": {
        "type": "object",
        "keys": [
          "reqLogo",
          "reqSymbolBetaInfo",
          "reqSymbolInfo",
          "reqTagsLogo"
        ]
      },
      "sample": "samples/companyInfoSummery.json"
    },
    {
      "id": "tradeSummary",
      "path": "/tradeSummary",
      "method": "POST",
      "category": "prices",
      "summary": "Bulk board \u2014 best poller source (all symbols in one call).",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "reqTradeSummery"
        ]
      },
      "sample": "samples/tradeSummary.json"
    },
    {
      "id": "marketStatus",
      "path": "/marketStatus",
      "method": "POST",
      "category": "market",
      "summary": "Open/closed status string for session gating.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "status"
        ]
      },
      "sample": "samples/marketStatus.json"
    },
    {
      "id": "marketSummery",
      "path": "/marketSummery",
      "method": "POST",
      "category": "market",
      "summary": "Session aggregates (tradeVolume, shareVolume, trades).",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "id",
          "shareVolume",
          "tradeDate",
          "tradeVolume",
          "trades"
        ]
      },
      "sample": "samples/marketSummery.json"
    },
    {
      "id": "dailyMarketSummery",
      "path": "/dailyMarketSummery",
      "method": "POST",
      "category": "market",
      "summary": "End-of-day market aggregates history.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 2,
        "item_keys": null
      },
      "sample": "samples/dailyMarketSummery.json"
    },
    {
      "id": "allSectors",
      "path": "/allSectors",
      "method": "POST",
      "category": "market",
      "summary": "Sector index rows.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 22,
        "item_keys": [
          "change",
          "id",
          "indexCode",
          "indexCodeSp",
          "indexName",
          "indexValue",
          "name",
          "percentage",
          "sectorId",
          "sectorPreviousClose",
          "sectorTradeToday",
          "sectorTurnoverToday",
          "sectorVolumeToday",
          "symbol",
          "transactionTime"
        ]
      },
      "sample": "samples/allSectors.json"
    },
    {
      "id": "aspiData",
      "path": "/aspiData",
      "method": "POST",
      "category": "indices",
      "summary": "All Share Price Index snapshot.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "change",
          "highValue",
          "id",
          "lowValue",
          "percentage",
          "sectorId",
          "timestamp",
          "value"
        ]
      },
      "sample": "samples/aspiData.json"
    },
    {
      "id": "snpData",
      "path": "/snpData",
      "method": "POST",
      "category": "indices",
      "summary": "S&P Sri Lanka 20 snapshot.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "change",
          "highValue",
          "id",
          "lowValue",
          "percentage",
          "sectorId",
          "timestamp",
          "value"
        ]
      },
      "sample": "samples/snpData.json"
    },
    {
      "id": "detailedTrades",
      "path": "/detailedTrades",
      "method": "POST",
      "category": "prices",
      "summary": "Market-wide detailed trades board (not symbol-filtered in practice).",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "reqDetailTrades"
        ]
      },
      "sample": "samples/detailedTrades.json"
    },
    {
      "id": "orderBook",
      "path": "/orderBook",
      "method": "POST",
      "category": "prices",
      "summary": "Public order-book totals + live bid/ask levels for one symbol.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "reqOrderBook",
          "reqOrderBookTotal"
        ]
      },
      "sample": "samples/orderBook.json"
    },
    {
      "id": "todaySharePrice",
      "path": "/todaySharePrice",
      "method": "POST",
      "category": "prices",
      "summary": "Short list (~top N) of share prices \u2014 NOT a full board. Prefer tradeSummary.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 10,
        "item_keys": [
          "change",
          "changePercentage",
          "crossingVolume",
          "high",
          "id",
          "lastTradedPrice",
          "low",
          "open",
          "quantity",
          "symbol",
          "tradesTime"
        ]
      },
      "sample": "samples/todaySharePrice.json"
    },
    {
      "id": "topGainers",
      "path": "/topGainers",
      "method": "POST",
      "category": "leaderboards",
      "summary": "Top gainers (short list). Also available via WS /topic/top-gainers.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 10,
        "item_keys": [
          "change",
          "changePercentage",
          "id",
          "price",
          "securityId",
          "symbol",
          "tradeDate"
        ]
      },
      "sample": "samples/topGainers.json"
    },
    {
      "id": "topLooses",
      "path": "/topLooses",
      "method": "POST",
      "category": "leaderboards",
      "summary": "Top losers (API spelling Looses). WS /topic/top-looses.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 10,
        "item_keys": [
          "change",
          "changePercentage",
          "id",
          "price",
          "securityId",
          "symbol",
          "tradeDate"
        ]
      },
      "sample": "samples/topLooses.json"
    },
    {
      "id": "mostActiveTrades",
      "path": "/mostActiveTrades",
      "method": "POST",
      "category": "leaderboards",
      "summary": "Most active by volume. WS /topic/most-active-trades.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 10,
        "item_keys": [
          "id",
          "percentageShareVolume",
          "securityId",
          "shareVolume",
          "symbol",
          "tradeVolume",
          "turnover"
        ]
      },
      "sample": "samples/mostActiveTrades.json"
    },
    {
      "id": "companyChartDataByStock",
      "path": "/companyChartDataByStock",
      "method": "POST",
      "category": "charts",
      "summary": "Per-stock intraday chart ticks (use reqSymbolInfo.id as stockId).",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "chartData",
          "id"
        ]
      },
      "sample": "samples/companyChartDataByStock.json"
    },
    {
      "id": "chartData",
      "path": "/chartData",
      "method": "POST",
      "category": "charts",
      "summary": "Index-scale series. symbol= is IGNORED \u2014 do not use for per-stock charts.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 297,
        "item_keys": [
          "d",
          "pc",
          "v"
        ]
      },
      "sample": "samples/chartData.json"
    },
    {
      "id": "daysTrade",
      "path": "/daysTrade",
      "method": "POST",
      "category": "charts",
      "summary": "Day trade tape for one symbol.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 319,
        "item_keys": [
          "change",
          "changePercentage",
          "closingPrice",
          "hiTrade",
          "id",
          "lastTradedTime",
          "lowTrade",
          "previousClose",
          "price",
          "quantity",
          "securityId",
          "symbol",
          "time",
          "tradeDate"
        ]
      },
      "sample": "samples/daysTrade.json"
    },
    {
      "id": "approvedAnnouncement",
      "path": "/approvedAnnouncement",
      "method": "POST",
      "category": "disclosures",
      "summary": "Market-wide approved announcements. symbol often null \u2014 match via company name.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "approvedAnnouncements"
        ]
      },
      "sample": "samples/approvedAnnouncement.json"
    },
    {
      "id": "getAnnouncementByCompany",
      "path": "/getAnnouncementByCompany",
      "method": "POST",
      "category": "disclosures",
      "summary": "Preferred per-symbol disclosures for watchlists.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "reqCompanyAnnouncement"
        ]
      },
      "sample": "samples/getAnnouncementByCompany.json"
    },
    {
      "id": "announcements_legacy",
      "path": "/announcements",
      "method": "POST",
      "category": "disclosures",
      "summary": "Legacy per-symbol PDF archive shape (infoAnnouncement).",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "infoAnnouncement"
        ]
      },
      "sample": "samples/announcements_legacy.json"
    },
    {
      "id": "getFinancialAnnouncement",
      "path": "/getFinancialAnnouncement",
      "method": "POST",
      "category": "disclosures",
      "summary": "Financial announcements feed (response key typo reqFinancialAnnouncemnets).",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "reqFinancialAnnouncemnets"
        ]
      },
      "sample": "samples/getFinancialAnnouncement.json"
    },
    {
      "id": "getNonComplianceAnnouncements",
      "path": "/getNonComplianceAnnouncements",
      "method": "POST",
      "category": "disclosures",
      "summary": null,
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "nonComplianceAnnouncements"
        ]
      },
      "sample": "samples/getNonComplianceAnnouncements.json"
    },
    {
      "id": "getNewListingsRelatedNoticesAnnouncements",
      "path": "/getNewListingsRelatedNoticesAnnouncements",
      "method": "POST",
      "category": "disclosures",
      "summary": null,
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "newListingRelatedAnnouncements"
        ]
      },
      "sample": "samples/getNewListingsRelatedNoticesAnnouncements.json"
    },
    {
      "id": "getBuyInBoardAnnouncements",
      "path": "/getBuyInBoardAnnouncements",
      "method": "POST",
      "category": "disclosures",
      "summary": null,
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "buyInBoardAnnouncements"
        ]
      },
      "sample": "samples/getBuyInBoardAnnouncements.json"
    },
    {
      "id": "circularAnnouncement",
      "path": "/circularAnnouncement",
      "method": "POST",
      "category": "disclosures",
      "summary": null,
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "reqCircularAnnouncement"
        ]
      },
      "sample": "samples/circularAnnouncement.json"
    },
    {
      "id": "directiveAnnouncement",
      "path": "/directiveAnnouncement",
      "method": "POST",
      "category": "disclosures",
      "summary": null,
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "reqDirectiveAnnouncement"
        ]
      },
      "sample": "samples/directiveAnnouncement.json"
    },
    {
      "id": "getCOVIDAnnouncements",
      "path": "/getCOVIDAnnouncements",
      "method": "POST",
      "category": "disclosures",
      "summary": null,
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "covidAnnouncements"
        ]
      },
      "sample": "samples/getCOVIDAnnouncements.json"
    },
    {
      "id": "getGeneralAnnouncementById",
      "path": "/getGeneralAnnouncementById",
      "method": "POST",
      "category": "disclosures",
      "summary": "Detail by id (empty {} for unknown ids). Used by cse.lk UI.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": []
      },
      "sample": "samples/getGeneralAnnouncementById.json"
    },
    {
      "id": "getAnnouncementById",
      "path": "/getAnnouncementById",
      "method": "POST",
      "category": "disclosures",
      "summary": "Often 204 No Content \u2014 list endpoints are more reliable.",
      "status": 204,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "_empty",
          "_http_status"
        ]
      },
      "sample": "samples/getAnnouncementById.json"
    },
    {
      "id": "companyProfile",
      "path": "/companyProfile",
      "method": "POST",
      "category": "company",
      "summary": "Rich company page \u2014 directors, business summary, logo, article PDFs, contacts.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "infoCompanyBusinessSummary",
          "infoCompanyDirector",
          "infoCompanyKeyExecutive",
          "reqArticlePDF",
          "reqBlockAd",
          "reqComSumInfo",
          "reqLogo",
          "reqTagsLogo",
          "topPosts"
        ]
      },
      "sample": "samples/companyProfile.json"
    },
    {
      "id": "financials",
      "path": "/financials",
      "method": "POST",
      "category": "company",
      "summary": "Per-symbol financial report archive \u2014 annual/quarterly/other report PDFs plus a flat reqFinancial statement-line array (secId/elmId/data).",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "infoAnnualData",
          "infoCompanyBannerAd",
          "infoOtherData",
          "infoQuarterlyData",
          "infoWebLink",
          "reqFinancial"
        ]
      },
      "sample": "samples/financials.json"
    },
    {
      "id": "corporateAnnouncementCategory",
      "path": "/corporateAnnouncementCategory",
      "method": "GET",
      "category": "meta",
      "summary": "Announcement category metadata (~53 rows).",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 53,
        "item_keys": [
          "categoryName",
          "className",
          "genAnnou",
          "id",
          "methodName",
          "pageName",
          "pageView",
          "parentCategoryId",
          "smd"
        ]
      },
      "sample": "samples/corporateAnnouncementCategory.json"
    },
    {
      "id": "smd_categories",
      "path": "/smd/categories",
      "method": "GET",
      "category": "meta",
      "summary": "SMD category string list.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 57,
        "item_keys": null
      },
      "sample": "samples/smd_categories.json"
    },
    {
      "id": "notifications",
      "path": "/notifications",
      "method": "GET",
      "category": "meta",
      "summary": "Market halt / notice banners.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "content",
          "status",
          "statusCode"
        ]
      },
      "sample": "samples/notifications.json"
    },
    {
      "id": "news_web",
      "path": "/news/web",
      "method": "GET",
      "category": "media",
      "summary": "Press / news. Types include CN, MR, BN (see site JS).",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "CN"
        ]
      },
      "sample": "samples/news_web.json"
    },
    {
      "id": "events",
      "path": "/events",
      "method": "GET",
      "category": "media",
      "summary": "Events calendar keyed by month-ish buckets.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "object",
        "keys": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7"
        ]
      },
      "sample": "samples/events.json"
    },
    {
      "id": "events_top",
      "path": "/events/top",
      "method": "GET",
      "category": "media",
      "summary": "Top events teaser.",
      "status": 200,
      "ok": true,
      "fingerprint": {
        "type": "array",
        "len": 3,
        "item_keys": [
          "body",
          "eventType",
          "id",
          "images",
          "month",
          "publishedDate",
          "status",
          "title",
          "titleImage",
          "year"
        ]
      },
      "sample": "samples/events_top.json"
    }
  ],
  "websocket": {
    "broker": "https://www.cse.lk/api/ws",
    "protocol": "STOMP over SockJS/WebSocket (site uses @stomp/stompjs)",
    "topics": [
      "/topic/aspi",
      "/topic/snp",
      "/topic/status",
      "/topic/summary",
      "/topic/today-sharePrice",
      "/topic/top-gainers",
      "/topic/top-looses",
      "/topic/most-active-trades",
      "/topic/daytrade"
    ],
    "request_destinations": [
      "/app/request-aspi",
      "/app/request-snp",
      "/app/request-status",
      "/app/request-summary",
      "/app/request-today-sharePrice",
      "/app/request-top-gainers",
      "/app/request-top-looses",
      "/app/request-most-active-trades",
      "/app/request-daytrade"
    ],
    "notes": [
      "Also /user/topic/* mirrors for user-queue variants.",
      "HTTP upgrade to /api/ws may 301; follow SockJS negotiate path as the site does.",
      "Prefer tradeSummary HTTP for polite polling; WS is for live board UIs."
    ]
  }
}