Data API
Crypto signals, prices, and news behind one key.
A stable REST surface with documented rate limits, quotas, and error shapes. Read the full reference, then request a free key.
What you get
Endpoints
GET/api/signals
Latest daily BUY/HOLD/RISK signals. Query: action, min_confidence.
GET/api/signals/history
History for one coin. Query: coin_id (required), days (default 30).
GET/api/market
Latest market snapshots. Query: symbol?.
GET/api/onchain
Latest on-chain snapshots. Query: symbol?.
GET/api/prices
Tracked + meme-mover prices. Query: limit?, category?.
GET/api/news
Published news list. Query: category?, limit?.
Tiers & limits
Rate limits and quotas
| Tier | Req/min | Req/day | Monthly quota | Notes |
|---|---|---|---|---|
| Free/Beta | 60 | 10,000 | 300,000 | Default on approval; no card |
| Startup | 100 | 50,000 | 1,000,000 | Paid |
| Growth | 500 | 200,000 | 5,000,000 | Paid; webhooks later |
| Enterprise | 2,000 | 1,000,000 | Unlimited (0) | Contract |
Every authenticated response includes X-RateLimit-* and X-Quota-* headers.
Quickstart
Copy, paste, ship
cURL
curl -s "https://mycryptosignal.mycryptosignal.workers.dev/api/signals" \
-H "X-API-Key: mcs_your_key_here" JavaScript
const res = await fetch('https://mycryptosignal.mycryptosignal.workers.dev/api/signals', {
headers: { 'X-API-Key': process.env.MCS_API_KEY }
});
const { signals } = await res.json(); Python
import os, requests
r = requests.get(
"https://mycryptosignal.mycryptosignal.workers.dev/api/signals",
headers={"X-API-Key": os.environ["MCS_API_KEY"]},
timeout=10,
)
signals = r.json()["signals"]