API для розробників
REST API для ринків, теханалізу й новин — ті самі дані, що живлять цей сайт. OpenAPI-спека (JSON)
Автентифікація
Кожен запит потребує API-ключа в заголовку Authorization.
curl -H "Authorization: Bearer gcs_YOUR_KEY" \ "https://getcoinsight.com/api/v1/markets?limit=10"
Створюйте та керуйте ключами у своєму профілі
Денні квоти
| Free | 100 запитів/день |
| Radar | 1 000 запитів/день |
| Pro | 10 000 запитів/день |
| Trader+ | 100 000 запитів/день |
Доступ до API є на кожному плані, зокрема Free. /analysis повертає свічки в реальному часі на кожному плані; /fundamental потребує плану з фундаментальним аналізом (Pro і вище). Усі ключі акаунта ділять одну добову квоту; ліміт сплеску — 60 запитів на хвилину.
Відповіді містять заголовки X-RateLimit-Limit і X-RateLimit-Remaining. Понад квоту → HTTP 429.
Ендпоінти
GET /api/v1/markets?limit=100Топ монет за капіталізацією: ціна, капіталізація, обсяг, зміна за 1 год/24 год/7 д.
GET /api/v1/candles?symbol=btc&id=bitcoin&interval=1h&limit=300Свічки OHLCV (від найстаршої, час бару в unix-секундах) — та сама серія, на якій рахується /analysis, у межах історії вашого тарифу.
GET /api/v1/analysis?symbol=btc&id=bitcoin&interval=1hТехнічний знімок: ціна, тренд, RSI/ADX/ATR, консенсус ТА, режим, композитний скор. Інтервали: 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, базис, відкритий інтерес та його зміна за 1г/4г/24г. Сортування: 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.
Для бота краще підходить вебхук анонсів нижче: його надсилаємо ми, з повторами. Опитування анонсів: передайте since=<addedAt у мс>, а в кожному наступному запиті — nextCursor попередньої відповіді як cursor. Рядки йдуть у порядку, в якому їх додав наш радар, тож пізно спійманий анонс не загубиться; дублікати відсікайте за id. Без since рядки йдуть від найновіших за публікацією — старіші гортайте через cursor, поки hasMore = true. Опитування без нових рядків не списує одиницю квоти раз на 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 (і movesFrom3mVsBtc — мінус рух BTC) починаються через 3 хвилини після публікації — це база статистики сайту; priceAtDetection з movesFromDetection — з моменту, коли наш радар спіймав анонс. Усі горизонти закінчуються в один час, horizonsEndAt (хвилина публікації + 1 год / 24 год / 7 д): «1 год» від +3 хв триває 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.
Вебхуки для торгових ботів
Алерти, нові збіги збережених скринів і щоденні ідеї можна надсилати POST-запитом на ваш https-URL. Формат тіла обирається в Профіль → Сповіщення.
- 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 ЛИШЕ для сигналів, які ви дозволили для торгівлі ботом: вибір «Бот» в алерті (лонг, шорт або за напрямом сетапу), «Надсилати боту» у збереженому скрині (лише підтверджені сетапи на закритому барі) або перемикач ідей дня. Перетин ціною рівня сам по собі ніколи не задає напрям. Усе інше — лише інформація, яка ніколи не потрапляє в 3Commas чи Cornix. Кожен сигнал має signal_id і свій початковий час; сигнал ніколи не надсилається повторно, не надсилається із запізненням понад 5 хвилин, і за 24 год іде не більше вашого денного ліміту (≤ 10).
Брекет-алерти: дотик до входу надсилає enter_long / enter_short зі стопом і цілями брекета; стоп (або підтягнутий стоп) та остання ціль надсилають exit_long / exit_short — лише боту, який отримав наш вхід. Cornix отримує вхід зі стопом і цілями й закриває угоду сам. Монета без перевіреного ринку на біржі, акція для 3Commas / Cornix, шорт на спотовому ринку чи напрямок, що суперечить рівням самого сигналу, ніколи не надсилаються як угода.
Кожен запит підписано: X-GCS-Signature: sha256=HMAC(тіло, ваш секрет). Формати для ботів надсилають не більше 10 сигналів на сповіщення.
Вебхук анонсів (Radar і вище)
Кожен анонс лістингу, делістингу чи попередження, що відповідає вашим налаштуванням анонсів, надсилається POST-запитом у JSON (event "announcement"), коли наш радар його спіймав, — лише формат JSON. Кожна спроба має дедлайн 8 секунд, за редиректами не переходимо: відповідайте 2xx швидко. Невдалу спробу повторюємо з паузою, що зростає до 30 хвилин, — до 9 спроб упродовж приблизно 2 годин, тож доставка може прийти із запізненням. Дублікати відсікайте за eventId (він же — заголовок X-Getcoinsight-Delivery; attempt і X-Getcoinsight-Attempt — номер спроби), а свіжість оцінюйте за announcement.detectedAt або firstAttemptAt — timestamp означає час відправлення саме цієї спроби. Пропущене добирайте з /api/v1/announcements?since=…. Після 20 невдалих доставок поспіль вебхук вимикається, а в дзвіночку з'являється повідомлення.
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" } }