API cho nhà phát triển
REST API cho thị trường, phân tích kỹ thuật và tin tức — cùng dữ liệu vận hành trang này. Đặc tả OpenAPI (JSON)
Xác thực
Mỗi yêu cầu cần khóa API trong header Authorization.
curl -H "Authorization: Bearer gcs_YOUR_KEY" \ "https://getcoinsight.com/api/v1/markets?limit=10"
Tạo và quản lý khóa trong hồ sơ của bạn
Hạn mức hằng ngày
| Free | 100 yêu cầu/ngày |
| Radar | 1.000 yêu cầu/ngày |
| Pro | 10.000 yêu cầu/ngày |
| Trader+ | 100.000 yêu cầu/ngày |
Mọi gói đều có quyền truy cập API, kể cả Free. /analysis trả về nến thời gian thực ở mọi gói; /fundamental yêu cầu gói có phân tích cơ bản (Pro trở lên). Mọi khóa của một tài khoản dùng chung một hạn mức mỗi ngày, với giới hạn đột biến 60 yêu cầu mỗi phút.
Phản hồi bao gồm header X-RateLimit-Limit và X-RateLimit-Remaining. Vượt hạn mức → HTTP 429.
Endpoint
GET /api/v1/markets?limit=100Coin hàng đầu theo vốn hóa: giá, vốn hóa, khối lượng, thay đổi 1h/24h/7d.
GET /api/v1/candles?symbol=btc&id=bitcoin&interval=1h&limit=300Nến OHLCV (cũ nhất trước, thời gian nến theo giây unix) — đúng chuỗi mà /analysis dùng để tính, trong phạm vi lịch sử của gói bạn.
GET /api/v1/analysis?symbol=btc&id=bitcoin&interval=1hẢnh chụp kỹ thuật: giá, xu hướng, RSI/ADX/ATR, đồng thuận TA, chế độ, điểm tổng hợp. Khung: 1m–1M.
GET /api/v1/fundamental?assetId=bitcoinĐiểm cơ bản: phân vị nhóm đồng hạng trên 5 hạng mục + lịch sử 90 ngày; không có assetId — danh sách điểm mới nhất. Cần gói có phân tích cơ bản.
GET /api/v1/announcements?kind=listings&days=7Thông báo niêm yết / hủy niêm yết / cảnh báo của các sàn (Binance, Bybit, OKX, Upbit, Bithumb) kèm giá lúc công bố, 3 phút sau và lúc radar của chúng tôi bắt được, cùng biến động 1 giờ / 24 giờ / 7 ngày. Khóa Free thấy một dòng 10 phút sau khi phát hiện và chỉ 30 ngày gần nhất; Radar+ không trễ và toàn bộ kho lưu trữ từ 2021.
GET /api/v1/news?limit=30Tin tức crypto tổng hợp (CoinDesk, Cointelegraph, Decrypt, The Block, Bitcoin Magazine).
GET /api/v1/presetsPreset của bộ lọc: id, tên, các bộ lọc mỗi preset áp dụng, chiều giao dịch và những bộ lọc gói của bạn sẽ bỏ.
GET /api/v1/funding?limit=100&sort=fundingAbsFunding hợp đồng vĩnh cửu (quy đổi 8 giờ, Binance/Bybit) so sánh với Bybit/OKX/Hyperliquid, basis, hợp đồng mở và thay đổi 1h/4h/24h. Sắp xếp: rank, funding, fundingAbs, oiUsd, oiChangePct.
GET /api/v1/screener?preset=oversold_reversal&interval=4hChạy bộ lọc: preset và/hoặc điều kiện trên khung 15m–1w trong phạm vi gói của bạn. Trả về các kết quả khớp hiện tại kèm điểm số, mức thiết lập và mã TradingView.
Tất cả endpoint trả về JSON: { "data": … } khi thành công, { "error": "code" } nếu không. CORS mở.
Mọi phản hồi đã xác thực còn có X-RateLimit-Reset (giây unix của lần đặt lại tiếp theo, 00:00 UTC). Phản hồi 429 và 502 có Retry-After tính bằng giây — hãy chờ đúng chừng đó; đừng bao giờ thử lại 4xx mà không thay đổi. Mã không xác định → 404 unknown_symbol. Trong v1 các trường chỉ được thêm, không bao giờ bị xóa hay đổi kiểu.
Bộ lọc cũng có thể trả về 503 busy (mọi suất quét đều đang bận) hoặc 502 upstream_degraded (không đọc được phần lớn các coin) — cả hai đều kèm Retry-After và không bị trừ hạn mức. Mọi phương thức khác GET đều nhận 405 dạng JSON.
Với bot, webhook thông báo bên dưới là nguồn tốt hơn: chúng tôi gửi đi và thử lại khi lỗi. Thăm dò thông báo: truyền since=<addedAt tính bằng ms>, rồi ở mỗi lần gọi tiếp theo truyền nextCursor của phản hồi trước làm cursor. Các dòng đến theo thứ tự radar của chúng tôi thêm vào, nên thông báo bắt được muộn không bao giờ bị bỏ sót; loại trùng theo id. Không có since, các dòng xếp từ mới công bố nhất — lật trang cũ hơn bằng cursor khi hasMore còn true. Một lần thăm dò không trả về dòng nào không tốn đơn vị hạn mức, mỗi tài khoản một lần mỗi 10 giây (quotaCharged: false), nên thăm dò mỗi 10 giây phù hợp với mọi gói; phản hồi có dòng vẫn tính như thường.
# first call: everything added in the last hour, oldest first curl -H "Authorization: Bearer gcs_YOUR_KEY" \ "https://getcoinsight.com/api/v1/announcements?since=$(( $(date +%s) * 1000 - 3600000 ))" # every next call: the nextCursor of the previous response curl -H "Authorization: Bearer gcs_YOUR_KEY" \ "https://getcoinsight.com/api/v1/announcements?cursor=NEXT_CURSOR"
Giá theo mã: priceAtAnnouncement và move1hPct / move24hPct / move7dPct tính từ phút công bố — giữ lại để tương thích, không phải giá giao dịch được trong một đợt niêm yết nhanh. priceAt3m với movesFrom3m (và movesFrom3mVsBtc, trừ biến động của BTC) bắt đầu 3 phút sau khi công bố — nền tảng thống kê của trang; priceAtDetection với movesFromDetection bắt đầu từ lúc radar bắt được thông báo. Mọi khung kết thúc cùng một thời điểm, horizonsEndAt (phút công bố + 1 giờ / 24 giờ / 7 ngày): "1 giờ" từ +3 phút dài 57 phút, và khung còn lại dưới 75% lúc chúng tôi bắt được thì không có biến động từ lúc phát hiện. Chưa tính phí, trượt giá hay funding.
Trường cho bot (API và webhook): market (spot / perp / alpha / tradfi), quotes (các thị trường định giá nêu trong tiêu đề, vd. KRW, BTC, USDT — rỗng nếu không nêu), tradingStartsAt (chỉ khi tiêu đề nêu giờ; nếu không là null — nội dung thông báo không được phân tích), detectedAt (lúc radar của chúng tôi thấy lần đầu) và tradable — mã thị trường để giao dịch: role notice = thị trường mà thông báo nói tới (INITUSDT, KRW-INIT, INIT-USD), role reference = thị trường Binance/Bybit nơi chúng tôi lấy giá.
API bộ lọc
Chạy mọi preset hoặc bộ lọc của riêng bạn từ mã — cùng công cụ, phạm vi và giới hạn gói như trên website. Mỗi kết quả có mức thiết lập và mã TradingView, sẵn sàng cho bot.
curl -H "Authorization: Bearer gcs_YOUR_KEY" \
"https://getcoinsight.com/api/v1/screener?preset=strong_uptrend&interval=4h&universe=100&limit=10"
# explicit filters (override the preset's):
curl -G -H "Authorization: Bearer gcs_YOUR_KEY" \
"https://getcoinsight.com/api/v1/screener" \
--data-urlencode 'filters={"rsiMax":35,"sma200":"above"}' \
--data-urlencode "interval=1h"{ "data": { "preset": "strong_uptrend", "interval": "4h", "universe": 100,
"scanned": 97, "matched": 7, "skippedYoung": 2, "errored": 1,
"scannedAt": "2026-10-01T18:30:08.283Z", "results": [ {
"id": "solana", "symbol": "SOL", "rank": 6, "price": 152.3, "compositeScore": 0.41,
"rating": "buy", "regime": "trending_up", "rsi": 61.2, "adx": 27.4, "atrPct": 2.1,
"tvTicker": "BINANCE:SOLUSDT.P",
"venue": { "exchange": "binance", "market": "perp", "symbol": "SOLUSDT" },
"setup": { "side": "long", "entry": 152.3, "stop": 146.9, "targets": [161.2, 168],
"rr": 1.6, "rrNet": 1.4, "viable": true, "status": "idea", "watchReason": null } } ] } }Tham số: preset, filters (JSON), interval (15m, 1h, 4h, 1d, 1w), universe (giới hạn theo gói), limit. Tối đa 6 lượt quét mỗi phút. preset: oversold_reversal, overbought_rejection, volume_spike, volume_dump, breakout, breakdown, strong_uptrend, strong_downtrend, trend_pullback, downtrend_rally, bearish_breakdown, overbought, deep_drawdown, momentum_7d, accumulation, bb_squeeze, mean_reversion, relative_strength, deriv_squeeze, short_squeeze, smart_money, multi_pillar, strong_shorts, range_long, range_short, dip_weekly_uptrend, oi_build_flat, ema_cross_btc_up. Tham số số viết tắt: rsiMin, rsiMax, scoreMin, scoreMax, relVolumeMin, adxMin, adxMax, change24hMin, change24hMax, change7dMin, change7dMax, volumeMin.
Webhook cho bot giao dịch
Cảnh báo, kết quả khớp mới của bộ lọc đã lưu và ý tưởng trong ngày có thể được gửi POST tới URL https của bạn. Chọn định dạng trong Hồ sơ → Thông báo.
- JSON — mỗi thông báo một yêu cầu với các trường có cấu trúc (loại sự kiện, mã, mã TradingView theo từng sàn, hướng, giá, khung thời gian, id cảnh báo, điểm vào/cắt lỗ/mục tiêu) cùng các trường gốc subject/text/url.
- 3Commas — mỗi tín hiệu một yêu cầu theo định dạng bot tín hiệu 3Commas; dán secret và bot_uuid của bot vào mẫu.
- Cornix — mỗi sự kiện một tín hiệu văn bản kiểu Cornix (cặp, sàn, hướng, điểm vào, chốt lời, cắt lỗ).
- Custom — mẫu riêng với các biến trong dấu ngoặc nhọn kép; các tên kiểu TradingView như ticker, exchange, close và interval cũng dùng được.
{ "event": "notification", "type": "price_alert", "version": 2,
"subject": "…", "text": "…", "url": "https://getcoinsight.com/…", "timestamp": "2026-01-01T12:00:00.000Z",
"symbol": "BTC", "base": "BTC", "quote": "USDT", "coinId": "bitcoin",
"exchange": "binance", "market": "perp", "venueSymbol": "BTCUSDT", "ticker": "BINANCE:BTCUSDT.P",
"tickers": { "binance": "BINANCE:BTCUSDT.P", "bybit": "BYBIT:BTCUSDT.P", "okx": "OKX:BTCUSDT.P" },
"side": "long", "direction": "above", "price": 65000, "timeframe": "1h",
"alertId": "clx…", "alertType": "price_above", "threshold": 65000,
"entry": 65000, "stop": 63500, "targets": [67500, 70000], "rr": 1.7,
"assetUrl": "https://getcoinsight.com/coin/bitcoin?symbol=btc&interval=1h",
"signals": [ { "event": "price_alert", "symbol": "BTC", … } ] }Mẫu bot tín hiệu 3Commas:
{
"secret": "PASTE_3COMMAS_SECRET",
"max_lag": "300",
"timestamp": "{{timenow}}",
"trigger_price": "{{close}}",
"tv_exchange": "{{exchange}}",
"tv_instrument": "{{ticker}}",
"action": "{{action}}",
"bot_uuid": "PASTE_BOT_UUID"
}Biến thay thế: {{event}} {{kind}} {{symbol}} {{base}} {{quote}} {{coin_id}} {{tv_symbol}} {{ticker}} {{exchange}} {{tv_exchange}} {{tv_instrument}} {{venue}} {{market}} {{venue_symbol}} {{pair}} {{pair_3commas}} {{side}} {{direction}} {{action}} {{exit_action}} {{intent}} {{price}} {{close}} {{timeframe}} {{interval}} {{alert_id}} {{alert_type}} {{threshold}} {{screen_id}} {{screen_name}} {{entry}} {{stop}} {{target1}} {{target2}} {{targets}} {{rr}} {{url}} {{timestamp}} {{timenow}} {{subject}} {{text}} {{signal_id}} {{test}} {{leverage}} {{disclaimer}}
Placeholder action là enter_long / enter_short CHỈ với các tín hiệu bạn cho phép giao dịch bằng bot: lựa chọn Bot của cảnh báo (long, short hoặc theo hướng setup), “Gửi đến bot” của bộ lọc đã lưu (chỉ setup đã xác nhận trên nến đã đóng), hoặc công tắc ý tưởng hằng ngày. Việc giá vượt một mức tự nó không bao giờ quyết định hướng. Mọi thứ khác chỉ là thông tin và không bao giờ đến 3Commas hay Cornix. Mỗi tín hiệu có signal_id và dấu thời gian gốc; không bao giờ gửi lại, không bao giờ gửi trễ quá 5 phút, và tối đa bằng giới hạn bot hằng ngày của bạn (≤ 10) mỗi 24 giờ.
Cảnh báo bracket: chạm điểm vào lệnh sẽ gửi enter_long / enter_short kèm stop và mục tiêu của bracket; stop (hoặc stop đã dời) và mục tiêu cuối gửi exit_long / exit_short — chỉ tới bot đã nhận lệnh vào của chúng tôi. Cornix nhận lệnh vào kèm stop và mục tiêu rồi tự đóng lệnh. Coin không có thị trường sàn đã xác minh, cổ phiếu gửi tới 3Commas / Cornix, lệnh short trên thị trường spot hoặc hướng trái với chính các mức của tín hiệu sẽ không bao giờ được gửi như một giao dịch.
Mọi yêu cầu đều được ký: X-GCS-Signature: sha256=HMAC(nội dung, khóa bí mật của bạn). Định dạng cho bot gửi tối đa 10 tín hiệu mỗi thông báo.
Webhook thông báo (Radar trở lên)
Mỗi thông báo niêm yết, hủy niêm yết hoặc cảnh báo khớp với cài đặt thông báo của bạn được POST dưới dạng JSON (event "announcement") khi radar của chúng tôi bắt được — chỉ định dạng JSON. Mỗi lần thử có hạn 8 giây và không theo chuyển hướng: hãy trả 2xx nhanh. Lần thử thất bại được thử lại với khoảng chờ tăng dần đến 30 phút, tối đa 9 lần trong khoảng 2 giờ, nên một lần gửi có thể đến muộn. Lọc trùng theo eventId (cũng là header X-Getcoinsight-Delivery; attempt và X-Getcoinsight-Attempt là số lần thử) và đánh giá độ mới theo announcement.detectedAt hoặc firstAttemptAt — timestamp là thời điểm gửi của lần thử đó. Bổ sung phần bị lỡ qua /api/v1/announcements?since=…. Sau 20 lần gửi thất bại liên tiếp, webhook bị tắt và bạn nhận được thông báo ở chuông.
POST <your https URL>
Content-Type: application/json
X-GCS-Signature: sha256=<hex HMAC-SHA256 of the raw body, your secret>
X-Getcoinsight-Delivery: announcement:binance:1234567
X-Getcoinsight-Attempt: 1
{ "event": "announcement", "type": "announcement", "version": 2,
"subject": "…", "text": "…", "url": "https://getcoinsight.com/…", "timestamp": "2026-10-26T09:00:04.120Z",
"eventId": "announcement:binance:1234567", "attempt": 1, "firstAttemptAt": "2026-10-26T09:00:04.100Z",
"disclaimer": "…", "signals": [],
"announcement": { "id": "binance:1234567", "exchange": "binance", "kind": "listing",
"title": "Binance Will List X (X)", "symbols": ["X"],
"publishedAt": "2026-10-26T09:00:00.000Z", "noticeUrl": "https://www.binance.com/…",
"market": "spot", "quotes": ["USDT"], "tradingStartsAt": null, "detectedAt": "2026-10-26T09:00:03.900Z",
"tradable": [ { "base": "X", "venue": "binance", "type": "spot", "symbol": "XUSDT", "role": "notice" } ],
"eventId": "announcement:binance:1234567", "attempt": 1, "firstAttemptAt": "2026-10-26T09:00:04.100Z" } }