API Documentation
Programmatic access to MoneyGlow signals, performance data, and system status.
API access requires an API tier subscription ($199/month).
Authentication
All API requests require authentication via API key. Generate keys in your dashboard settings.
bash
# Using Authorization header (recommended) curl -H "Authorization: Bearer mg_live_your_api_key_here" \ https://moneyglow.net/api/v1/signals # Using X-API-Key header curl -H "X-API-Key: mg_live_your_api_key_here" \ https://moneyglow.net/api/v1/signals
API keys start with mg_live_. Keep them secret. Revoke compromised keys immediately.
Rate Limits
Limit
1,000 req/hour
Window
Sliding 1 hour
Rate limit info is included in response headers:
http
X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 987 X-RateLimit-Reset: 1709251200
429 responses include a Retry-After header in seconds.
Endpoints
GET
/api/v1/signalsRetrieve AI-scored trading signals
| Parameter | Type | Default | Description |
|---|---|---|---|
| status | string | all | Filter by status: 'executed', 'pending', 'expired', or 'all' |
| limit | integer | 50 | Results per page (1-100) |
| offset | integer | 0 | Pagination offset |
| symbol | string | - | Filter by symbol (e.g. EURUSD, XAUUSD) |
| min_score | integer | 0 | Minimum combined AI score (0-100) |
| since | ISO 8601 | - | Only signals after this timestamp |
bash
curl -H "Authorization: Bearer mg_live_xxx" \ "https://moneyglow.net/api/v1/signals?status=executed&min_score=70&limit=10"
Response:
json
{
"data": [
{
"id": "abc123",
"symbol": "EURUSD",
"direction": "BUY",
"combined_score": 85,
"ai_score": 82,
"source_score": 88,
"confidence": 0.91,
"status": "executed",
"entry_price": 1.0850,
"stop_loss": 1.0800,
"take_profits": [1.0900, 1.0950],
"source_name": "FX Premium",
"signal_type": "entry",
"ai_reasoning": "Strong bullish momentum with RSI divergence...",
"received_at": "2026-03-11T14:30:00Z",
"executed_at": "2026-03-11T14:30:05Z"
}
],
"meta": {
"total": 142,
"limit": 10,
"offset": 0,
"has_more": true
}
}GET
/api/v1/performanceStrategy performance metrics, equity curve, and returns
| Parameter | Type | Default | Description |
|---|---|---|---|
| period | string | ALL | Time period: '1M', '3M', '6M', '1Y', 'ALL' |
| include | string | all | Comma-separated: 'equity_curve', 'monthly_returns', 'symbols' |
bash
curl -H "Authorization: Bearer mg_live_xxx" \ "https://moneyglow.net/api/v1/performance?period=3M&include=equity_curve,symbols"
Response:
json
{
"data": {
"metrics": {
"total_return": 2450.75,
"total_return_percent": 24.51,
"win_rate": 68.3,
"total_trades": 142,
"profit_factor": 2.15,
"sharpe_ratio": 1.82,
"sortino_ratio": 2.41,
"max_drawdown": -850.00,
"max_drawdown_percent": -8.50,
"calmar_ratio": 2.88,
"volatility": 12.3,
"avg_daily_pnl": 28.50,
"trading_days": 86
},
"equity_curve": [
{ "date": "2026-01-15", "equity": 10250, "pnl": 250, "drawdown_percent": 0 }
],
"symbol_performance": [
{ "symbol": "XAUUSD", "pnl": 1250.50, "trades": 45, "win_rate": 71.1 }
],
"live_status": { "open_positions": 3 }
}
}GET
/api/v1/statusSystem health and service status
bash
curl -H "Authorization: Bearer mg_live_xxx" \ "https://moneyglow.net/api/v1/status"
Response:
json
{
"data": {
"status": "operational",
"timestamp": "2026-03-11T15:00:00Z",
"services": [
{ "service": "signal_intelligence", "status": "operational" },
{ "service": "trade_execution", "status": "operational" },
{ "service": "position_management", "status": "operational" },
{ "service": "risk_management", "status": "operational" },
{ "service": "pnl_tracking", "status": "operational" }
],
"uptime": { "operational": 5, "total": 5 }
}
}Error Codes
| Status | Error Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Key is invalid, expired, or revoked |
| 429 | rate_limit_exceeded | Hourly rate limit exceeded |
| 502 | service_unavailable | Backend service temporarily down |
Quick Start
Example using Python:
python
import requests
API_KEY = "mg_live_your_key_here"
BASE = "https://moneyglow.net/api/v1"
headers = {"Authorization": f"Bearer {API_KEY}"}
# Get high-score signals
signals = requests.get(
f"{BASE}/signals",
headers=headers,
params={"min_score": 75, "status": "executed"}
).json()
for s in signals["data"]:
print(f"{s['direction']} {s['symbol']} - Score: {s['combined_score']}")Example using JavaScript/Node.js:
javascript
const API_KEY = 'mg_live_your_key_here';
const BASE = 'https://moneyglow.net/api/v1';
const res = await fetch(`${BASE}/signals?min_score=75`, {
headers: { Authorization: `Bearer ${API_KEY}` },
});
const { data, meta } = await res.json();
console.log(`${meta.total} signals found`);
data.forEach(s => {
console.log(`${s.direction} ${s.symbol} - Score: ${s.combined_score}`);
});Questions? Contact api@moneyglow.net