Stockbit Research research Playground @hansputera

Exodus — Main REST API

Base: https://exodus.stockbit.com Auth: Authorization: Bearer <main_token> (JWT, valid ~90 days)


User

Method Path Description
GET /user/profile Get current user profile
GET /user/profile/{username} Get user profile by username
PUT /user/profile Edit user profile
PUT /user/profile/country Update country preference
GET /user/setting Get user settings
GET /user/trending Trending users
GET /user/v2/setting/change/status Setting change status
POST /user/v2/setting/token Get setting token
POST /user/v3/setting/token Get setting token v3
POST /user/v2/setting/change/verify/identity Verify identity
POST /user/v2/setting/change/verify/otp Verify OTP
POST /user/v2/setting/change/confirm Confirm setting change
POST /user/setting/pin Set PIN
POST /user/setting/password/forgot Forgot password
POST /user/setting/password/reset Reset password
PUT /user/profile — Payload
{
  "username": "hansputera",
  "fullname": "Hanif Dwy Putra S",
  "bio": "trader",
  "avatar": "avatar_url"
}
GET /user/profile — Response
{
  "data": {
    "userid": 3468390,
    "username": "hansputera",
    "email": "sekuritas.hanif@gmail.com",
    "fullname": "Hanif Dwy Putra S",
    "bio": "",
    "avatar_url": "https://avatar.stockbit.com/...",
    "is_verified": true,
    "followers": 0,
    "following": 0
  }
}

Social / Stream

Method Path Params Description
GET /stream/get Main feed
GET /stream/trending date Trending posts
GET /stream/v3 Stream v3
GET /stream/v3/symbol/{symbol} Stream filtered by stock
GET /stream/non-login/user/{id} Public user stream
GET /stream/v3/symbol/{symbol} — Response
{
  "data": {
    "streams": [{
      "id": "post_id",
      "user": { "userid": 3468390, "username": "hansputera", "fullname": "Hanif Dwy Putra S", "avatar": "avatar_url" },
      "text": "Post content",
      "likes": 10,
      "comments": 2,
      "created_at": "2026-07-15T07:00:00Z"
    }]
  }
}

Social Graph

Method Path Description
GET /usergraph/socialinfo/user/me My social stats (followers, following)
GET /usergraph/socialinfo/{username} User social stats
GET /usergraph/non-login/socialinfo/{username} Public social stats

Method Path Params Description
GET /search keyword, page(int), type(string) Search users, companies, posts
GET /search/recent Recent searches list
POST /search/recent Save recent search

Params type: "users", "company", "all", "emiten"


Notifications

Method Path Description
GET /notification List notifications
POST /notification/read Mark all as read
GET /notification/settings Get notification settings
GET /notification/v3/settings Get notification settings (v3)
GET /count/unread Unread notification count

User Blocking

Method Path Description
POST /user/{userId}/block Block user
POST /user/{userId}/unblock Unblock user
GET /user/blocked List blocked users

Social Media Connect

Method Path Description
POST /user/v2/connect/{media} Connect social account (facebook, google)
POST /user/disconnect/{media} Disconnect social account

Onboarding & Upload

Method Path Description
POST /user/onboarding Complete onboarding step
POST /user/upload/token Get S3 upload token
GET /user/avatar/collection List 3D avatar options

Admin & Badge

Method Path Description
POST /user/admin/suspend Suspend user (admin)
GET /verified-badge/user/{userId} Get verified badge status

Suggested People

Method Path Params Description
GET /suggest-friends page, limit, filter Suggested users to follow

Watchlist

Method Path Description
GET /watchlist Get all user watchlists
POST /watchlist/list List items in default watchlist
POST /watchlist/detail Watchlist details
POST /watchlist/create Create new watchlist
POST /watchlist/delete Delete watchlist
POST /watchlist/add Add stock to watchlist
POST /watchlist/remove Remove stock from watchlist
GET /watchlist/metric Watchlist aggregate metrics
GET /watchlist/search/company Search companies to add
POST /column/reorder Reorder watchlist columns
POST /favorites/rearrange Rearrange favorites
POST /company/item Company item action
GET /suggestion/company Suggested companies to follow

Stock Chart Data

Method Path Params Description
GET /chartbit/{symbol}/price/daily from(YYYY-MM-DD), to(YYYY-MM-DD) Daily OHLCV
GET /chartbit/{symbol}/price/intraday from(unix ts), to(unix ts) Intraday OHLCV
GET /chartbit/chart/corpaction symbol, from, to Corporate actions overlay
GET /chartbit/custom/indicator Custom indicators
GET /chartbit/{symbol}/initial Initial chart bootstrap
GET /chartbit/{symbol}/layout Get chart layout
POST /chartbit/{symbol}/layout Save chart layout
GET /chartbit/template Get saved chart templates
POST /chartbit/template Save chart template
GET /chartbit/{symbol}/template/{templateId} Load chart template
DELETE /chartbit/template/{templateId} Delete chart template
GET /chartbit/version Chartbit version
GET /chartbit/{symbol}/price/daily — Response
{
  "data": { "chartbit": [{ "t": "1720775580", "o": 150, "h": 152, "l": 148, "c": 150, "v": 938717000 }] }
}

