Build
The same numbers as the site, for your own tools.
Every endpoint below except desk.php needs an API key. Pass it as a Bearer header (preferred) or ?api_key=. The quota follows your plan; past it, you get HTTP 429 until midnight.
01
GET /api/v1/scores.php
Ranked tape scores across tracked symbols, strongest first.
| Param | Type | |
|---|---|---|
| limit | int | 1–200, default 50 |
| api_key | string | If not sent as a header |
Quotas
| Plan | Calls / day |
|---|---|
| Board | 500 |
| Reader | 5,000 |
| Pro | 50,000 |
| Desk | 500,000 |
Errors
| 400 | symbol required (quote.php) |
| 401 | missing, invalid or revoked key |
| 429 | daily quota reached · resets at midnight, server time |
429 body
{
"ok": false,
"error": "daily quota reached",
"used": 5000,
"limit": 5000,
"plan": "reader",
"resets_at": "2026-10-01T00:00:00Z",
"upgrade": "/pricing#api"
}
curl -H "Authorization: Bearer $FD_KEY" \
"https://ricktorious.com/api/v1/scores.php?limit=2"
import os, requests
r = requests.get("https://ricktorious.com/api/v1/scores.php?limit=2",
headers={"Authorization": f"Bearer {os.environ['FD_KEY']}"})
print(r.json())
const r = await fetch("https://ricktorious.com/api/v1/scores.php?limit=2",
{ headers: { Authorization: `Bearer ${FD_KEY}` } });
console.log(await r.json());
200 OK · response (trimmed) live rows · 23:18 BST
{
"ok": true,
"count": 2,
"scores": [
{
"symbol": "MNY",
"composite": 100,
"stable_composite": 70.15,
"confidence": 42,
"quality": 34,
"spot": 0.7226,
"label": "Bullish",
"sector": "Media",
"fetched_at": "2026-09-30 23:17:37"
},
{
"symbol": "SKYA",
"composite": 99.93,
"stable_composite": 52.66,
"confidence": 41,
"quality": 33,
"spot": 1.9,
"label": "Bullish",
"sector": "Health Care",
"fetched_at": "2026-09-30 23:13:36"
}
]
}
Sign in to create a key. Sign in
Samples are live rows in each endpoint’s real shape; fundamentals, money flow and links are trimmed. Plans are at Plans. Was /api-docs.