Integrate CoinSignal with API

Introduction

Welcome to the CoinSignal API documentation. This API lets you access the latest trading signals and a fully-featured crypto news feed, as well as concise AI-powered market sentiment summaries.

Endpoints are authenticated and rate-limited. Sign up to get your API key and manage your usage.

Authentication

All endpoints require an API key.
Generate and manage your API keys from your .

Add your API key to every request using the X-API-KEY HTTP header.

Example Header:

X-API-KEY: YOUR_API_KEY_HERE
Rate Limits

API access is subject to rate limits to ensure fair usage:

  • 60 requests per minute
  • 600 requests per hour

Limits apply per API key (or IP if no key).
Exceeding the rate limit returns 429 Too Many Requests.

Endpoints

GET /signal

Get the latest trading signal and justification for a cryptocurrency.

Parameters:

  • currency (string, optional, default: BTC): Cryptocurrency ticker (e.g., BTC, ETH).

Example Request:

curl -X GET \
  'https://api.coinsignal.app/signal?currency=ETH' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Example Response:

{
  "status": "success",
  "signal": "BUY",
  "justification": "**RSI is showing potential undervaluation.** EMA 21/34/144 indicate upward trend, while 500 EMA acts as long-term support...",
  "justification_short": "Market shows BUY potential due to RSI undervaluation and bullish EMA cross.",
  "timestamp": "2024-06-11 09:31:55",
  "signal_strength": 4
}

Response Fields:

  • status (string): 'success' or 'error'
  • signal (string): Trading signal ('BUY', 'HOLD', 'SELL')
  • justification (string): Full justification
  • justification_short (string): Concise justification
  • timestamp (string): UTC timestamp
  • signal_strength (integer): Out of last 5 signals, how many match the current signal (1-5)

Error responses: {'status':'error', 'message':'...'}

GET /news

Paginated crypto news feed with optional filters by tag, ticker, date, and more.

Parameters:

  • limit (integer, optional, default: 50, max: 100): Number of articles
  • offset (integer, optional, default: 0): For pagination
  • tag (string, optional): Comma-separated list (e.g., hot,rising), filters news by tag
  • ticker (string, optional): Comma-separated list of tickers (e.g., BTC,ETH)
  • from (string, optional): ISO date/time, only news after this date
  • to (string, optional): ISO date/time, only news before this date
  • sort (string, optional, default: desc): 'asc' or 'desc' by published date
  • fields (string, optional): Comma-separated, e.g., title,source

Example Request:

curl -X GET \
  'https://api.coinsignal.app/news?limit=10&offset=0&tag=hot,rising&ticker=BTC' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Example Response:

{
  "status": "success",
  "count": 2,
  "limit": 10,
  "offset": 0,
  "news": [
    {
      "published_at": "2024-06-11T09:00:00Z",
      "title": "Bitcoin price surges above $70K",
      "detail_summary": "BTC rallies as ETF flows hit record highs...",
      "source": "CoinTelegraph",
      "external_article_url": "https://...",
      "tags": ["hot"],
      "tickers": ["BTC"]
    },
    {
      "published_at": "2024-06-10T19:20:00Z",
      "title": "SEC delays Ethereum ETF decision",
      "detail_summary": "ETH price wobbles after SEC delays...",
      "source": "Decrypt",
      "external_article_url": "https://...",
      "tags": ["rising"],
      "tickers": ["ETH"]
    }
  ]
}

Response Fields:

  • status (string): 'success'
  • count (integer): Number of news items returned
  • limit (integer): The limit used
  • offset (integer): The offset used
  • news (array): List of articles (see fields below)

Article fields:

  • published_at (string): ISO date/time
  • title (string): Article title
  • detail_summary (string): Short article summary
  • source (string): Source name
  • external_article_url (string): Source URL
  • tags (array): Tag labels, e.g., ['hot', 'rising']
  • tickers (array): Ticker symbols, e.g., ['BTC', 'ETH']

Empty response: 404 Not Found.
Error: {'status':'error', 'message':'...'}

GET /news/summary

AI-powered market sentiment summary (auto-generated hourly, from latest news).

Parameters:

None.

Example Request:

curl -X GET \
  'https://api.coinsignal.app/news/summary' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Example Response:

{
  "status": "success",
  "summary": "Crypto market sentiment is cautiously bullish. Positive news around institutional adoption and ETF progress is driving momentum, though regulatory uncertainties remain a concern.",
  "timestamp": "2024-06-11T09:00:00Z"
}

Response Fields:

  • status (string): 'success', 'not_found', or 'error'
  • summary (string): The market sentiment summary
  • timestamp (string): UTC timestamp of summary

If no summary is available, you'll get: {'status':'not_found', ...}