API Documentation

Complete reference for the MyCryptoSignal API

Version 1.0 REST API JSON

Overview

MyCryptoSignal provides free AI-powered cryptocurrency trading signals. The API is free forever with attribution required. Rate limited. No guarantees on availability or timing.

What You Get

  • BUY/HOLD/RISK signals via REST API
  • Free forever (attribution required)
  • Rate limited for fair usage
  • JSON responses

No Guarantees:

  • Signal availability, timing, or frequency not guaranteed
  • API may be throttled or temporarily unavailable
  • No SLA or uptime commitments
  • Not financial advice - informational only
Base URL
https://mycryptosignal.axiopistis-systems.workers.dev

Authentication

All API requests (except /api/health) require an API key in the X-API-Key header:

Example Request
curl -H "X-API-Key: mcs_your_api_key_here" \
  https://mycryptosignal.axiopistis-systems.workers.dev/api/signals
WarningSecurity Best Practices:
  • Never commit API keys to version control
  • Use environment variables for keys
  • Rotate keys periodically
  • Restrict keys to specific IP addresses (Enterprise only)

Rate Limits

Rate limits apply to all API keys. Limits may change without notice.

Current Limits (Subject to Change):

  • Requests per minute: Rate limited
  • Requests per day: Rate limited
  • Limits enforced to ensure fair usage
  • Violations may result in key suspension

Rate Limit Headers

Every response includes rate limit information:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1642684800
X-Quota-Limit: 300000
X-Quota-Remaining: 275432
X-Quota-Reset: 1643673600

Endpoints

GET /api/health No Auth

Check API availability

Response
{
  "status": "ok",
  "timestamp": 1642684800000
}
GET /api/coins Auth Required

Get the list of 60 tracked cryptocurrencies

Response
{
  "coins": [
    {
      "id": "bitcoin",
      "symbol": "BTC",
      "name": "Bitcoin",
      "chain": "Bitcoin"
    },
    ...
  ]
}
GET /api/market Auth Required

Get latest market snapshots for all coins (updated every 30 minutes)

Response
{
  "data": [
    {
      "coin_id": "bitcoin",
      "symbol": "BTC",
      "name": "Bitcoin",
      "price": 42500.50,
      "market_cap": 805000000000,
      "volume_24h": 32500000000,
      "price_change_24h": 2.5,
      "price_change_7d": -1.2,
      "price_change_30d": 8.7,
      "timestamp": 1642684800
    },
    ...
  ],
  "count": 60,
  "attribution": "Data provided by MyCryptoSignal"
}
GET /api/onchain Auth Required

Get latest on-chain metrics (updated every 30 minutes)

Response
{
  "data": [
    {
      "coin_id": "ethereum",
      "symbol": "ETH",
      "name": "Ethereum",
      "transaction_count": 1250000,
      "active_addresses": 450000,
      "gas_used": 12500000000000,
      "network_utilization": 0.75,
      "timestamp": 1642684800
    },
    ...
  ],
  "count": 60,
  "attribution": "Data provided by MyCryptoSignal"
}
GET /api/signals Auth Required

Get current trading signals for all coins (updated daily at 08:00 UTC)

Response
{
  "signals": [
    {
      "coin_id": "bitcoin",
      "symbol": "BTC",
      "name": "Bitcoin",
      "action": "BUY",
      "confidence": 78.5,
      "explanation": "Strong bullish momentum with increasing on-chain activity...",
      "signal_date": "2026-01-20",
      "timestamp": 1642665600
    },
    ...
  ],
  "count": 60,
  "attribution": "Data provided by MyCryptoSignal"
}
Signal Actions:
  • BUY - Bullish signal, consider buying
  • HOLD - Neutral, maintain current position
  • RISK - Bearish signal, consider selling/avoiding
GET /api/signals/history Auth Required

Get signal history for a specific coin (up to 365 days)

Query Parameters

  • coin_id (required) - Coin identifier (e.g., "bitcoin")
  • days (optional) - Number of days (default: 30, max: 365)
Example Request
curl -H "X-API-Key: YOUR_KEY" \
  "https://mycryptosignal.axiopistis-systems.workers.dev/api/signals/history?coin_id=bitcoin&days=30"
Response
{
  "coin_id": "bitcoin",
  "history": [
    {
      "coin_id": "bitcoin",
      "action": "BUY",
      "confidence": 78.5,
      "explanation": "Strong bullish momentum...",
      "signal_date": "2026-01-20",
      "timestamp": 1642665600
    },
    ...
  ],
  "count": 30,
  "attribution": "Data provided by MyCryptoSignal"
}

Code Examples

JavaScript / Node.js

Fetch API
const API_KEY = 'mcs_your_api_key_here';
const BASE_URL = 'https://mycryptosignal.axiopistis-systems.workers.dev';

async function getSignals() {
  const response = await fetch(`${BASE_URL}/api/signals`, {
    headers: {
      'X-API-Key': API_KEY
    }
  });
  
  if (!response.ok) {
    throw new Error(`API error: ${response.status}`);
  }
  
  const signals = await response.json();
  console.log('Signals:', signals);
  return signals;
}

getSignals();

Python

requests library
import requests

API_KEY = 'mcs_your_api_key_here'
BASE_URL = 'https://mycryptosignal.axiopistis-systems.workers.dev'

def get_signals():
    headers = {'X-API-Key': API_KEY}
    response = requests.get(f'{BASE_URL}/api/signals', headers=headers)
    response.raise_for_status()
    return response.json()

signals = get_signals()
print(f"Total signals: {len(signals)}")

cURL

Command Line
# Get current signals
curl -H "X-API-Key: mcs_your_api_key_here" \
  https://mycryptosignal.axiopistis-systems.workers.dev/api/signals

# Get history for Bitcoin
curl -H "X-API-Key: mcs_your_api_key_here" \
  "https://mycryptosignal.axiopistis-systems.workers.dev/api/signals/history?coin_id=bitcoin&days=7"

Error Handling

All errors return appropriate HTTP status codes and JSON error messages:

401 Unauthorized

Invalid or missing API key

{
  "error": "Invalid or missing API key"
}

429 Too Many Requests

Rate limit exceeded

{
  "error": "Rate limit exceeded: 60 requests per minute. Retry after 42s"
}

500 Internal Server Error

Server error (rare, contact support if persistent)

{
  "error": "Internal server error"
}

Best Practices

Caching Strategy

  • Coins: Cache for 24 hours (static data)
  • Market/On-Chain: Cache for 30 minutes (update frequency)
  • Signals: Cache for 23 hours (updates daily at 08:00 UTC)

Rate Limit Management

  • Monitor rate limit headers in responses
  • Implement exponential backoff for 429 errors
  • Batch requests when possible
  • Use webhooks when available (coming soon)

Legal Disclaimer

WarningIMPORTANT: MyCryptoSignal provides informational data only. Signals are NOT financial advice. Trading cryptocurrencies carries significant risk. Always do your own research and consult with qualified financial advisors before making investment decisions. Past performance does not guarantee future results.

Ready to Get Started?

Join our Beta Partner Program for free API access

Get API Key