API Developer
REST API untuk pasar, analisis teknikal, dan berita — data yang sama dengan situs ini. Spesifikasi OpenAPI (JSON)
Autentikasi
Setiap permintaan memerlukan kunci API di header Authorization.
curl -H "Authorization: Bearer gcs_YOUR_KEY" \ "https://getcoinsight.com/api/v1/markets?limit=10"
Buat dan kelola kunci di profil Anda
Kuota harian
| Free | 100 permintaan/hari |
| Radar | 1.000 permintaan/hari |
| Pro | 10.000 permintaan/hari |
| Trader+ | 100.000 permintaan/hari |
Setiap paket menyertakan akses API, termasuk Free. /analysis mengembalikan candle real-time di setiap paket; /fundamental memerlukan paket dengan analisis fundamental (Pro ke atas). Semua kunci dalam satu akun berbagi satu kuota harian, dengan batas lonjakan 60 permintaan per menit.
Respons menyertakan header X-RateLimit-Limit dan X-RateLimit-Remaining. Melebihi kuota → HTTP 429.
Endpoint
GET /api/v1/markets?limit=100Koin teratas berdasarkan kapitalisasi: harga, kapitalisasi, volume, perubahan 1j/24j/7h.
GET /api/v1/candles?symbol=btc&id=bitcoin&interval=1h&limit=300Candle OHLCV (terlama dulu, waktu bar dalam detik unix) — seri yang sama persis dengan yang dihitung /analysis, hingga jendela riwayat paket Anda.
GET /api/v1/analysis?symbol=btc&id=bitcoin&interval=1hSnapshot teknikal: harga, tren, RSI/ADX/ATR, konsensus TA, rezim, skor komposit. Interval: 1m–1M.
GET /api/v1/fundamental?assetId=bitcoinSkor Fundamental: persentil kelompok sebaya di 5 kategori + riwayat 90 hari; tanpa assetId — daftar skor terbaru. Memerlukan paket dengan analisis fundamental.
GET /api/v1/announcements?kind=listings&days=7Pengumuman listing / delisting / peringatan bursa (Binance, Bybit, OKX, Upbit, Bithumb) dengan harga saat publikasi, 3 menit kemudian, dan saat radar kami menangkapnya, serta pergerakan 1 jam / 24 jam / 7 hari. Kunci Free melihat baris 10 menit setelah deteksi dan hanya 30 hari terakhir; Radar+ tanpa jeda dan seluruh arsip sejak 2021.
GET /api/v1/news?limit=30Berita kripto teragregasi (CoinDesk, Cointelegraph, Decrypt, The Block, Bitcoin Magazine).
GET /api/v1/presetsPreset screener: id, nama, filter yang diterapkan masing-masing, sisi trade, dan filter mana yang akan dibuang oleh paket Anda.
GET /api/v1/funding?limit=100&sort=fundingAbsFunding perp (setara 8 jam, Binance/Bybit) dengan perbandingan Bybit/OKX/Hyperliquid, basis, open interest dan perubahannya 1j/4j/24j. Urutan: rank, funding, fundingAbs, oiUsd, oiChangePct.
GET /api/v1/screener?preset=oversold_reversal&interval=4hMenjalankan screen: preset dan/atau filter pada 15m–1w di cakupan paket Anda. Mengembalikan hasil yang cocok saat ini beserta skor, level setup, dan ticker TradingView.
Semua endpoint mengembalikan JSON: { "data": … } saat berhasil, { "error": "code" } jika tidak. CORS terbuka.
Setiap respons terautentikasi juga membawa X-RateLimit-Reset (detik unix reset berikutnya, 00:00 UTC). Respons 429 dan 502 membawa Retry-After dalam detik — tunggu selama itu; jangan pernah mengulang 4xx tanpa perubahan. Simbol tak dikenal → 404 unknown_symbol. Di dalam v1 field hanya ditambah, tidak pernah dihapus atau diubah tipenya.
Screener juga bisa menjawab 503 busy (semua slot pemindaian terpakai) atau 502 upstream_degraded (sebagian besar koin gagal dibaca) — keduanya membawa Retry-After dan tidak memotong kuota. Metode selain GET mendapat 405 dalam JSON.
Untuk bot, webhook pengumuman di bawah adalah sumber yang lebih baik: kami yang mengirim dan mengulang bila gagal. Polling pengumuman: kirim since=<addedAt dalam ms>, lalu di setiap panggilan berikutnya nextCursor dari respons sebelumnya sebagai cursor. Baris datang sesuai urutan radar kami menambahkannya, jadi pengumuman yang tertangkap terlambat tidak pernah terlewat; buang duplikat berdasarkan id. Tanpa since, baris diurutkan dari publikasi terbaru — telusuri yang lebih lama dengan cursor selama hasMore bernilai true. Polling yang tidak mengembalikan baris tidak memakai unit kuota sekali per 10 detik per akun (quotaCharged: false), jadi polling setiap 10 detik cocok untuk paket apa pun; respons berisi baris dihitung seperti biasa.
# 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"
Harga per ticker: priceAtAnnouncement dan move1hPct / move24hPct / move7dPct dihitung dari menit publikasi — dipertahankan demi kompatibilitas, bukan harga yang bisa ditransaksikan pada listing cepat. priceAt3m dengan movesFrom3m (dan movesFrom3mVsBtc, dikurangi pergerakan BTC) dimulai 3 menit setelah publikasi — dasar statistik situs; priceAtDetection dengan movesFromDetection dimulai saat radar kami menangkap pengumuman. Setiap horizon berakhir pada satu waktu, horizonsEndAt (menit publikasi + 1 jam / 24 jam / 7 hari): "1 jam" dari +3 menit berlangsung 57 menit, dan horizon yang tersisa kurang dari 75% saat kami menangkapnya tidak punya pergerakan dari deteksi. Tanpa biaya, slippage, atau funding.
Kolom untuk bot (API dan webhook): market (spot / perp / alpha / tradfi), quotes (pasar kuotasi yang disebut judul, mis. KRW, BTC, USDT — kosong bila tidak disebut), tradingStartsAt (hanya bila judul menyebut jam; selain itu null — isi pengumuman tidak diurai), detectedAt (kapan radar kami pertama melihatnya) dan tradable — kode pasar untuk trading: role notice = pasar yang dimaksud pengumuman (INITUSDT, KRW-INIT, INIT-USD), role reference = pasar Binance/Bybit sumber harga kami.
API screener
Jalankan preset screener mana pun atau filter Anda sendiri dari kode — mesin, cakupan, dan batas paket yang sama dengan situs. Setiap hasil membawa level setup dan ticker TradingView, siap untuk 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 } } ] } }Parameter: preset, filters (JSON), interval (15m, 1h, 4h, 1d, 1w), universe (dibatasi paket), limit. Maksimal 6 pemindaian per menit. 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. Singkatan numerik: rsiMin, rsiMax, scoreMin, scoreMax, relVolumeMin, adxMin, adxMax, change24hMin, change24hMax, change7dMin, change7dMax, volumeMin.
Webhook untuk bot trading
Peringatan, hasil baru dari screen tersimpan, dan ide harian dapat dikirim POST ke URL https Anda sendiri. Pilih format di Profil → Notifikasi.
- JSON — satu permintaan per notifikasi dengan kolom terstruktur (jenis peristiwa, simbol, ticker TradingView per bursa, arah, harga, timeframe, id peringatan, entry/stop/target) plus kolom asli subject/text/url.
- 3Commas — satu permintaan per sinyal dalam format bot sinyal 3Commas; tempelkan secret dan bot_uuid bot Anda ke templat.
- Cornix — satu sinyal teks gaya Cornix per peristiwa (pair, bursa, arah, entry, take-profit, stop).
- Custom — templat Anda sendiri dengan placeholder dalam kurung kurawal ganda; nama gaya TradingView seperti ticker, exchange, close, dan interval juga berfungsi.
{ "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", … } ] }Templat bot sinyal 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"
}Placeholder: {{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 bernilai enter_long / enter_short HANYA untuk sinyal yang Anda aktifkan untuk trading bot: pilihan Bot pada alert (long, short, atau ikuti arah setup), “Kirim ke bot” pada screen tersimpan (hanya setup terkonfirmasi pada bar tertutup), atau sakelar ide harian. Persilangan harga saja tidak pernah menentukan arah. Selebihnya hanya informasi dan tidak pernah sampai ke 3Commas atau Cornix. Setiap sinyal membawa signal_id dan stempel waktu aslinya; sinyal tidak pernah dikirim ulang, tidak pernah terlambat lebih dari 5 menit, dan paling banyak sebesar batas harian bot Anda (≤ 10) per 24 jam.
Alert bracket: menyentuh entry mengirim enter_long / enter_short dengan stop dan target bracket; stop (atau stop yang digeser) dan target terakhir mengirim exit_long / exit_short — hanya ke bot yang menerima entry kami. Cornix menerima entry beserta stop dan target lalu menutup sendiri. Koin tanpa pasar bursa terverifikasi, saham yang dikirim ke 3Commas / Cornix, short di pasar spot, atau arah yang bertentangan dengan level sinyal itu sendiri tidak pernah dikirim sebagai trade.
Setiap permintaan ditandatangani: X-GCS-Signature: sha256=HMAC(body, secret Anda). Format bot mengirim paling banyak 10 sinyal per notifikasi.
Webhook pengumuman (Radar ke atas)
Setiap pengumuman listing, delisting, atau peringatan yang cocok dengan pengaturan pengumuman Anda dikirim via POST sebagai JSON (event "announcement") saat radar kami menangkapnya — hanya format JSON. Setiap percobaan punya batas 8 detik dan redirect tidak diikuti: balas 2xx dengan cepat. Percobaan yang gagal diulang dengan jeda yang bertambah hingga 30 menit, hingga 9 percobaan selama sekitar 2 jam, jadi pengiriman bisa datang terlambat. Hapus duplikat dengan eventId (juga header X-Getcoinsight-Delivery; attempt dan X-Getcoinsight-Attempt menghitung percobaan) dan nilai kesegaran dengan announcement.detectedAt atau firstAttemptAt — timestamp adalah waktu kirim percobaan itu. Lengkapi yang terlewat dari /api/v1/announcements?since=…. Setelah 20 pengiriman gagal berturut-turut, webhook dimatikan dan Anda mendapat pemberitahuan di lonceng.
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" } }