Integrate CoinSignal with API
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.
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
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
.
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 justificationjustification_short
(string): Concise justificationtimestamp
(string): UTC timestampsignal_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 articlesoffset
(integer, optional, default:0
): For paginationtag
(string, optional): Comma-separated list (e.g.,hot,rising
), filters news by tagticker
(string, optional): Comma-separated list of tickers (e.g.,BTC,ETH
)from
(string, optional): ISO date/time, only news after this dateto
(string, optional): ISO date/time, only news before this datesort
(string, optional, default:desc
): 'asc' or 'desc' by published datefields
(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 returnedlimit
(integer): The limit usedoffset
(integer): The offset usednews
(array): List of articles (see fields below)
Article fields:
published_at
(string): ISO date/timetitle
(string): Article titledetail_summary
(string): Short article summarysource
(string): Source nameexternal_article_url
(string): Source URLtags
(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 summarytimestamp
(string): UTC timestamp of summary
If no summary is available, you'll get: {'status':'not_found', ...}