跳到主要内容
getcoinsight

开发者 API

行情、技术分析和新闻的 REST API — 与本站使用相同的数据。 OpenAPI 规范(JSON)

身份验证

每个请求都需要在 Authorization 头中携带 API 密钥。

curl -H "Authorization: Bearer gcs_YOUR_KEY" \
  "https://getcoinsight.com/api/v1/markets?limit=10"

在你的 个人资料中创建和管理密钥

每日配额

Free100 请求/天
Radar1,000 请求/天
Pro10,000 请求/天
Trader+100,000 请求/天

所有套餐都包含 API 访问,Free 也不例外。所有套餐的 /analysis 均返回实时 K 线;/fundamental 需要包含基本面分析的套餐(Pro 及以上)。一个账户的所有密钥共享同一个每日配额,突发上限为每分钟 60 次请求。

响应包含 X-RateLimit-Limit 和 X-RateLimit-Remaining 头。超出配额 → HTTP 429。

端点

  • GET /api/v1/markets?limit=100

    按市值排名的头部币种:价格、市值、成交量、1h/24h/7d 涨跌。

  • GET /api/v1/candles?symbol=btc&id=bitcoin&interval=1h&limit=300

    OHLCV K线(从最早开始,K线时间为 Unix 秒)— 与 /analysis 计算所用完全相同的序列,最长到你套餐的历史窗口。

  • GET /api/v1/analysis?symbol=btc&id=bitcoin&interval=1h

    技术快照:价格、趋势、RSI/ADX/ATR、TA 共识评级、市场状态、综合评分。周期:1m–1M。

  • GET /api/v1/fundamental?assetId=bitcoin

    基本面评分:5 个类别的同类分位数 + 90 天历史;不带 assetId 时返回最新评分列表。需要包含基本面分析的套餐。

  • GET /api/v1/announcements?kind=listings&days=7

    交易所上币 / 下架 / 警示公告(Binance、Bybit、OKX、Upbit、Bithumb),含发布时、3 分钟后和雷达捕获时的价格,以及 1 小时 / 24 小时 / 7 天的涨跌。Free 密钥在捕获 10 分钟后可见,且仅限最近 30 天;Radar 及以上无延迟,可读取 2021 年以来的全部存档。

  • GET /api/v1/news?limit=30

    聚合加密货币头条(CoinDesk、Cointelegraph、Decrypt、The Block、Bitcoin Magazine)。

  • GET /api/v1/presets

    筛选器预设:ID、名称、各自应用的筛选条件、交易方向,以及你的套餐会丢弃哪些筛选条件。

  • GET /api/v1/funding?limit=100&sort=fundingAbs

    永续合约资金费率(8 小时等值,Binance/Bybit),附 Bybit/OKX/Hyperliquid 对比、基差、持仓量及其 1h/4h/24h 变化。排序:rank、funding、fundingAbs、oiUsd、oiChangePct。

  • GET /api/v1/screener?preset=oversold_reversal&interval=4h

    运行筛选:在您套餐的范围内以 15m–1w 周期运行预设和/或筛选条件。返回当前匹配结果,含评分、交易计划价位和 TradingView 代码。

所有端点均返回 JSON:成功时 { "data": … },否则 { "error": "code" }。CORS 开放。

每个已认证的响应还带有 X-RateLimit-Reset(下次重置的 Unix 秒,00:00 UTC)。429 和 502 响应带有 Retry-After(秒)— 请等待相应时间;不要原样重试 4xx。未知代码返回 404 unknown_symbol。在 v1 内字段只会新增,不会删除或改变类型。

筛选器还可能返回 503 busy(扫描已满)或 502 upstream_degraded(大多数币种无法读取)— 两者都带 Retry-After,且不扣配额。除 GET 以外的任何方法都会收到 JSON 格式的 405。

对机器人来说,下方的公告 Webhook 是更好的来源:由我们推送,失败会重试。轮询公告:传入 since=<以毫秒计的 addedAt>,之后每次调用把上一次响应的 nextCursor 作为 cursor 传入。数据行按我们的雷达添加的顺序返回,因此较晚捕获的公告也不会漏掉;请按 id 去重。不带 since 时按发布时间从新到旧排列 — 在 hasMore 为 true 时用 cursor 继续翻页。 没有返回数据行的轮询,每个账户每 10 秒一次不扣配额(quotaCharged: false),所以每 10 秒轮询适用于任何套餐;含数据行的响应照常计数。

# 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"