User Settings (Chart)

Method Path Params Description
GET /user-setting/configurations ?user_setting_type=1 Get chart settings
POST /user-setting/configurations { key, value } Save chart setting

Company / Stock Info

Method Path Params Description
GET /emitten/{symbol}/profile Company profile
GET /emitten/non-login/{symbol}/info Company info (full detail)
GET /emitten/non-login/{symbol} Company info (legacy)
GET /emitten/IHSG/info IHSG index info
GET /emitten/trending Trending stocks
GET /broker/activity symbol, page, limit Broker buy/sell activity
GET /broker/list Broker master list
GET /top-broker Top brokers by volume
GET /insider/company/majorholder symbols, page, limit, ... Major shareholders
GET /insider/shareholding/composition/companies/ Shareholding composition
GET /corpaction/{symbol} limit Corporate actions
GET /keystats/ratio/v1/{symbol} year_limit Key financial ratios
GET /orderbook/companies/{symbol} REST orderbook snapshot
GET /company-price-feed/price-performance/{symbol} Price performance
GET /company-price-feed/seasonality/{symbol} year, back_year Seasonality
GET /charts/{symbol}/daily timeframe Daily chart snapshot
GET /order-trade/broker/top sort, period Top brokers
GET /findata-view/company/financial symbol, data_type, ... Financial reports
GET /indexes/special-board Special board indexes
GET /formula/v2 Fee formulas
GET /emitten/non-login/BBCA/info — Response
{
  "data": {
    "symbol": "BBCA",
    "name": "Bank Central Asia Tbk.",
    "sector": "Keuangan",
    "sub_sector": "Bank",
    "exchange": "IDX",
    "price": "6125",
    "previous": "6125",
    "change": "0.00",
    "status": "STATUS_ACTIVE",
    "type_company": "Saham",
    "orderbook": { "bid": { "price": "6100", "volume": "6784400" }, "offer": { "price": "6125", "volume": "3091900" } },
    "market_hour": { "status": "open", "time_left": 0, "formatted_time_left": "0 jam 0 menit 0 detik" },
    "indexes": ["LQ45", "IDX30", "KOMPAS100", "IHSG"],
    "followers": 3259406,
    "day_trade_multiplier": "5"
  }
}
GET /keystats/ratio/v1/BBCA — Response
{
  "data": { "symbol": "BBCA", "per": 12.91, "pbv": 2.45, "roe": 18.5, "der": 0.45, "dividend_yield": 3.2, "market_cap": 1200000000000000 }
}
GET /formula/v2 — Response (Fee formulas)
{
  "data": {
    "version": "6",
    "formula": {
      "buy": { "invested": "(LOT*100)*PRICE", "fee": "((LOT*100)*PRICE)*FEE_BUY", "broker_fee": "((LOT*100)*PRICE)*BROKER_FEE", "exchange_fee": "((LOT*100)*PRICE)*EXCHANGE_FEE_TOTAL_BUY" },
      "sell": { "invested": "(LOT*100)*PRICE", "fee": "((LOT*100)*PRICE)*FEE_SELL" }
    }
  }
}

Sectors

Method Path Description
GET /sectors All sectors
GET /sectors/{id} Sector detail
GET /subsectors All subsectors
GET /subsector/{id} Subsector detail
GET /v3/sector/ Sectors v3

Index

Method Path Description
GET /indexes/special-board Special board indexes

Auth / Utility

Method Path Description
GET /sekuritas/auth/token Get sekuritas login token (for trading)
GET /auth/websocket/key Get WebSocket authentication key
POST /auth/pin Authenticate PIN
POST /auth/pin/reset Reset PIN
POST /login/refresh Refresh main JWT token
GET /status/active Check if user account is active
GET /auth/session/device/{id} Device session info
POST /auth/v2/session/devices List session devices
POST /login/v3/username/browser Browser username login
POST /login/v4/facebook Facebook login
POST /login/v4/google Google login

Orderbook

Method Path Description
GET /orderbook/companies/{symbol} Get bid/offer for a stock
GET /orderbook/companies/BUMI — Response
{
  "data": {
    "average": 150, "close": 150, "previous": 149, "change": 1,
    "open": 150, "high": 152, "low": 148,
    "volume": "938717000", "value": "140862880000",
    "bid": { "price1": "149", "volume1": "43471300", "price2": "148", "volume2": "60441300" },
    "offer": { "price1": "150", "volume1": "28319200", "price2": "151", "volume2": "15826300" },
    "status": "Active",
    "ara": { "value": "200", "visible": true },
    "arb": { "value": "127", "visible": true }
  }
}
Bid/offer uses `price1..price10` / `volume1..volume10` naming. `ara` = Auto Rejection Above, `arb` = Auto Rejection Below.

Analyst (Next.js data endpoint)

Hosted on stockbit.com, not exodus.stockbit.com:

GET https://stockbit.com/_next/data/{build_id}/symbol/{symbol}/analyst.json?param=analyst

build_id is the Next.js build hash (found in /_next/static/${build_id}/_buildManifest.js).