API Documentation
Build your own trading bots with real-time signals from The Signal Engine. REST API, WebSocket feeds, and webhook notifications.
Overview
The Signal Engine API provides programmatic access to our trading signals, technical indicators, and market data. Use it to build custom trading bots, integrate signals into your existing systems, or create your own dashboards.
Base URL
https://api.thesignalengine.app/v1
Response Format
All responses are returned as JSON with the following structure:
{
"success": true,
"data": { ... },
"timestamp": "2025-12-07T09:30:00Z"
}
API Access
Full API access with REST, WebSocket, and Webhooks
Coming SoonAuthentication
All API requests require authentication using an API key. Include your key in the request header:
# Include in request headers
X-API-Key: your_api_key_here
Getting Your API Key
After subscribing to the API plan, you'll receive your API key via Discord DM. Keep it secure and never share it publicly.
# Example curl request
curl -H "X-API-Key: sk_live_abc123..." \
https://api.thesignalengine.app/v1/signals
Rate Limits
Rate Limiting
REST API: 60 requests per minute
WebSocket: Unlimited (push-based)
Webhooks: 1 per signal (no duplicates)
Rate limit headers are included in every response:
| Header | Description |
|---|---|
X-RateLimit-Limit |
Maximum requests per window |
X-RateLimit-Remaining |
Requests remaining in current window |
X-RateLimit-Reset |
Unix timestamp when window resets |
Endpoints
Returns all active and recent signals from the last 48 hours.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
status optional |
string | Filter by status: active, closed, all |
min_score optional |
integer | Minimum signal score (0-100). Default: 60 |
limit optional |
integer | Max results to return. Default: 50, Max: 100 |
Response
{
"success": true,
"data": {
"activeSignals": [
{
"id": "sig_abc123",
"symbol": "FARTCOIN",
"address": "9BB6NFEcjBCtnNLF...",
"score": 77,
"entryPrice": 0.3968,
"currentPrice": 0.4125,
"takeProfit": 0.4563,
"stopLoss": 0.3770,
"pnlPercent": 3.96,
"status": "ACTIVE",
"timestamp": "2025-12-07T13:59:00Z",
"filters": {
"mtf": true,
"rsi": 52.3,
"momentum": 2.8,
"volume": 3.2,
"marketCap": 156000000,
"liquidity": 2400000
}
}
],
"recentSignals": [...],
"stats": {
"signalsToday": 3,
"winRate": 50,
"avgGain": 2.3
}
},
"timestamp": "2025-12-07T09:30:00Z"
}
Returns detailed information about a specific signal, including full price history.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id required |
string | Signal ID (e.g., sig_abc123) |
Returns all tracked tokens with their current scores and technical indicators.
Response Fields
| Field | Type | Description |
|---|---|---|
symbol |
string | Token symbol (e.g., "PUMP") |
address |
string | Solana contract address |
score |
integer | Composite score (0-100) |
priceUsd |
float | Current price in USD |
priceChange1h |
float | 1-hour price change (%) |
rsi |
float | RSI indicator (0-100) |
ema_separation |
float | EMA 20/50 separation (%) |
volume_ratio |
float | Volume vs average (multiplier) |
Returns the current Bitcoin market regime and recommended trading action.
Response
{
"success": true,
"data": {
"status": "BULL",
"action": "Full Trading",
"btcPrice": 99850,
"btcMa200": 67500,
"btcDominance": 54.2,
"description": "BTC above MA200, all systems go"
}
}
Regime Values
| Status | Action | Description |
|---|---|---|
BULL |
Full Trading | All signals active, optimal conditions |
BULL_WEAKENING |
Normal | Still bullish but showing weakness |
NEUTRAL |
Reduced | Mixed signals, reduced position sizes |
BEAR |
Paused | No new trades, wait for recovery |
WebSocket
For real-time signal updates, connect to our WebSocket feed. Messages are pushed instantly when new signals are generated or existing signals update.
Connection
wss://api.thesignalengine.app/ws?api_key=your_api_key
Message Types
// New signal { "type": "NEW_SIGNAL", "data": { /* signal object */ } } // Signal update (price change, status change) { "type": "SIGNAL_UPDATE", "data": { /* updated signal */ } } // Signal closed (TP/SL hit) { "type": "SIGNAL_CLOSED", "data": { "id": "sig_abc123", "exitReason": "TAKE_PROFIT", "pnlPercent": 15.2 } } // Regime change { "type": "REGIME_CHANGE", "data": { /* regime object */ } }
Webhooks
Configure a webhook URL in your account settings to receive HTTP POST requests when new signals are generated.
Payload
// POST to your webhook URL { "event": "NEW_SIGNAL", "timestamp": "2025-12-07T14:17:30Z", "data": { "symbol": "FARTCOIN", "score": 77, "action": "BUY", "entryPrice": 0.3968, "takeProfit": 0.4563, "stopLoss": 0.3770, "address": "9BB6NFEcjBCtnNLF...", "filters": { ... } } }
Webhook Events
| Event | Description |
|---|---|
NEW_SIGNAL |
New trading signal generated |
SIGNAL_CLOSED |
Signal hit TP, SL, or timed out |
REGIME_CHANGE |
Bitcoin regime status changed |