GET사용 가능
단일 코인의 롱/숏 비율
자체 데이터 레이어: 단일 코인의 롱/숏 비율
GET
/api/sd/ls요청
쿼리 파라미터
| 이름 | 타입 | 필수 | 기본값 | 허용 값 | 설명 |
|---|---|---|---|---|---|
| coin | string | 필수 | — | — | 코인 심볼. 누락되면 400. 별칭: `base`. 예시: BTC |
요청 예시
curl -s "https://www.coinboss.com/api/sd/ls?coin=BTC"응답 필드
필드 표는 실제 응답에서 생성되므로 엔드포인트가 반환하는 내용을 그대로 보여 줍니다. 경로에서 a[]는 배열 항목을, {*}는 코인이나 거래소처럼 동적 이름을 키로 갖는 객체를 뜻합니다.
| 필드 | 타입 | 단위 | 설명 |
|---|---|---|---|
| success | boolean | — | 요청이 성공하면 true입니다. 실패하면 본문은 `{ success: false, code, error, request_id }`입니다. |
| coin | string | — | 코인 심볼, 대문자(예: BTC). |
| now | number | ms | 응답이 생성된 서버 시각. |
| account | object | — | 전체 계정 중 순롱 계정과 순숏 계정의 비중. |
| account.long_pct | number | % | 롱 비중. |
| account.short_pct | number | % | 숏 비중. |
| account.ratio | number | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| account.n_exchanges | number | — | 집계에 포함된 거래소 수. |
| account.by_exchange | array | — | 거래소별 내역. |
| account.by_exchange[] | object | — | 거래소별 내역. |
| account.by_exchange[].exchange | string | — | 거래소 ID, 소문자(예: `binance`). |
| account.by_exchange[].symbol | string | — | CoinBoss가 정규화한 종목 심볼(예: BTCUSDT). |
| account.by_exchange[].long_pct | number | % | 롱 비중. |
| account.by_exchange[].short_pct | number | % | 숏 비중. |
| account.by_exchange[].ratio | number | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| account.by_exchange[].updated_at | number | ms | 이 행이 마지막으로 갱신된 시각. |
| account.by_exchange[].age_s | number | s | 이 행이 마지막으로 갱신된 후 경과한 초. |
| account.by_exchange[].is_stale | boolean | — | 행이 신선도 창보다 오래되면 true. 만료된 행은 합계에 사용하지 않습니다. |
| account.by_exchange[].source | string | — | 행의 출처가 되는 거래소 통계. |
| account.by_exchange[].period | string | — | 거래소 통계의 샘플링 주기(예: `5m`). |
| top_account | object | — | 동일, 거래소가 정의한 상위 트레이더로 한정. |
| top_account.long_pct | number|null | % | 롱 비중. |
| top_account.short_pct | number|null | % | 숏 비중. |
| top_account.ratio | number|null | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| top_account.n_exchanges | number | — | 집계에 포함된 거래소 수. |
| top_account.by_exchange | array | — | 거래소별 내역. |
| top_account.by_exchange[] | object | — | 거래소별 내역. |
| top_account.by_exchange[].exchange | string | — | 거래소 ID, 소문자(예: `binance`). |
| top_account.by_exchange[].symbol | string | — | CoinBoss가 정규화한 종목 심볼(예: BTCUSDT). |
| top_account.by_exchange[].long_pct | number | % | 롱 비중. |
| top_account.by_exchange[].short_pct | number | % | 숏 비중. |
| top_account.by_exchange[].ratio | number | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| top_account.by_exchange[].updated_at | number | ms | 이 행이 마지막으로 갱신된 시각. |
| top_account.by_exchange[].age_s | number | s | 이 행이 마지막으로 갱신된 후 경과한 초. |
| top_account.by_exchange[].is_stale | boolean | — | 행이 신선도 창보다 오래되면 true. 만료된 행은 합계에 사용하지 않습니다. |
| top_account.by_exchange[].source | string | — | 행의 출처가 되는 거래소 통계. |
| top_account.by_exchange[].period | string | — | 거래소 통계의 샘플링 주기(예: `5m`). |
| top_position | object | — | 상위 트레이더가 보유한 포지션의 롱 대 숏 비중. |
| top_position.long_pct | number|null | % | 롱 비중. |
| top_position.short_pct | number|null | % | 숏 비중. |
| top_position.ratio | number|null | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| top_position.n_exchanges | number | — | 집계에 포함된 거래소 수. |
| top_position.by_exchange | array | — | 거래소별 내역. |
| top_position.by_exchange[] | object | — | 거래소별 내역. |
| top_position.by_exchange[].exchange | string | — | 거래소 ID, 소문자(예: `binance`). |
| top_position.by_exchange[].symbol | string | — | CoinBoss가 정규화한 종목 심볼(예: BTCUSDT). |
| top_position.by_exchange[].long_pct | number | % | 롱 비중. |
| top_position.by_exchange[].short_pct | number | % | 숏 비중. |
| top_position.by_exchange[].ratio | number | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| top_position.by_exchange[].updated_at | number | ms | 이 행이 마지막으로 갱신된 시각. |
| top_position.by_exchange[].age_s | number | s | 이 행이 마지막으로 갱신된 후 경과한 초. |
| top_position.by_exchange[].is_stale | boolean | — | 행이 신선도 창보다 오래되면 true. 만료된 행은 합계에 사용하지 않습니다. |
| top_position.by_exchange[].source | string | — | 행의 출처가 되는 거래소 통계. |
| top_position.by_exchange[].period | string | — | 거래소 통계의 샘플링 주기(예: `5m`). |
| position_all | object | — | 전체 포지션의 롱 대 숏 비중(이를 공시하는 거래소 기준). |
| position_all.long_pct | number|null | % | 롱 비중. |
| position_all.short_pct | number|null | % | 숏 비중. |
| position_all.ratio | number|null | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| position_all.n_exchanges | number | — | 집계에 포함된 거래소 수. |
| position_all.by_exchange | array | — | 거래소별 내역. |
| position_all.by_exchange[] | object | — | 거래소별 내역. |
| position_all.by_exchange[].exchange | string | — | 거래소 ID, 소문자(예: `binance`). |
| position_all.by_exchange[].symbol | string | — | CoinBoss가 정규화한 종목 심볼(예: BTCUSDT). |
| position_all.by_exchange[].long_pct | number | % | 롱 비중. |
| position_all.by_exchange[].short_pct | number | % | 숏 비중. |
| position_all.by_exchange[].ratio | number | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| position_all.by_exchange[].updated_at | number | ms | 이 행이 마지막으로 갱신된 시각. |
| position_all.by_exchange[].age_s | number | s | 이 행이 마지막으로 갱신된 후 경과한 초. |
| position_all.by_exchange[].is_stale | boolean | — | 행이 신선도 창보다 오래되면 true. 만료된 행은 합계에 사용하지 않습니다. |
| position_all.by_exchange[].source | string | — | 행의 출처가 되는 거래소 통계. |
| position_all.by_exchange[].period | string | — | 거래소 통계의 샘플링 주기(예: `5m`). |
| taker | object | — | 테이커 매수 대 테이커 매도 거래량 비중. |
| taker.long_pct | number|null | % | 롱 비중. |
| taker.short_pct | number|null | % | 숏 비중. |
| taker.ratio | number|null | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| taker.n_exchanges | number | — | 집계에 포함된 거래소 수. |
| taker.by_exchange | array | — | 거래소별 내역. |
| taker.by_exchange[] | object | — | 거래소별 내역. |
| taker.by_exchange[].exchange | string | — | 거래소 ID, 소문자(예: `binance`). |
| taker.by_exchange[].symbol | string | — | CoinBoss가 정규화한 종목 심볼(예: BTCUSDT). |
| taker.by_exchange[].long_pct | number | % | 롱 비중. |
| taker.by_exchange[].short_pct | number | % | 숏 비중. |
| taker.by_exchange[].ratio | number | — | 롱 비중을 숏 비중으로 나눈 값(1 = 균형). |
| taker.by_exchange[].updated_at | number | ms | 이 행이 마지막으로 갱신된 시각. |
| taker.by_exchange[].age_s | number | s | 이 행이 마지막으로 갱신된 후 경과한 초. |
| taker.by_exchange[].is_stale | boolean | — | 행이 신선도 창보다 오래되면 true. 만료된 행은 합계에 사용하지 않습니다. |
| taker.by_exchange[].source | string | — | 행의 출처가 되는 거래소 통계. |
| taker.by_exchange[].period | string | — | 거래소 통계의 샘플링 주기(예: `5m`). |
| definitions | object | — | 각 지표의 정의. 다섯 지표는 서로 다른 질문에 답하며 절대 섞지 않습니다. |
| definitions.account | string | — | 계정 기준 지표. |
| definitions.top_account | string | — | 상위 트레이더 계정 지표. |
| definitions.top_position | string | — | 상위 트레이더 포지션 지표. |
| definitions.position_all | string | — | 전체 포지션 지표. |
| definitions.taker | string | — | 테이커 매수 / 매도 지표. |
| method | object | — | 이 응답에 사용된 산식을 일반 텍스트로 기술한 내용. |
| method.normalize | string | — | 정규화에 대한 일반 텍스트 설명: 각 거래소 값은 롱 % + 숏 % = 100이 되도록 재조정하며, 비율 = 롱 % ÷ 숏 %입니다. |
| method.aggregate | string | — | 거래소 통합 집계. |
| method.freshness | string | — | 일반 텍스트 신선도 규칙: 24시간 이내에 갱신된 행을 표시하며 `is_stale`은 2시간보다 오래된 행을 표시합니다. |
2026-11-11 23:00 UTC에 실제 응답 4건으로 생성.
응답 예시
/api/sd/ls?coin=BTC · 2026-11-13 03:57:48 UTC에 수집한 실제 응답. 긴 배열과 맵은 표시를 위해 줄였습니다: taker.by_exchange: 원래 항목 4개; account.by_exchange: 원래 항목 6개; top_position.by_exchange: 원래 항목 4개.
- "success"true
- "coin""BTC"
- "now"1794542268813
- "account"
- "long_pct"73.52
- "short_pct"26.48
- "ratio"2.7764
- "n_exchanges"6
- "by_exchange"
- "top_account"
- "long_pct"66.89
- "short_pct"33.11
- "ratio"2.0198
- "n_exchanges"2
- "by_exchange"
- "top_position"
- "long_pct"49.7
- "short_pct"50.3
- "ratio"0.9881
- "n_exchanges"4
- "by_exchange"
- "position_all"
- "long_pct"49.43
- "short_pct"50.57
- "ratio"0.9775
- "n_exchanges"1
- "by_exchange"
- "taker"
- "long_pct"43.47
- "short_pct"56.54
- "ratio"0.7688
- "n_exchanges"4
- "by_exchange"
- "definitions"
- "account""all accounts: share of accounts that are net long vs net short (headcount, not size)"
- "top_account""top traders only: share of top-trader accounts net long vs net short"
- "top_position""top traders only: long position size vs short position size"
- "position_all""all traders: long position size vs short position size (Bitget only; kept separate from top-trader figures)"
- "taker""taker buy volume vs taker sell volume in the period (aggressor flow; not positions)"
- "method"
- "normalize""each exchange value converted to long% + short% = 100; ratio = long% / short%"
- "aggregate""simple mean of long% across exchanges within the same definition; different definitions are never mixed"
- "freshness""rows updated within 24h are shown; is_stale marks rows older than 2h"
검증된 샘플
프로브는 위 예시 외에도 아래 파라미터로 이 엔드포인트를 호출하고 매번 스키마를 검사합니다.
| 파라미터 | HTTP | 지연 시간 | 결과 |
|---|---|---|---|
| coin=ETH | 200 | 5 ms | 통과 |
| coin=SOL | 200 | 5 ms | 통과 |
| coin=ARKM | 200 | 4 ms | 통과 |
| — | 400 | 1 ms | 통과 예상된 오류 반환 |
2026-11-13 03:27:48 UTC 점검
상세 정보
- 인증
- 없음. 공개 엔드포인트.
- 요청 한도
- IP당 분당 1200회
- 서버 캐시
- 30s
- 엣지 마이크로 캐시
- 10s
- 갱신 주기
- 5분마다(binance 상위 트레이더 계정 비율과 okx 테이커 / 상위 트레이더 포지션 비율은 1시간마다; 롱테일 심볼은 30분마다)
- 구간
- 최신 스냅샷(24 h 이내 행; 2 h 후 is_stale 플래그)
- 데이터 소스
- 자체 수집기가 거래소 7곳(binance, okx, bybit, bitget, gate, htx, kraken)의 공개 통계 엔드포인트에서 폴링한 롱/숏 비율.
- 거래소 커버리지
- 계정 비율: binance, okx, bybit, bitget, gate, kraken; 상위 트레이더 계정 비율: binance, htx; 포지션 비율: binance, okx, gate, htx, bitget; 테이커 매수/매도 비율: binance, okx, bitget, gate; 업스트림 샘플링 주기는 서로 다름(5분~1 h); 심볼 커버리지는 거래량 상위 기준 롤링 목록(binance 계정 비율은 약 280개 코인, 그 외 거래소 / 유형은 약 20~60개 코인); 응답에 각 업스트림 엔드포인트와 샘플링 주기를 나열
- 단위
- long / short as percentages of 100; ratio = long / short
- 산출 방식
- per group (account, top_account, top_position, position_all, taker): simple mean of long% across exchanges; groups are never mixed
- 타임스탬프
- 필드 설명에 별도 언급이 없는 한 Unix epoch 밀리초(UTC)
- 응답 형식
- json
- 안정성
- 안정
- 제공 시작
- 2026-11-11
실시간 상태
사용 가능2026-11-13 03:52:39 UTC 점검HTTP 2005 ms스키마 일치최신 데이터 포인트: 83s 경과
최근 30일 가용성
점검 410회 중 100% 통과
오류
실패한 호출은 모든 엔드포인트에서 동일한 구조로 반환됩니다. 전체 목록은 오류 페이지에 있습니다. 오류 및 요청 한도 →
| 코드 | HTTP | 의미 | 대응 방법 |
|---|---|---|---|
| INVALID_PARAM | 400 | 필수 파라미터가 누락되었거나 허용되지 않는 값입니다. 문제가 된 파라미터를 알 수 있으면 `param`에 그 이름이 들어갑니다. | 그대로 재시도하지 말고 요청을 수정하십시오. |
| UNAUTHORIZED | 401 | `CB-API-KEY` 헤더를 보냈지만 알 수 없거나 폐기된 키입니다. 공개 데이터에는 키가 필요 없으므로 헤더를 빼거나 유효한 키를 사용하십시오. | 그대로 재시도하지 마십시오. |
| FORBIDDEN | 403 | 해당 경로는 공개 API에 포함되지 않습니다(내부용 또는 계정 전용). | 재시도하지 마십시오. |
| NOT_FOUND | 404 | 알 수 없는 경로이거나, 요청한 코인 / 거래소 / 펀드가 존재하지 않습니다. | 재시도하지 말고 경로와 식별자를 카탈로그와 대조해 확인하십시오. |
| RATE_LIMITED | 429 | 요청 수가 분당 한도를 초과했습니다. `Retry-After`가 대기해야 할 초를 알려 줍니다. | `Retry-After`만큼 기다린 뒤 백오프를 적용해 재시도하십시오. |
| INTERNAL | 500 | 예기치 않은 서버 오류입니다. 메시지는 의도적으로 일반적인 내용만 담습니다. 신고할 때 `request_id`를 인용하십시오. | 몇 초 뒤 한 번 재시도하고, 계속되면 요청 ID와 함께 신고하십시오. |
| UPSTREAM_FAILED | 503 | 이 엔드포인트의 데이터 소스가 제시간에 응답하지 않았습니다. 그 대신 만료된 수치나 대체 수치를 반환하는 일은 없습니다. | 백오프를 적용해 재시도하고 상태 페이지를 확인하십시오. |
| UNAVAILABLE | 501 / 503 | 데이터셋이 일시적으로 준비되지 않았거나(캐시 워밍 중) 엔드포인트에 아직 합법적인 공개 소스가 없습니다. | 나중에 재시도하십시오. 설계상 사용 불가인 엔드포인트는 카탈로그에 표시되어 있습니다. |
| REQUEST_FAILED | 200 | 일부 이전 엔드포인트는 HTTP 200에 `success: false`로 응답합니다. HTTP 상태만 보지 말고 항상 `success`를 확인하십시오. | 메시지에 따라 다릅니다. 실패한 요청으로 처리하십시오. |
직접 실행
GET
/api/sd/ls사용 가능파라미터
string — Coin symbol; 400 when missing. Alias: `base`.
요청 URL
https://www.coinboss.com/api/sd/ls?coin=BTC엔드포인트를 선택하고 “요청 보내기”를 누르십시오. 응답, 헤더, 소요 시간이 여기에 표시됩니다.
이 카테고리의 다른 엔드포인트
- 단일 코인의 롱/숏 비율 /api/sd/ls
- 코인 페이지 롱/숏 카드 /api/currency/ls-cards
- 단일 거래소에서 코인의 롱/숏 비율 히스토리 /api/exchanges/ls-history
- 단일 코인의 거래소별 롱/숏 카드 /api/ls/cards
- 단일 코인의 롱/숏 비율 차트 시계열 /api/ls/chart
- 단일 코인의 거래소별·기준별 롱/숏 비율 /api/ls/coin
- 단일 거래소에서 단일 코인의 롱/숏 비율 히스토리 /api/ls/history
- 롱/숏 비율 매트릭스 /api/ls/matrix
- 롱/숏 비율 목록 v2 /api/market/long-short-v2
- 롱/숏 비율 목록 /api/market/long-short