API Documentation
Base URL
https://tipskickapi.shop/api/v1
Authentication
All endpoints except signup and login require a Bearer token in the Authorization header.
Authorization: Bearer {your_api_token}
Get a Token
Sign up at /portal/signup or call:
POST /api/v1/signup
{
"name": "Your Business",
"email": "you@example.com",
"password": "yourpassword",
"api_sports_key": "your-api-sports-key",
"plan": "starter"
}
POST /api/v1/login
{
"email": "you@example.com",
"password": "yourpassword"
}
Predictions
Prediction Engines
TipsKick runs 6 prediction engines per fixture. Each response includes an algorithm field identifying which engine generated the prediction. Your plan determines which algorithms you can access.
| Algorithm | Key | Price | Plan Access |
|---|---|---|---|
| Linear Regression | linear_regression | $30/mo | Pro+ |
| Bayesian | bayesian | $50/mo | Pro+ |
| Logistic Regression | logistic_regression | $80/mo | Enterprise+ |
| Monte Carlo | monte_carlo | $120/mo | Enterprise+ |
| Ensemble | ensemble | $200/mo | Enterprise+ |
Enable/disable algorithms from your dashboard.
List Predictions
GET /api/v1/predictions/{sport}?algorithms=bayesian,ensemble&date=2026-06-01&league=12&category=Home%20Win&page=1
| Param | Type | Default | Description |
|---|---|---|---|
sport | path | — | basketball or football |
algorithms | query | all enabled | Comma-separated engine keys. Omit for all your enabled engines. |
date | query | today | Y-m-d |
league | query | all | League ID filter |
category | query | all | Prediction category |
page | query | 1 | Pagination |
Response includes algorithms array listing which engines were included.
Single Prediction
GET /api/v1/predictions/{sport}/{fixtureId}
All prediction categories for a single fixture. Each prediction has an algorithm field.
Analyze (On-Demand)
POST /api/v1/predictions/analyze
{
"sport": "basketball",
"fixture_id": 12345,
"algorithm": "ensemble"
}
Optional algorithm field selects which engine to use. Defaults to your primary (first enabled) engine.
Matches
GET /api/v1/matches/{sport}?date=2026-06-01&league=12
GET /api/v1/matches/{sport}/{fixtureId}
Raw API-Sports match data with scores and status.
Odds
GET /api/v1/odds/{sport}/{fixtureId}?bookmaker=3
Raw bookmaker odds for a specific fixture.
Live
GET /api/v1/live/{sport}
All currently live/in-play games with scores and elapsed time.
Leagues
GET /api/v1/leagues/{sport}
GET /api/v1/leagues/{sport}/{leagueId}?season=2025
Popular leagues list + standings for a specific league.
Account
GET /api/v1/account
PUT /api/v1/account/api-key
{
"api_sports_key": "new-key"
}
GET /api/v1/account/usage
Error Codes
| HTTP | Code | Meaning |
|---|---|---|
| 401 | UNAUTHENTICATED | Invalid or missing API token |
| 402 | API_KEY_EXPIRED | API-Sports key expired |
| 402 | API_KEY_INVALID | API-Sports key invalid |
| 429 | RATE_LIMIT_EXCEEDED | Plan limit hit |
| 500 | PREDICTION_ENGINE_ERROR | Internal engine error |
Rate Limits
| Tier | 1mo | 3mo | 6mo | 12mo | Daily Limit |
|---|---|---|---|---|---|
| Starter | $49 | $147 | $294 | $588 | 1,000 |
| Pro | $149 | $447 | $894 | $1,788 | 10,000 |
| Enterprise | $499 | $1,497 | $2,994 | $5,988 | -1 |
Longer durations save more — discounts applied automatically.
Every response includes rate limit headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1717200000