Getting access
API access is a paid subscription, separate from the regular Premium membership: $30/month, billed the same way as Premium (Bank Transfer or Binance Pay). Purchase it from the pricing page — once your payment is approved, your key appears on your account page, where you can copy it or regenerate it at any time.
Authentication
Send your key on every request as an X-API-Key header. Requests without a valid, active key get a 401.
Endpoint
GET/api/v1/signals
Returns the 100 most recent signals, newest first — including premium signals, since the subscription itself is the paywall here.
Example request
curl https://valuebetlk.com/api/v1/signals \ -H "X-API-Key: vblk_your_api_key_here"
Example response
{
"data": [
{
"sport": "Football",
"match": "Real Madrid vs Real Sociedad",
"market": "Asian Handicap 1.5 — Real Sociedad",
"odds": 1.814,
"stake": 1,
"confidence": "Low",
"analysis": "Auto-posted: value analysis shows a 2.3% edge...",
"result": "Pending",
"created_at": "2026-07-15T19:00:34.414Z"
}
],
"count": 1
}| Field | Description |
|---|---|
| sport | Sport the match belongs to. |
| match | Home team vs away team. |
| market | The bet market/line, e.g. "Over 2.5 Goals". |
| odds | Decimal odds at posting time. |
| stake | Suggested stake in units (1 unit = 1% of bankroll). |
| confidence | "Low", "Medium", or "High". |
| analysis | Short public write-up of the edge. |
| result | "Pending", "Won", "Lost", or "Void". |
| created_at | ISO 8601 timestamp the signal was posted. |
Rate limits
100 requests per hour per API key. Going over returns a 429:
{ "error": "Rate limit exceeded (100 requests/hour). Try again later." }Errors
A missing, invalid, or expired key returns 401 with a JSON body explaining why:
{ "error": "Invalid API key." }Keys are tied to your API Access subscription — if yours expires, requests start returning 401 until you renew from /pricing.