每个代币的价格:priceAtAnnouncement 和 move1hPct / move24hPct / move7dPct 以发布那一分钟为起点——为兼容保留,在快速上币中并非可成交的价格。priceAt3m 与 movesFrom3m(以及减去 BTC 涨跌的 movesFrom3mVsBtc)以发布后 3 分钟为起点,是本站统计的基准;priceAtDetection 与 movesFromDetection 以雷达捕获公告时为起点。所有周期在同一时刻结束,即 horizonsEndAt(发布分钟 + 1 小时 / 24 小时 / 7 天):从 +3 分钟起的“1 小时”为 57 分钟;捕获时剩余不足 75% 的周期没有从捕获起算的涨跌。不含手续费、滑点和资金费。

机器人字段(API 与 Webhook):market(spot / perp / alpha / tradfi)、quotes(标题中列出的计价市场,如 KRW、BTC、USDT——未写明则为空)、tradingStartsAt(仅当标题写明具体时间;否则为 null——不解析公告正文)、detectedAt(我们的雷达首次发现的时间)以及 tradable——可交易的交易所市场代码:role notice = 公告所指市场(INITUSDT、KRW-INIT、INIT-USD),role reference = 我们读取价格的 Binance/Bybit 市场。

筛选器 API

从代码运行任意筛选器预设或自定义条件 — 与网站相同的引擎、范围和套餐限制。每条结果都带有交易计划价位和 TradingView 代码,可直接用于机器人。

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 } } ] } }

参数:preset、filters(JSON)、interval(15m、1h、4h、1d、1w)、universe(受套餐限制)、limit。每分钟最多 6 次扫描。 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. 数值简写: rsiMin, rsiMax, scoreMin, scoreMax, relVolumeMin, adxMin, adxMax, change24hMin, change24hMax, change7dMin, change7dMax, volumeMin.

交易机器人 Webhook

提醒、已保存筛选的新匹配和每日交易思路都可以 POST 到您自己的 https 地址。在 个人资料 → 通知 中选择消息格式。

  • JSON — 每条通知一个请求,含结构化字段(事件类型、代码、各交易所的 TradingView 代码、方向、价格、周期、提醒 id、入场/止损/目标),以及原有的 subject/text/url 字段。
  • 3Commas — 每个信号一个请求,采用 3Commas 信号机器人格式;把机器人的 secret 和 bot_uuid 粘贴到模板中。
  • Cornix — 每个事件一条 Cornix 风格纯文本信号(交易对、交易所、方向、入场、止盈、止损)。
  • Custom — 使用双花括号占位符的自定义模板;也支持 TradingView 风格的名称,如 ticker、exchange、close、interval。
{ "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", … } ] }

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"
}

占位符: {{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}}

仅当您为机器人交易开启了某个信号时,action 占位符才为 enter_long / enter_short:提醒的机器人选项(做多、做空或跟随交易计划方向)、已保存筛选器的“发送给机器人”(仅限已收盘 K 线确认的交易计划),或每日观点开关。价格穿越本身绝不代表方向。其他内容仅供参考,永远不会发送到 3Commas 或 Cornix。每个信号带有 signal_id 和原始时间戳;绝不重发,绝不延迟超过 5 分钟发送,且每 24 小时最多发送您的每日机器人上限(≤ 10)。

括号提醒:价格触及入场位时发送 enter_long / enter_short,并附带该括号的止损和目标;止损(或移动后的止损)和最后一个目标发送 exit_long / exit_short——仅发给收到过我们入场信号的机器人。Cornix 收到带止损和目标的入场信号后自行平仓。没有经过验证的交易所市场的币、发给 3Commas / Cornix 的股票、现货市场上的做空,或与信号自身价位相矛盾的方向,都不会作为交易发送。

每个请求都带签名:X-GCS-Signature: sha256=HMAC(正文, 您的密钥)。机器人格式每条通知最多发送 10 个信号。

公告 Webhook(Radar 及以上)

符合你公告设置的每条上币、下架或警示公告,会在雷达捕获时以 JSON(event "announcement")POST 发送——仅限 JSON 格式。每次尝试有 8 秒期限,不跟随重定向:请尽快返回 2xx。失败的尝试会以逐步增加至 30 分钟的间隔重试,约 2 小时内最多 9 次,因此投递可能迟到。请按 eventId 去重(即 X-Getcoinsight-Delivery 头;attempt 和 X-Getcoinsight-Attempt 为尝试次数),并按 announcement.detectedAt 或 firstAttemptAt 判断时效——timestamp 是该次尝试的发送时间。遗漏的可通过 /api/v1/announcements?since=… 补齐。连续 20 次投递失败后,Webhook 会被关闭,铃铛中会收到通知。

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" } }

在 个人资料 → 通知 中设置 Webhook →