NAV
cURL JavaScript Python

Datacentre API Documentation

This documentation covers the Datacentre API for Soccerverse, which provides access to statistical data and analytics.

Introduction

The Soccerverse Datacentre API provides access to advanced analytics, historical data, and management tools beyond the core game features. This API is designed for data analysts, researchers, and third-party developers building companion applications for Soccerverse.

Base URL

All API requests should be sent to:

https://services.soccerverse.com/api

API Protocol

The Datacentre API uses a RESTful API design. Resources are accessed via standard HTTP methods:

Response Format

Example response format:

{
  "page": 1,
  "per_page": 20,
  "total": 500,
  "total_pages": 25,
  "items": [
    {
      "id": 1,
      "name": "Example",
      "value": 1000
  ]

The API returns data in JSON format. Most list endpoints return paginated results with the following structure:

Field Description
page Current page number
per_page Number of items per page
total Total number of items
total_pages Total number of pages
items Array of items for the current page

Error Handling

Example error response:

{
  "detail": {
    "msg": "Invalid request parameters",
    "type": "validation_error"

Error responses include a detail object with information about what went wrong:

Field Description
msg Human-readable error message
type Error type identifier

Common Status Codes

Status Code Description
200 OK - Request succeeded
400 Bad Request - Invalid request format or parameters
404 Not Found - Requested resource doesn't exist
422 Validation Error - Request validation failed
500 Server Error - Something went wrong on the server

Player Methods

This section covers endpoints for retrieving information about players, including their statistics, trading data, and attributes.

Methods Summary

Endpoint Description Method
/players Get a list of players with basic information and trading data GET
/players/detailed Get detailed player information including fitness, ratings, and contract details GET

Get Players

Request example:

curl -X GET "https://services.soccerverse.com/api/players"
const response = await fetch('https://services.soccerverse.com/api/players', {
  method: 'GET'
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/players"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 500,
  "total_pages": 25,
  "items": [
    {
      "player_id": 1,
      "last_price": 12500,
      "volume_1_day": 125,
      "volume_7_day": 850,
      "last_7days": [12000, 12100, 12300, 12400, 12500, 12500, 12500],
      "last_7days_price": [12000, 12100, 12300, 12400, 12500, 12500, 12500],
      "wages": 10000,
      "multi_position": 0,
      "positions": ["ST", "AMR"],
      "rating": 85,
      "country_id": "ENG",
      "dob": 946684800,
      "value": 20000000,
      "club_id": 101,
      "agent_name": "Agent Smith",
      "age": 25,
      "profile_pic": "https://soccerverse.com/images/players/1.jpg"
  ]

Returns a paginated list of players with basic information and trading data.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No player_id
sort_order string Sort order: 'asc' or 'desc' No asc
age_min integer Minimum age for players No -
age_max integer Maximum age for players No -
age integer Exact age for players No -
player_id array Filter by specific player ID(s) No -
wages_min integer Minimum wages No -
wages_max integer Maximum wages No -
rating_min integer Minimum rating No -
rating_max integer Maximum rating No -
value_min integer Minimum value No -
value_max integer Maximum value No -
country_id string Country ID to filter players No -
owned string Filter players owned by the given name No -
positions string Comma-separated list of positions to filter players No -
club_id integer Filter by specific club ID No -
allow_transfer integer Filter by allow_transfer value No -
allow_renew integer Filter by allow_renew value No -

Response Fields

Field Type Description
player_id integer Unique identifier for the player
last_price integer Last trading price of the player
volume_1_day integer Trading volume in the last day
volume_7_day integer Trading volume in the last 7 days
last_7days array Array of trading volumes for the last 7 days
last_7days_price array Array of prices for the last 7 days
wages integer Player's wages
multi_position integer Flag indicating if player can play multiple positions
positions array Array of position codes the player can play
rating integer Overall player rating
country_id string Country code of the player's nationality
dob integer Unix timestamp of player's date of birth
value integer Market value of the player
club_id integer ID of the player's current club
agent_name string Name of the player's agent
age integer Player's age
profile_pic string URL to player's profile picture

Get Detailed Players

Request example:

curl -X GET "https://services.soccerverse.com/api/players/detailed"
const response = await fetch('https://services.soccerverse.com/api/players/detailed', {
  method: 'GET'
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/players/detailed"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 500,
  "total_pages": 25,
  "items": [
    {
      "player_id": 1,
      "fitness": 95,
      "retired": 0,
      "morale": 90,
      "injured": 0,
      "injury_id": 0,
      "wages": 10000,
      "contract": 3,
      "form": "WWDLW",
      "position": 1,
      "multi_position": 0,
      "positions": ["ST", "AMR"],
      "rating": 85,
      "rating_gk": 10,
      "rating_tackling": 75,
      "rating_passing": 82,
      "rating_shooting": 88,
      "rating_stamina": 80,
      "rating_aggression": 75,
      "banned": 0,
      "cup_tied": 0,
      "yellow_cards": 2,
      "red_cards": 0,
      "dob": 946684800,
      "side": "R",
      "value": 20000000,
      "country_id": "ENG",
      "club_id": 101,
      "agent_name": "Agent Smith",
      "desired_contract": 4,
      "allow_transfer": 1,
      "allow_renew": 1,
      "age": 25,
      "last_price": 12500,
      "volume_1_day": 125,
      "volume_7_day": 850,
      "last_7days": [12000, 12100, 12300, 12400, 12500, 12500, 12500],
      "last_7days_price": [12000, 12100, 12300, 12400, 12500, 12500, 12500],
      "profile_pic": "https://soccerverse.com/images/players/1.jpg"
  ]

Provides a paginated list of players with additional fields such as fitness, injuries, contract details, rating breakdowns, and more comprehensive stats.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No player_id
sort_order string Sort order: 'asc' or 'desc' No asc
age_min integer Minimum age for players No -
age_max integer Maximum age for players No -
age integer Exact age for players No -
player_id array Filter by specific player ID(s) No -
wages_min integer Minimum wages No -
wages_max integer Maximum wages No -
contract_min integer Minimum contract No -
contract_max integer Maximum contract No -
rating_min integer Minimum rating No -
rating_max integer Maximum rating No -
rating_gk_min integer Minimum goalkeeper rating No -
rating_gk_max integer Maximum goalkeeper rating No -
rating_tackling_min integer Minimum tackling rating No -
rating_tackling_max integer Maximum tackling rating No -
rating_passing_min integer Minimum passing rating No -
rating_passing_max integer Maximum passing rating No -
rating_shooting_min integer Minimum shooting rating No -
rating_shooting_max integer Maximum shooting rating No -
rating_aggression_min integer Minimum aggression rating No -
rating_aggression_max integer Maximum aggression rating No -
rating_stamina_min integer Minimum stamina rating No -
rating_stamina_max integer Maximum stamina rating No -
value_min integer Minimum value No -
value_max integer Maximum value No -
desired_contract_min integer Minimum desired contract No -
desired_contract_max integer Maximum desired contract No -
country_id string Country ID to filter players No -
owned string Filter players owned by the given name No -
positions string Comma-separated list of positions to filter players No -
club_id integer Filter by specific club ID No -
allow_transfer integer Filter by allow_transfer value No -
allow_renew integer Filter by allow_renew value No -
fitness integer Filter by fitness No -
retired integer Filter by retired No -
morale integer Filter by morale No -
injured integer Filter by injured No -
injury_id integer Filter by injury_id No -
position integer Filter by position No -
multi_position integer Filter by multi_position No -
ability_gk integer Filter by goalkeeper ability No -
ability_tackling integer Filter by tackling ability No -
ability_passing integer Filter by passing ability No -
ability_shooting integer Filter by shooting ability No -
ability_aggression integer Filter by aggression No -
ability_stamina integer Filter by stamina No -

Response Fields

Field Type Description
player_id integer Unique identifier for the player
fitness integer Player's current fitness level (0-100)
retired integer Whether the player is retired (0/1)
morale integer Player's morale level (0-100)
injured integer Whether the player is injured (0/1)
injury_id integer ID of the player's injury (if any)
wages integer Player's wages
contract integer Remaining contract length in seasons
form string Recent form string (e.g., "WWDLW")
position integer Player's primary position ID
multi_position integer Flag indicating if player can play multiple positions
positions array Array of position codes the player can play
rating integer Overall player rating
rating_gk integer Goalkeeper rating
rating_tackling integer Tackling rating
rating_passing integer Passing rating
rating_shooting integer Shooting rating
rating_stamina integer Stamina rating
rating_aggression integer Aggression rating
banned integer Whether the player is banned (0/1)
cup_tied integer Whether the player is cup-tied (0/1)
yellow_cards integer Number of yellow cards
red_cards integer Number of red cards
dob integer Unix timestamp of player's date of birth
side string Preferred foot ("L" or "R")
value integer Market value of the player
country_id string Country code of the player's nationality
club_id integer ID of the player's current club
agent_name string Name of the player's agent
desired_contract integer Player's desired contract length
allow_transfer integer Whether the player allows transfer (0/1)
allow_renew integer Whether the player allows contract renewal (0/1)
age integer Player's age
last_price integer Last trading price of the player
volume_1_day integer Trading volume in the last day
volume_7_day integer Trading volume in the last 7 days
last_7days array Array of trading volumes for the last 7 days
last_7days_price array Array of prices for the last 7 days
profile_pic string URL to player's profile picture

Club Methods

This section covers endpoints for retrieving information about clubs, including their details, finances, and performance metrics.

Methods Summary

Endpoint Description Method
/clubs Get a list of clubs with basic information GET
/clubs/detailed Get detailed club information including finances and performance GET
/club_balance_sheet/weeks Get weekly balance sheets for clubs GET

Get Clubs

Request example:

curl -X GET "https://services.soccerverse.com/api/clubs"
const response = await fetch('https://services.soccerverse.com/api/clubs', {
  method: 'GET'
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/clubs"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 120,
  "total_pages": 6,
  "items": [
    {
      "club_id": 1,
      "name": "Arsenal",
      "short_name": "ARS",
      "country_id": "ENG",
      "league_id": 1,
      "manager_name": "Football Fan",
      "balance": 50000000,
      "facilities_training": 8,
      "facilities_youth": 9,
      "facilities_stadium": 10,
      "reputation": 85,
      "last_price": 25000000,
      "volume_1_day": 2500000,
      "volume_7_day": 15000000,
      "last_7days": [23000000, 24000000, 24500000, 25000000, 25000000, 25000000, 25000000],
      "last_7days_price": [23000000, 24000000, 24500000, 25000000, 25000000, 25000000, 25000000],
      "profile_pic": "https://soccerverse.com/images/clubs/1.jpg",
      "badge_pic": "https://soccerverse.com/images/badges/1.png"
  ]

Returns a paginated list of clubs with basic information.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No club_id
sort_order string Sort order: 'asc' or 'desc' No asc
club_id array Filter by specific club ID(s) No -
league_id integer Filter by league ID No -
country_id string Filter by country ID No -
manager_name string Filter by manager name No -
balance_min integer Minimum balance No -
balance_max integer Maximum balance No -
reputation_min integer Minimum reputation No -
reputation_max integer Maximum reputation No -

Response Fields

Field Type Description
club_id integer Unique identifier for the club
name string Full name of the club
short_name string Short code/abbreviation for the club (3 letters)
country_id string Country code of the club
league_id integer League ID the club belongs to
manager_name string Name of the club's manager
balance integer Current club balance/funds
facilities_training integer Training facilities level (1-10)
facilities_youth integer Youth facilities level (1-10)
facilities_stadium integer Stadium facilities level (1-10)
reputation integer Club reputation (1-100)
last_price integer Last trading price of the club shares
volume_1_day integer Trading volume in the last day
volume_7_day integer Trading volume in the last 7 days
last_7days array Array of trading volumes for the last 7 days
last_7days_price array Array of prices for the last 7 days
profile_pic string URL to club's profile picture
badge_pic string URL to club's badge/logo

Get Detailed Clubs

Request example:

curl -X GET "https://services.soccerverse.com/api/clubs/detailed" \
const response = await fetch('https://services.soccerverse.com/api/clubs/detailed', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/clubs/detailed"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 120,
  "total_pages": 6,
  "items": [
    {
      "club_id": 1,
      "name": "Arsenal",
      "short_name": "ARS",
      "country_id": "ENG",
      "league_id": 1,
      "manager_name": "Football Fan",
      "balance": 50000000,
      "facilities_training": 8,
      "facilities_youth": 9,
      "facilities_stadium": 10,
      "reputation": 85,
      "last_price": 25000000,
      "volume_1_day": 2500000,
      "volume_7_day": 15000000,
      "last_7days": [23000000, 24000000, 24500000, 25000000, 25000000, 25000000, 25000000],
      "last_7days_price": [23000000, 24000000, 24500000, 25000000, 25000000, 25000000, 25000000],
      "profile_pic": "https://soccerverse.com/images/clubs/1.jpg",
      "badge_pic": "https://soccerverse.com/images/badges/1.png",
      "stadium_name": "Emirates Stadium",
      "stadium_capacity": 60704,
      "jersey_color_home": "#EF0107",
      "jersey_color_away": "#FFFFFF",
      "jersey_color_third": "#2C2E35",
      "ticket_price": 45,
      "average_attendance": 58500,
      "wage_budget": 4000000,
      "transfer_budget": 75000000,
      "sponsor_income": 3500000,
      "merchandise_income": 2800000,
      "tv_income": 5200000,
      "match_day_income": 4100000,
      "total_income": 15600000,
      "staff_wages": 1500000,
      "player_wages": 3800000,
      "facility_maintenance": 800000,
      "total_expenses": 6100000,
      "net_profit": 9500000,
      "current_season_record": {
        "played": 15,
        "won": 10,
        "drawn": 3,
        "lost": 2,
        "goals_for": 28,
        "goals_against": 12,
        "points": 33
      },
      "squad_size": 28,
      "average_age": 25.4,
      "average_rating": 82.7
  ]

Provides a paginated list of clubs with additional fields including finances, stadium information, and performance metrics.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No club_id
sort_order string Sort order: 'asc' or 'desc' No asc
club_id array Filter by specific club ID(s) No -
league_id integer Filter by league ID No -
country_id string Filter by country ID No -
manager_name string Filter by manager name No -
balance_min integer Minimum balance No -
balance_max integer Maximum balance No -
reputation_min integer Minimum reputation No -
reputation_max integer Maximum reputation No -
average_attendance_min integer Minimum average attendance No -
average_attendance_max integer Maximum average attendance No -
stadium_capacity_min integer Minimum stadium capacity No -
stadium_capacity_max integer Maximum stadium capacity No -
wage_budget_min integer Minimum wage budget No -
wage_budget_max integer Maximum wage budget No -
transfer_budget_min integer Minimum transfer budget No -
transfer_budget_max integer Maximum transfer budget No -
net_profit_min integer Minimum net profit No -
net_profit_max integer Maximum net profit No -
squad_size_min integer Minimum squad size No -
squad_size_max integer Maximum squad size No -
average_age_min number Minimum average age No -
average_age_max number Maximum average age No -
average_rating_min number Minimum average rating No -
average_rating_max number Maximum average rating No -

Response Fields

Field Type Description
club_id integer Unique identifier for the club
name string Full name of the club
short_name string Short code/abbreviation for the club (3 letters)
country_id string Country code of the club
league_id integer League ID the club belongs to
manager_name string Name of the club's manager
balance integer Current club balance/funds
facilities_training integer Training facilities level (1-10)
facilities_youth integer Youth facilities level (1-10)
facilities_stadium integer Stadium facilities level (1-10)
reputation integer Club reputation (1-100)
last_price integer Last trading price of the club shares
volume_1_day integer Trading volume in the last day
volume_7_day integer Trading volume in the last 7 days
last_7days array Array of trading volumes for the last 7 days
last_7days_price array Array of prices for the last 7 days
profile_pic string URL to club's profile picture
badge_pic string URL to club's badge/logo
stadium_name string Name of the club's stadium
stadium_capacity integer Stadium capacity
jersey_color_home string Home jersey color (hex code)
jersey_color_away string Away jersey color (hex code)
jersey_color_third string Third jersey color (hex code)
ticket_price integer Average ticket price
average_attendance integer Average match attendance
wage_budget integer Current wage budget
transfer_budget integer Current transfer budget
sponsor_income integer Income from sponsorships
merchandise_income integer Income from merchandise sales
tv_income integer Income from TV rights
match_day_income integer Income from match days
total_income integer Total income
staff_wages integer Wages paid to staff
player_wages integer Wages paid to players
facility_maintenance integer Facility maintenance costs
total_expenses integer Total expenses
net_profit integer Net profit (total_income - total_expenses)
current_season_record object Current season performance record
squad_size integer Number of players in the squad
average_age number Average age of the squad
average_rating number Average rating of the squad

Get Club Weekly Balance Sheets

Request example:

curl -X GET "https://services.soccerverse.com/api/club_balance_sheet/weeks?club_id=1" \
const response = await fetch('https://services.soccerverse.com/api/club_balance_sheet/weeks?club_id=1', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/club_balance_sheet/weeks"
params = {
    "club_id": 1

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 52,
  "total_pages": 3,
  "items": [
    {
      "club_id": 1,
      "club_name": "Arsenal",
      "week_start_unix_time": 1672531200,
      "week_end_unix_time": 1673136000,
      "totals": [
        {
          "type": "match_day_income",
          "amount": 1250000
        },
        {
          "type": "tv_income",
          "amount": 950000
        },
        {
          "type": "merchandise_income",
          "amount": 580000
        },
        {
          "type": "sponsor_income",
          "amount": 750000
        },
        {
          "type": "player_wages",
          "amount": -850000
        },
        {
          "type": "staff_wages",
          "amount": -350000
        },
        {
          "type": "facility_maintenance",
          "amount": -180000
        },
        {
          "type": "transfers_in",
          "amount": 0
        },
        {
          "type": "transfers_out",
          "amount": 0
      ]
  ]

Returns weekly balance sheets for a specific club, showing income and expenses by category.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
club_id integer Filter by club ID Yes -
start_date integer Start date (Unix timestamp) No -
end_date integer End date (Unix timestamp) No -

Response Fields

Field Type Description
club_id integer Unique identifier for the club
club_name string Name of the club
week_start_unix_time integer Unix timestamp for the start of the week
week_end_unix_time integer Unix timestamp for the end of the week
totals array Array of financial entries for the week
totals[].type string Type of financial entry (e.g., "match_day_income", "player_wages")
totals[].amount integer Amount (positive for income, negative for expenses)

League Methods

This section covers endpoints for retrieving information about leagues, competitions, and standings.

Methods Summary

Endpoint Description Method
/leagues Get a list of leagues and competitions GET
/league_tables Get league tables and standings GET

Get Leagues

Request example:

curl -X GET "https://services.soccerverse.com/api/leagues" \
const response = await fetch('https://services.soccerverse.com/api/leagues', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/leagues"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 25,
  "total_pages": 2,
  "items": [
    {
      "league_id": 1,
      "name": "Premier League",
      "short_name": "EPL",
      "country_id": "ENG",
      "reputation": 95,
      "type": "league",
      "tier": 1,
      "current_season_id": 23,
      "num_clubs": 20,
      "prize_money": 150000000,
      "logo_url": "https://soccerverse.com/images/leagues/premier_league.png"
    },
    {
      "league_id": 2,
      "name": "Championship",
      "short_name": "EFL",
      "country_id": "ENG",
      "reputation": 80,
      "type": "league",
      "tier": 2,
      "current_season_id": 24,
      "num_clubs": 24,
      "prize_money": 75000000,
      "logo_url": "https://soccerverse.com/images/leagues/championship.png"
    },
    {
      "league_id": 21,
      "name": "Champions League",
      "short_name": "UCL",
      "country_id": "INT",
      "reputation": 99,
      "type": "cup",
      "tier": 0,
      "current_season_id": 25,
      "num_clubs": 32,
      "prize_money": 200000000,
      "logo_url": "https://soccerverse.com/images/leagues/champions_league.png"
  ]

Returns a paginated list of leagues and competitions.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No league_id
sort_order string Sort order: 'asc' or 'desc' No asc
league_id array Filter by specific league ID(s) No -
country_id string Filter by country ID No -
type string Filter by competition type ("league" or "cup") No -
tier integer Filter by tier (1 for top tier, 2 for second tier, etc.) No -
reputation_min integer Minimum reputation No -
reputation_max integer Maximum reputation No -

Response Fields

Field Type Description
league_id integer Unique identifier for the league/competition
name string Full name of the league/competition
short_name string Short code/abbreviation for the league
country_id string Country code (or "INT" for international competitions)
reputation integer League reputation (1-100)
type string Competition type ("league" or "cup")
tier integer League tier (1 for top tier, 2 for second tier, etc., 0 for cups)
current_season_id integer ID of the current season
num_clubs integer Number of clubs in the competition
prize_money integer Total prize money for the competition
logo_url string URL to league/competition logo

Get League Tables

Request example:

curl -X GET "https://services.soccerverse.com/api/league_tables?league_id=1" \
const response = await fetch('https://services.soccerverse.com/api/league_tables?league_id=1', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/league_tables"
params = {
    "league_id": 1

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 20,
  "total_pages": 1,
  "items": [
    {
      "position": 1,
      "club_id": 3,
      "club_name": "Manchester City",
      "played": 18,
      "won": 14,
      "drawn": 2,
      "lost": 2,
      "goals_for": 45,
      "goals_against": 12,
      "goal_difference": 33,
      "points": 44,
      "form": "WWWDW",
      "last_match_result": "W",
      "badge_url": "https://soccerverse.com/images/badges/3.png"
    },
    {
      "position": 2,
      "club_id": 1,
      "club_name": "Arsenal",
      "played": 18,
      "won": 13,
      "drawn": 3,
      "lost": 2,
      "goals_for": 40,
      "goals_against": 14,
      "goal_difference": 26,
      "points": 42,
      "form": "WWDWW",
      "last_match_result": "W",
      "badge_url": "https://soccerverse.com/images/badges/1.png"
  ]

Returns the current league table/standings for a specific league.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
league_id integer Filter by league ID Yes -
season_id integer Filter by season ID (defaults to current season) No -

Response Fields

Field Type Description
position integer Current position in the league table
club_id integer Unique identifier for the club
club_name string Name of the club
played integer Matches played
won integer Matches won
drawn integer Matches drawn
lost integer Matches lost
goals_for integer Goals scored
goals_against integer Goals conceded
goal_difference integer Goal difference (goals_for - goals_against)
points integer Total points
form string Recent form string (e.g., "WWDLW")
last_match_result string Result of the last match ("W", "D", or "L")
badge_url string URL to club's badge/logo

User Methods

This section covers endpoints for retrieving information about users, their activity, and financial transactions.

Methods Summary

Endpoint Description Method
/users Get a list of users with basic information GET
/users/detailed Get detailed user information including trading statistics GET
/user_activity Get user activity data and rankings GET
/user_balance_sheet Get user financial transactions GET
/user_balance_sheet/weeks Get weekly financial summaries for users GET
/user_balance_sheet/earnings Get user earnings statistics GET

Get Users

Request example:

curl -X GET "https://services.soccerverse.com/api/users" \
const response = await fetch('https://services.soccerverse.com/api/users', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/users"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 15000,
  "total_pages": 750,
  "items": [
    {
      "name": "SoccerFan123",
      "balance": 5000000,
      "last_active_unix": 1673280000,
      "last_active": "2023-01-09T14:00:00Z",
      "club_id": 1,
      "profile_pic": "https://soccerverse.com/images/users/123.jpg",
      "manager_voted": 1
  ]

Returns a paginated list of users with basic information.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No name
sort_order string Sort order: 'asc' or 'desc' No asc
name string Filter by username (partial match) No -
club_id integer Filter by club ID No -
balance_min integer Minimum balance No -
balance_max integer Maximum balance No -
last_active_after integer Only show users active after this timestamp No -
last_active_before integer Only show users active before this timestamp No -
manager_voted integer Filter by manager voted status (0 or 1) No -

Response Fields

Field Type Description
name string Username
balance integer Current account balance
last_active_unix integer Last activity timestamp (Unix format)
last_active string Last activity timestamp (ISO format)
club_id integer Club ID the user manages
profile_pic string URL to user's profile picture
manager_voted integer Whether the user has voted for a manager (0 or 1)

Get Detailed Users

Request example:

curl -X GET "https://services.soccerverse.com/api/users/detailed" \
const response = await fetch('https://services.soccerverse.com/api/users/detailed', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/users/detailed"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 15000,
  "total_pages": 750,
  "items": [
    {
      "name": "SoccerFan123",
      "balance": 5000000,
      "last_active_unix": 1673280000,
      "last_active": "2023-01-09T14:00:00Z",
      "club_id": 1,
      "profile_pic": "https://soccerverse.com/images/users/123.jpg",
      "manager_voted": 1,
      "buy_volume_1_day": 250000,
      "buy_volume_7_day": 950000,
      "sell_volume_1_day": 180000,
      "sell_volume_7_day": 720000,
      "buy_total_volume": 15000000,
      "sell_total_volume": 12500000,
      "total_volume": 27500000,
      "total_volume_30_day": 3500000,
      "first_trade_date": 1642032000,
      "tenth_trade_date": 1642204800,
      "hundredth_trade_date": 1644624000,
      "thousandth_trade_date": 1654214400,
      "biggest_trade": 500000,
      "last_7days": [150000, 180000, 200000, 220000, 180000, 190000, 250000],
      "last_30days": [120000, 150000, 180000, 200000, 220000, 180000, 190000]
  ]

Provides a paginated list of users with additional details including trading statistics.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No name
sort_order string Sort order: 'asc' or 'desc' No asc
name string Filter by username (partial match) No -
club_id integer Filter by club ID No -
balance_min integer Minimum balance No -
balance_max integer Maximum balance No -
last_active_after integer Only show users active after this timestamp No -
last_active_before integer Only show users active before this timestamp No -
manager_voted integer Filter by manager voted status (0 or 1) No -
buy_volume_1_day_min integer Minimum 1-day buy volume No -
buy_volume_1_day_max integer Maximum 1-day buy volume No -
sell_volume_1_day_min integer Minimum 1-day sell volume No -
sell_volume_1_day_max integer Maximum 1-day sell volume No -
total_volume_min integer Minimum total volume No -
total_volume_max integer Maximum total volume No -
first_trade_after integer Only show users with first trade after this timestamp No -
first_trade_before integer Only show users with first trade before this timestamp No -

Response Fields

Field Type Description
name string Username
balance integer Current account balance
last_active_unix integer Last activity timestamp (Unix format)
last_active string Last activity timestamp (ISO format)
club_id integer Club ID the user manages
profile_pic string URL to user's profile picture
manager_voted integer Whether the user has voted for a manager (0 or 1)
buy_volume_1_day integer Volume of purchases in the last day
buy_volume_7_day integer Volume of purchases in the last 7 days
sell_volume_1_day integer Volume of sales in the last day
sell_volume_7_day integer Volume of sales in the last 7 days
buy_total_volume integer Total lifetime purchase volume
sell_total_volume integer Total lifetime sale volume
total_volume integer Total lifetime trading volume
total_volume_30_day integer Total trading volume in the last 30 days
first_trade_date integer Timestamp of first trade
tenth_trade_date integer Timestamp of tenth trade
hundredth_trade_date integer Timestamp of hundredth trade
thousandth_trade_date integer Timestamp of thousandth trade
biggest_trade integer Value of the biggest trade
last_7days array Daily trading volumes for the last 7 days
last_30days array Daily trading volumes for the last 30 days

Get User Activity

Request example:

curl -X GET "https://services.soccerverse.com/api/user_activity" \
const response = await fetch('https://services.soccerverse.com/api/user_activity', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/user_activity"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 15000,
  "total_pages": 750,
  "items": [
    {
      "name": "SoccerFan123",
      "last_active_unix": 1673280000,
      "first_move": 1642032000,
      "rank": 128,
      "points": 8500,
      "profile_pic": "https://soccerverse.com/images/users/123.jpg"
  ]

Returns a paginated list of user activity data, including rankings and engagement metrics.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No rank
sort_order string Sort order: 'asc' or 'desc' No asc
name string Filter by username (partial match) No -
last_active_after integer Only show users active after this timestamp No -
last_active_before integer Only show users active before this timestamp No -
first_move_after integer Only show users with first move after this timestamp No -
first_move_before integer Only show users with first move before this timestamp No -
points_min integer Minimum activity points No -
points_max integer Maximum activity points No -
rank_min integer Minimum rank No -
rank_max integer Maximum rank No -

Response Fields

Field Type Description
name string Username
last_active_unix integer Last activity timestamp
first_move integer Timestamp of first activity
rank integer Current activity rank
points integer Activity points
profile_pic string URL to user's profile picture

Get User Balance Sheet

Request example:

curl -X GET "https://services.soccerverse.com/api/user_balance_sheet?name=SoccerFan123" \
const response = await fetch('https://services.soccerverse.com/api/user_balance_sheet?name=SoccerFan123', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/user_balance_sheet"
params = {
    "name": "SoccerFan123"

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 500,
  "total_pages": 25,
  "items": [
    {
      "name": "SoccerFan123",
      "amount": -250000,
      "type": "player_purchase",
      "other_name": "FootballPro99",
      "other_type": "player",
      "other_id": 42,
      "time": "2023-01-09T10:15:30Z",
      "unix_time": 1673267730
    },
    {
      "name": "SoccerFan123",
      "amount": 180000,
      "type": "player_sale",
      "other_name": "SoccerTrader456",
      "other_type": "player",
      "other_id": 27,
      "time": "2023-01-08T15:45:20Z",
      "unix_time": 1673190320
    },
    {
      "name": "SoccerFan123",
      "amount": 75000,
      "type": "match_win_bonus",
      "other_name": null,
      "other_type": "system",
      "other_id": null,
      "time": "2023-01-07T18:30:00Z",
      "unix_time": 1673113800
  ]

Returns a paginated list of financial transactions for a user.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
name string Username to get transactions for Yes -
start_date integer Start date (Unix timestamp) No -
end_date integer End date (Unix timestamp) No -
type string Filter by transaction type No -
amount_min integer Minimum transaction amount No -
amount_max integer Maximum transaction amount No -
other_name string Filter by counterparty name No -
other_type string Filter by counterparty type No -
other_id integer Filter by counterparty ID No -

Response Fields

Field Type Description
name string Username
amount integer Transaction amount (positive for income, negative for expense)
type string Transaction type
other_name string Counterparty name (if applicable)
other_type string Counterparty type
other_id integer Counterparty ID (if applicable)
time string Transaction timestamp (ISO format)
unix_time integer Transaction timestamp (Unix format)

Get User Weekly Balance Sheet

Request example:

curl -X GET "https://services.soccerverse.com/api/user_balance_sheet/weeks?name=SoccerFan123" \
const response = await fetch('https://services.soccerverse.com/api/user_balance_sheet/weeks?name=SoccerFan123', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/user_balance_sheet/weeks"
params = {
    "name": "SoccerFan123"

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 52,
  "total_pages": 3,
  "items": [
    {
      "name": "SoccerFan123",
      "week_start_unix_time": 1672531200,
      "week_end_unix_time": 1673136000,
      "totals": [
        {
          "type": "player_purchase",
          "amount": -750000
        },
        {
          "type": "player_sale",
          "amount": 550000
        },
        {
          "type": "club_share_purchase",
          "amount": -350000
        },
        {
          "type": "club_share_sale",
          "amount": 280000
        },
        {
          "type": "match_win_bonus",
          "amount": 150000
        },
        {
          "type": "monthly_interest",
          "amount": 25000
      ]
  ]

Returns weekly summaries of financial transactions for a user, grouped by transaction type.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
name string Username to get weekly summaries for Yes -
start_date integer Start date (Unix timestamp) No -
end_date integer End date (Unix timestamp) No -

Response Fields

Field Type Description
name string Username
week_start_unix_time integer Unix timestamp for the start of the week
week_end_unix_time integer Unix timestamp for the end of the week
totals array Array of transaction type totals for the week
totals[].type string Transaction type
totals[].amount integer Total amount for this transaction type

Get User Earnings

Request example:

curl -X GET "https://services.soccerverse.com/api/user_balance_sheet/earnings?name=SoccerFan123" \
const response = await fetch('https://services.soccerverse.com/api/user_balance_sheet/earnings?name=SoccerFan123', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/user_balance_sheet/earnings"
params = {
    "name": "SoccerFan123"

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)

Response example:

{
  "svc2usdc": 0.05,
  "earnings_7d": {
    "total_svc": 250000,
    "total_usdc": 12500,
    "breakdown": [
      {
        "type": "match_win_bonus",
        "svc": 150000,
        "usdc": 7500
      },
      {
        "type": "trading_profit",
        "svc": 80000,
        "usdc": 4000
      },
      {
        "type": "monthly_interest",
        "svc": 20000,
        "usdc": 1000
    ]
  },
  "earnings_14d": {
    "total_svc": 480000,
    "total_usdc": 24000,
    "breakdown": [
      {
        "type": "match_win_bonus",
        "svc": 280000,
        "usdc": 14000
      },
      {
        "type": "trading_profit",
        "svc": 150000,
        "usdc": 7500
      },
      {
        "type": "monthly_interest",
        "svc": 50000,
        "usdc": 2500
    ]
  },
  "earnings_30d": {
    "total_svc": 950000,
    "total_usdc": 47500,
    "breakdown": [
      {
        "type": "match_win_bonus",
        "svc": 550000,
        "usdc": 27500
      },
      {
        "type": "trading_profit",
        "svc": 320000,
        "usdc": 16000
      },
      {
        "type": "monthly_interest",
        "svc": 80000,
        "usdc": 4000
    ]
  },
  "earnings_last_match_day": {
    "total_svc": 75000,
    "total_usdc": 3750,
    "breakdown": [
      {
        "type": "match_win_bonus",
        "svc": 50000,
        "usdc": 2500
      },
      {
        "type": "trading_profit",
        "svc": 25000,
        "usdc": 1250
    ]

Returns earnings statistics for a user across different time periods, with both in-game currency (SVC) and USD equivalent values.

Query Parameters

Parameter Type Description Required Default
name string Username to get earnings for Yes -

Response Fields

Field Type Description
svc2usdc number Current exchange rate from SVC to USDC
earnings_7d object Earnings for the last 7 days
earnings_14d object Earnings for the last 14 days
earnings_30d object Earnings for the last 30 days
earnings_last_match_day object Earnings for the last match day
earnings_*.total_svc integer Total earnings in SVC
earnings_*.total_usdc number Total earnings in USDC
earnings_*.breakdown array Breakdown of earnings by type
earnings_*.breakdown[].type string Earning type
earnings_*.breakdown[].svc integer Amount in SVC
earnings_*.breakdown[].usdc number Amount in USDC

Market Methods

This section covers endpoints for retrieving information about the market, including prices, volumes, and trading activity.

Methods Summary

Endpoint Description Method
/market Get market price and volume data GET

Get Market Data

Request example:

curl -X GET "https://services.soccerverse.com/api/market" \
const response = await fetch('https://services.soccerverse.com/api/market', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/market"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "timestamp": 1673280000,
  "datetime": "2023-01-09T14:00:00Z",
  "total_market_cap": 2500000000,
  "total_volume_24h": 75000000,
  "active_traders_24h": 5200,
  "average_price_change_24h": 2.3,
  "top_performers": [
    {
      "share_type": "player",
      "share_id": 128,
      "name": "Star Player",
      "price_change_pct": 15.8,
      "volume_24h": 1250000,
      "current_price": 28500,
      "profile_pic": "https://soccerverse.com/images/players/128.jpg"
    },
    {
      "share_type": "club",
      "share_id": 5,
      "name": "Top Club",
      "price_change_pct": 12.3,
      "volume_24h": 4500000,
      "current_price": 32000000,
      "profile_pic": "https://soccerverse.com/images/clubs/5.jpg"
  ],
  "worst_performers": [
    {
      "share_type": "player",
      "share_id": 256,
      "name": "Injured Player",
      "price_change_pct": -8.7,
      "volume_24h": 850000,
      "current_price": 15200,
      "profile_pic": "https://soccerverse.com/images/players/256.jpg"
    },
    {
      "share_type": "club",
      "share_id": 18,
      "name": "Relegated Club",
      "price_change_pct": -5.4,
      "volume_24h": 2100000,
      "current_price": 18500000,
      "profile_pic": "https://soccerverse.com/images/clubs/18.jpg"
  ],
  "highest_volume": [
    {
      "share_type": "player",
      "share_id": 42,
      "name": "Popular Player",
      "price_change_pct": 3.2,
      "volume_24h": 2800000,
      "current_price": 45000,
      "profile_pic": "https://soccerverse.com/images/players/42.jpg"
    },
    {
      "share_type": "club",
      "share_id": 3,
      "name": "Manchester City",
      "price_change_pct": 1.8,
      "volume_24h": 9500000,
      "current_price": 85000000,
      "profile_pic": "https://soccerverse.com/images/clubs/3.jpg"
  ],
  "market_statistics": {
    "player_market_cap": 1800000000,
    "club_market_cap": 700000000,
    "player_volume_24h": 45000000,
    "club_volume_24h": 30000000,
    "average_player_price": 22500,
    "average_club_price": 35000000,
    "total_trades_24h": 85000,
    "most_traded_position": "ST",
    "most_traded_league": "EPL"

Returns comprehensive market data including overall statistics, top performers, worst performers, and highest volume shares.

Query Parameters

Parameter Type Description Required Default
top_count integer Number of top performers to include No 5
share_type string Filter by share type ("player" or "club") No -

Response Fields

Field Type Description
timestamp integer Unix timestamp of the data
datetime string ISO timestamp of the data
total_market_cap integer Total market capitalization
total_volume_24h integer Total trading volume in the last 24 hours
active_traders_24h integer Number of active traders in the last 24 hours
average_price_change_24h number Average price change percentage in the last 24 hours
top_performers array List of shares with the highest price increase
worst_performers array List of shares with the highest price decrease
highest_volume array List of shares with the highest trading volume
market_statistics object Additional market statistics

Performance/Volume Entry Fields

Field Type Description
share_type string Type of share ("player" or "club")
share_id integer ID of the share
name string Name of the player or club
price_change_pct number Price change percentage in the last 24 hours
volume_24h integer Trading volume in the last 24 hours
current_price integer Current price of the share
profile_pic string URL to profile picture

Market Statistics Fields

Field Type Description
player_market_cap integer Total market capitalization of player shares
club_market_cap integer Total market capitalization of club shares
player_volume_24h integer Total trading volume of player shares in the last 24 hours
club_volume_24h integer Total trading volume of club shares in the last 24 hours
average_player_price integer Average price of player shares
average_club_price integer Average price of club shares
total_trades_24h integer Total number of trades in the last 24 hours
most_traded_position string Most traded player position
most_traded_league string Most traded league

Share Trading Methods

This section covers endpoints for retrieving information about share trading, including trade history, balances, and price charts.

Methods Summary

Endpoint Description Method
/share_trade_history Get history of share trades GET
/share_balances Get user share balances GET
/trading_graph Get price and volume data for charts GET

Get Share Trade History

Request example:

curl -X GET "https://services.soccerverse.com/api/share_trade_history" \
const response = await fetch('https://services.soccerverse.com/api/share_trade_history', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/share_trade_history"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 5000,
  "total_pages": 250,
  "items": [
    {
      "id": 12345,
      "time": "2023-01-09T14:30:00Z",
      "unix_time": 1673281800,
      "share_type": "player",
      "share_id": 42,
      "buyer": "SoccerFan123",
      "buyer_profile_pic": "https://soccerverse.com/images/users/123.jpg",
      "seller": "FootballTrader456",
      "seller_profile_pic": "https://soccerverse.com/images/users/456.jpg",
      "num": 5,
      "price": 25000,
      "market_buy": true
  ]

Returns a paginated list of share trades across the platform.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No time
sort_order string Sort order: 'asc' or 'desc' No desc
share_type string Filter by share type ("player" or "club") No -
share_id integer Filter by share ID No -
buyer string Filter by buyer's username No -
seller string Filter by seller's username No -
start_date integer Start date (Unix timestamp) No -
end_date integer End date (Unix timestamp) No -
min_price integer Minimum trade price No -
max_price integer Maximum trade price No -
min_num integer Minimum number of shares No -
max_num integer Maximum number of shares No -
market_buy boolean Filter by market buy status No -

Response Fields

Field Type Description
id integer Unique identifier for the trade
time string Trade time (ISO format)
unix_time integer Trade time (Unix format)
share_type string Type of share traded ("player" or "club")
share_id integer ID of the share
buyer string Username of the buyer
buyer_profile_pic string URL to buyer's profile picture
seller string Username of the seller
seller_profile_pic string URL to seller's profile picture
num integer Number of shares traded
price integer Price per share
market_buy boolean Whether the trade was a market buy order

Get Share Balances

Request example:

curl -X GET "https://services.soccerverse.com/api/share_balances?name=SoccerFan123" \
const response = await fetch('https://services.soccerverse.com/api/share_balances?name=SoccerFan123', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/share_balances"
params = {
    "name": "SoccerFan123"

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 150,
  "total_pages": 8,
  "items": [
    {
      "name": "SoccerFan123",
      "share_type": "player",
      "share_id": 42,
      "share_name": "Star Player",
      "num": 25,
      "current_price": 25000,
      "total_value": 625000,
      "average_buy_price": 23500,
      "profit_loss": 37500,
      "profit_loss_pct": 6.38,
      "share_profile_pic": "https://soccerverse.com/images/players/42.jpg"
    },
    {
      "name": "SoccerFan123",
      "share_type": "club",
      "share_id": 3,
      "share_name": "Manchester City",
      "num": 2,
      "current_price": 85000000,
      "total_value": 170000000,
      "average_buy_price": 83000000,
      "profit_loss": 4000000,
      "profit_loss_pct": 2.41,
      "share_profile_pic": "https://soccerverse.com/images/clubs/3.jpg"
  ]

Returns a paginated list of share holdings for a specific user.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
name string Username to get balances for Yes -
sort_by string Field to sort by No total_value
sort_order string Sort order: 'asc' or 'desc' No desc
share_type string Filter by share type ("player" or "club") No -
share_id integer Filter by share ID No -
min_num integer Minimum number of shares No -
min_value integer Minimum total value No -

Response Fields

Field Type Description
name string Username
share_type string Type of share ("player" or "club")
share_id integer ID of the share
share_name string Name of the player or club
num integer Number of shares held
current_price integer Current price per share
total_value integer Total value of holding (num * current_price)
average_buy_price integer Average purchase price per share
profit_loss integer Unrealized profit/loss
profit_loss_pct number Unrealized profit/loss percentage
share_profile_pic string URL to the player's or club's profile picture

Get Trading Graph Data

Request example:

curl -X GET "https://services.soccerverse.com/api/trading_graph?share_type=player&share_id=42&time_range=30d" \
const response = await fetch('https://services.soccerverse.com/api/trading_graph?share_type=player&share_id=42&time_range=30d', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/trading_graph"
params = {
    "share_type": "player",
    "share_id": 42,
    "time_range": "30d"

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)

Response example:

{
  "share_type": "player",
  "share_id": 42,
  "share_name": "Star Player",
  "time_range": "30d",
  "resolution": "1d",
  "data_points": [
    {
      "timestamp": 1670688000,
      "datetime": "2022-12-10T12:00:00Z",
      "volume": 125000,
      "weighted_average_price": 21500
    },
    {
      "timestamp": 1670774400,
      "datetime": "2022-12-11T12:00:00Z",
      "volume": 132000,
      "weighted_average_price": 21800
    },
    {
      "timestamp": 1673280000,
      "datetime": "2023-01-09T12:00:00Z",
      "volume": 185000,
      "weighted_average_price": 25000
  ],
  "statistics": {
    "start_price": 21500,
    "end_price": 25000,
    "min_price": 21200,
    "max_price": 25200,
    "price_change": 3500,
    "price_change_pct": 16.28,
    "total_volume": 3850000,
    "average_daily_volume": 128333,
    "volatility": 3.2

Provides time-series data for price and volume charts of a specific share.

Query Parameters

Parameter Type Description Required Default
share_type string Type of share ("player" or "club") Yes -
share_id integer ID of the share Yes -
time_range string Time range of data ("1d", "7d", "30d", "90d", "6m", "1y") No 30d
resolution string Data resolution ("1h", "6h", "1d", "1w") No Based on time_range
start_date integer Custom start date (Unix timestamp) No -
end_date integer Custom end date (Unix timestamp) No -

Response Fields

Field Type Description
share_type string Type of share ("player" or "club")
share_id integer ID of the share
share_name string Name of the player or club
time_range string Time range of the data
resolution string Resolution of the data
data_points array Array of price/volume data points
statistics object Statistics about the data

Data Point Fields

Field Type Description
timestamp integer Unix timestamp for the data point
datetime string ISO timestamp for the data point
volume integer Trading volume during this period
weighted_average_price number Volume-weighted average price during this period

Statistics Fields

Field Type Description
start_price integer Price at the start of the period
end_price integer Price at the end of the period
min_price integer Minimum price during the period
max_price integer Maximum price during the period
price_change integer Absolute price change
price_change_pct number Percentage price change
total_volume integer Total trading volume over the period
average_daily_volume integer Average daily trading volume
volatility number Price volatility metric

Rich List Methods

This section covers endpoints for retrieving information about the wealthiest users in Soccerverse.

Methods Summary

Endpoint Description Method
/rich_list Get a list of the wealthiest users GET

Get Rich List

Request example:

curl -X GET "https://services.soccerverse.com/api/rich_list" \
const response = await fetch('https://services.soccerverse.com/api/rich_list', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/rich_list"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 1000,
  "total_pages": 50,
  "items": [
    {
      "name": "SoccerTycoon",
      "balance": 125000000,
      "club_asset_value": 250000000,
      "player_asset_value": 85000000,
      "total_networth": 460000000,
      "rank": 1,
      "profile_pic": "https://soccerverse.com/images/users/tycoon.jpg"
    },
    {
      "name": "FootballMogul",
      "balance": 95000000,
      "club_asset_value": 220000000,
      "player_asset_value": 110000000,
      "total_networth": 425000000,
      "rank": 2,
      "profile_pic": "https://soccerverse.com/images/users/mogul.jpg"
  ]

Returns a paginated list of the wealthiest users in Soccerverse, ranked by total net worth.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by ("balance" or "total_networth") No total_networth
sort_order string Sort order: 'asc' or 'desc' No desc
min_balance integer Minimum balance No -
max_balance integer Maximum balance No -
min_networth integer Minimum total net worth No -
max_networth integer Maximum total net worth No -
rank_min integer Minimum rank No -
rank_max integer Maximum rank No -

Response Fields

Field Type Description
name string Username
balance integer Current account balance
club_asset_value integer Total value of club shares
player_asset_value integer Total value of player shares
total_networth integer Total net worth (balance + club_asset_value + player_asset_value)
rank integer Ranking position
profile_pic string URL to user's profile picture

Achievement Methods

This section covers endpoints for retrieving information about user achievements and accomplishments.

Methods Summary

Endpoint Description Method
/achievements Get a list of user achievements GET

Get Achievements

Request example:

curl -X GET "https://services.soccerverse.com/api/achievements?name=SoccerFan123" \
const response = await fetch('https://services.soccerverse.com/api/achievements?name=SoccerFan123', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/achievements"
params = {
    "name": "SoccerFan123"

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 35,
  "total_pages": 2,
  "items": [
    {
      "achievement_id": "first_match_win",
      "name": "First Victory",
      "description": "Win your first match",
      "category": "match",
      "difficulty": "easy",
      "unlocked": true,
      "unlocked_date": "2023-01-01T15:30:00Z",
      "unlocked_date_unix": 1672589400,
      "progress": 1,
      "total_steps": 1,
      "reward": {
        "type": "coins",
        "amount": 1000
      },
      "icon_url": "https://soccerverse.com/images/achievements/first_win.png"
    },
    {
      "achievement_id": "trading_millionaire",
      "name": "Trading Millionaire",
      "description": "Accumulate 1,000,000 coins from trading profits",
      "category": "trading",
      "difficulty": "hard",
      "unlocked": false,
      "unlocked_date": null,
      "unlocked_date_unix": null,
      "progress": 850000,
      "total_steps": 1000000,
      "reward": {
        "type": "badge",
        "amount": null
      },
      "icon_url": "https://soccerverse.com/images/achievements/millionaire.png"
    },
    {
      "achievement_id": "squad_builder",
      "name": "Squad Builder",
      "description": "Own shares in 20 different players",
      "category": "collection",
      "difficulty": "medium",
      "unlocked": true,
      "unlocked_date": "2023-01-05T18:45:00Z",
      "unlocked_date_unix": 1672945500,
      "progress": 24,
      "total_steps": 20,
      "reward": {
        "type": "item",
        "amount": "special_contract"
      },
      "icon_url": "https://soccerverse.com/images/achievements/squad_builder.png"
  ],
  "statistics": {
    "total_achievements": 150,
    "unlocked_achievements": 35,
    "completion_percentage": 23.33,
    "rewards_collected": {
      "coins": 25000,
      "items": 3,
      "badges": 5
    },
    "category_progress": {
      "match": {
        "unlocked": 12,
        "total": 40,
        "percentage": 30.0
      },
      "trading": {
        "unlocked": 8,
        "total": 35,
        "percentage": 22.86
      },
      "collection": {
        "unlocked": 10,
        "total": 45,
        "percentage": 22.22
      },
      "social": {
        "unlocked": 5,
        "total": 30,
        "percentage": 16.67

Returns a paginated list of achievements for a specific user, including locked and unlocked achievements.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
name string Username to get achievements for Yes -
unlocked boolean Filter by unlocked status No -
category string Filter by category No -
difficulty string Filter by difficulty No -
sort_by string Field to sort by No unlocked_date
sort_order string Sort order: 'asc' or 'desc' No desc

Response Fields

Field Type Description
items array Array of achievement objects
statistics object Achievement statistics for the user

Achievement Object Fields

Field Type Description
achievement_id string Unique identifier for the achievement
name string Display name of the achievement
description string Description of the achievement
category string Category of the achievement
difficulty string Difficulty level ("easy", "medium", "hard")
unlocked boolean Whether the achievement has been unlocked
unlocked_date string Date the achievement was unlocked (ISO format)
unlocked_date_unix integer Date the achievement was unlocked (Unix format)
progress integer Current progress towards achievement
total_steps integer Total steps needed to complete the achievement
reward object Reward for completing the achievement
icon_url string URL to achievement icon

Reward Object Fields

Field Type Description
type string Type of reward ("coins", "item", "badge")
amount string/integer Amount or identifier of the reward

Statistics Object Fields

Field Type Description
total_achievements integer Total number of achievements available
unlocked_achievements integer Number of achievements unlocked
completion_percentage number Percentage of achievements completed
rewards_collected object Summary of rewards collected
category_progress object Progress breakdown by category

Leaderboard Methods

This section covers endpoints for retrieving information about leaderboards and competitive rankings.

Methods Summary

Endpoint Description Method
/leaderboards/referrals/all Get all-time referral leaderboard GET
/leaderboards/referrals/time-range Get time-specific referral leaderboard GET

Get All-Time Referral Leaderboard

Request example:

curl -X GET "https://services.soccerverse.com/api/leaderboards/referrals/all" \
const response = await fetch('https://services.soccerverse.com/api/leaderboards/referrals/all', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/leaderboards/referrals/all"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 500,
  "total_pages": 25,
  "items": [
    {
      "rank": 1,
      "name": "SoccerInfluencer",
      "count": 256,
      "rewards_earned": 1280000,
      "first_referral_date": "2022-01-15T10:30:00Z",
      "most_recent_referral_date": "2023-01-09T14:25:00Z",
      "profile_pic": "https://soccerverse.com/images/users/influencer.jpg"
    },
    {
      "rank": 2,
      "name": "FootballPromoter",
      "count": 187,
      "rewards_earned": 935000,
      "first_referral_date": "2022-02-10T15:45:00Z",
      "most_recent_referral_date": "2023-01-08T09:15:00Z",
      "profile_pic": "https://soccerverse.com/images/users/promoter.jpg"
  ],
  "statistics": {
    "total_referrals": 25876,
    "total_rewards_distributed": 129380000,
    "average_referrals_per_user": 51.75,
    "top_10_percentage": 18.3

Returns a paginated leaderboard of users ranked by their all-time referral count.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
min_count integer Minimum referral count No -
max_count integer Maximum referral count No -
sort_by string Field to sort by No count
sort_order string Sort order: 'asc' or 'desc' No desc

Response Fields

Field Type Description
items array Array of leaderboard entries
statistics object Overall statistics for the leaderboard

Leaderboard Entry Fields

Field Type Description
rank integer Ranking position
name string Username
count integer Total number of referrals
rewards_earned integer Total rewards earned from referrals
first_referral_date string Date of the first referral (ISO format)
most_recent_referral_date string Date of the most recent referral (ISO format)
profile_pic string URL to user's profile picture

Statistics Fields

Field Type Description
total_referrals integer Total number of referrals across all users
total_rewards_distributed integer Total rewards distributed for referrals
average_referrals_per_user number Average number of referrals per user
top_10_percentage number Percentage of total referrals made by the top 10 users

Get Time-Range Referral Leaderboard

Request example:

curl -X GET "https://services.soccerverse.com/api/leaderboards/referrals/time-range?time_range=30d" \
const response = await fetch('https://services.soccerverse.com/api/leaderboards/referrals/time-range?time_range=30d', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/leaderboards/referrals/time-range"
params = {
    "time_range": "30d"

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 250,
  "total_pages": 13,
  "time_range": "30d",
  "start_date": "2022-12-11T00:00:00Z",
  "end_date": "2023-01-10T00:00:00Z",
  "items": [
    {
      "rank": 1,
      "name": "SoccerStreamer",
      "count": 52,
      "rewards_earned": 260000,
      "first_referral_date": "2022-12-12T08:15:00Z",
      "most_recent_referral_date": "2023-01-09T14:25:00Z",
      "profile_pic": "https://soccerverse.com/images/users/streamer.jpg"
    },
    {
      "rank": 2,
      "name": "FootballCreator",
      "count": 45,
      "rewards_earned": 225000,
      "first_referral_date": "2022-12-11T16:30:00Z",
      "most_recent_referral_date": "2023-01-08T20:10:00Z",
      "profile_pic": "https://soccerverse.com/images/users/creator.jpg"
  ],
  "statistics": {
    "total_referrals": 3850,
    "total_rewards_distributed": 19250000,
    "average_referrals_per_user": 15.4,
    "top_10_percentage": 25.7

Returns a paginated leaderboard of users ranked by their referral count within a specified time range.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
time_range string Time range ("7d", "30d", "90d", "6m", "1y") Yes -
min_count integer Minimum referral count No -
max_count integer Maximum referral count No -
sort_by string Field to sort by No count
sort_order string Sort order: 'asc' or 'desc' No desc
start_date string Custom start date (ISO format) No -
end_date string Custom end date (ISO format) No -

Response Fields

Field Type Description
items array Array of leaderboard entries
time_range string Time range of the leaderboard
start_date string Start date of the period (ISO format)
end_date string End date of the period (ISO format)
statistics object Overall statistics for the leaderboard

Leaderboard Entry Fields

Field Type Description
rank integer Ranking position
name string Username
count integer Number of referrals in the time period
rewards_earned integer Rewards earned from referrals in the time period
first_referral_date string Date of the first referral in the period (ISO format)
most_recent_referral_date string Date of the most recent referral in the period (ISO format)
profile_pic string URL to user's profile picture

Statistics Fields

Field Type Description
total_referrals integer Total number of referrals in the time period
total_rewards_distributed integer Total rewards distributed in the time period
average_referrals_per_user number Average number of referrals per user in the time period
top_10_percentage number Percentage of total referrals made by the top 10 users

Countries Methods

This section covers endpoints for retrieving information about countries and nationalities in Soccerverse.

Methods Summary

Endpoint Description Method
/countries Get a list of countries GET

Get Countries

Request example:

curl -X GET "https://services.soccerverse.com/api/countries" \
const response = await fetch('https://services.soccerverse.com/api/countries', {
  method: 'GET',
  // No authentication needed
});

const data = await response.json();
console.log(data);
import requests

url = "https://services.soccerverse.com/api/countries"

response = requests.get(url)
data = response.json()
print(data)

Response example:

{
  "page": 1,
  "per_page": 20,
  "total": 211,
  "total_pages": 11,
  "items": [
    {
      "country_id": "ENG",
      "name": "England",
      "fifa_rank": 5,
      "continent": "Europe",
      "player_count": 1250,
      "club_count": 92,
      "league_count": 5,
      "avg_player_rating": 78.3,
      "national_stadium": "Wembley Stadium",
      "flag_url": "https://soccerverse.com/images/flags/eng.png"
    },
    {
      "country_id": "FRA",
      "name": "France",
      "fifa_rank": 3,
      "continent": "Europe",
      "player_count": 1180,
      "club_count": 88,
      "league_count": 4,
      "avg_player_rating": 79.1,
      "national_stadium": "Stade de France",
      "flag_url": "https://soccerverse.com/images/flags/fra.png"
    },
    {
      "country_id": "BRA",
      "name": "Brazil",
      "fifa_rank": 1,
      "continent": "South America",
      "player_count": 1320,
      "club_count": 104,
      "league_count": 6,
      "avg_player_rating": 80.2,
      "national_stadium": "MaracanĂ£",
      "flag_url": "https://soccerverse.com/images/flags/bra.png"
  ]

Returns a paginated list of countries with information about their soccer infrastructure and statistics.

Query Parameters

Parameter Type Description Required Default
page integer Page number, starting from 1 No 1
per_page integer Number of records per page (options: 5, 10, 20, 50, 100) No 20
sort_by string Field to sort by No name
sort_order string Sort order: 'asc' or 'desc' No asc
country_id string Filter by country ID No -
continent string Filter by continent No -
fifa_rank_min integer Minimum FIFA rank No -
fifa_rank_max integer Maximum FIFA rank No -
player_count_min integer Minimum player count No -
player_count_max integer Maximum player count No -
avg_rating_min number Minimum average player rating No -
avg_rating_max number Maximum average player rating No -

Response Fields

Field Type Description
country_id string Three-letter country code
name string Full name of the country
fifa_rank integer Current FIFA ranking
continent string Continent the country is located in
player_count integer Number of players from this country
club_count integer Number of clubs from this country
league_count integer Number of leagues in this country
avg_player_rating number Average rating of players from this country
national_stadium string Name of the national stadium
flag_url string URL to the country's flag

Schema

This section provides information about the data schemas used in the Datacentre API responses.

Models

Player Response

{
  "player_id": 1,
  "last_price": 12500,
  "volume_1_day": 125,
  "volume_7_day": 850,
  "last_7days": [12000, 12100, 12300, 12400, 12500, 12500, 12500],
  "last_7days_price": [12000, 12100, 12300, 12400, 12500, 12500, 12500],
  "wages": 10000,
  "multi_position": 0,
  "positions": ["ST", "AMR"],
  "rating": 85,
  "country_id": "ENG",
  "dob": 946684800,
  "value": 20000000,
  "club_id": 101,
  "agent_name": "Agent Smith",
  "age": 25,
  "profile_pic": "https://soccerverse.com/images/players/1.jpg"
Field Type Description
player_id integer Unique identifier for the player
last_price integer Last trading price of the player
volume_1_day integer Trading volume in the last day
volume_7_day integer Trading volume in the last 7 days
last_7days array Array of trading volumes for the last 7 days
last_7days_price array Array of prices for the last 7 days
wages integer Player's wages
multi_position integer Flag indicating if player can play multiple positions
positions array Array of position codes the player can play
rating integer Overall player rating
country_id string Country code of the player's nationality
dob integer Unix timestamp of player's date of birth
value integer Market value of the player
club_id integer ID of the player's current club
agent_name string Name of the player's agent
age integer Player's age
profile_pic string URL to player's profile picture

Player Detailed Response

{
  "player_id": 1,
  "fitness": 95,
  "retired": 0,
  "morale": 90,
  "injured": 0,
  "injury_id": 0,
  "wages": 10000,
  "contract": 3,
  "form": "WWDLW",
  "position": 1,
  "multi_position": 0,
  "positions": ["ST", "AMR"],
  "rating": 85,
  "rating_gk": 10,
  "rating_tackling": 75,
  "rating_passing": 82,
  "rating_shooting": 88,
  "rating_stamina": 80,
  "rating_aggression": 75,
  "banned": 0,
  "cup_tied": 0,
  "yellow_cards": 2,
  "red_cards": 0,
  "dob": 946684800,
  "side": "R",
  "value": 20000000,
  "country_id": "ENG",
  "club_id": 101,
  "agent_name": "Agent Smith",
  "desired_contract": 4,
  "allow_transfer": 1,
  "allow_renew": 1,
  "age": 25,
  "last_price": 12500,
  "volume_1_day": 125,
  "volume_7_day": 850,
  "last_7days": [12000, 12100, 12300, 12400, 12500, 12500, 12500],
  "last_7days_price": [12000, 12100, 12300, 12400, 12500, 12500, 12500],
  "profile_pic": "https://soccerverse.com/images/players/1.jpg"
Field Type Description
player_id integer Unique identifier for the player
fitness integer Player's current fitness level (0-100)
retired integer Whether the player is retired (0/1)
morale integer Player's morale level (0-100)
injured integer Whether the player is injured (0/1)
injury_id integer ID of the player's injury (if any)
wages integer Player's wages
contract integer Remaining contract length in seasons
form string Recent form string (e.g., "WWDLW")
position integer Player's primary position ID
multi_position integer Flag indicating if player can play multiple positions
positions array Array of position codes the player can play
rating integer Overall player rating
rating_gk integer Goalkeeper rating
rating_tackling integer Tackling rating
rating_passing integer Passing rating
rating_shooting integer Shooting rating
rating_stamina integer Stamina rating
rating_aggression integer Aggression rating
banned integer Whether the player is banned (0/1)
cup_tied integer Whether the player is cup-tied (0/1)
yellow_cards integer Number of yellow cards
red_cards integer Number of red cards
dob integer Unix timestamp of player's date of birth
side string Preferred foot ("L" or "R")
value integer Market value of the player
country_id string Country code of the player's nationality
club_id integer ID of the player's current club
agent_name string Name of the player's agent
desired_contract integer Player's desired contract length
allow_transfer integer Whether the player allows transfer (0/1)
allow_renew integer Whether the player allows contract renewal (0/1)
age integer Player's age
last_price integer Last trading price of the player
volume_1_day integer Trading volume in the last day
volume_7_day integer Trading volume in the last 7 days
last_7days array Array of trading volumes for the last 7 days
last_7days_price array Array of prices for the last 7 days
profile_pic string URL to player's profile picture

Club Response

{
  "club_id": 1,
  "name": "Arsenal",
  "short_name": "ARS",
  "country_id": "ENG",
  "league_id": 1,
  "manager_name": "Football Fan",
  "balance": 50000000,
  "facilities_training": 8,
  "facilities_youth": 9,
  "facilities_stadium": 10,
  "reputation": 85,
  "last_price": 25000000,
  "volume_1_day": 2500000,
  "volume_7_day": 15000000,
  "last_7days": [23000000, 24000000, 24500000, 25000000, 25000000, 25000000, 25000000],
  "last_7days_price": [23000000, 24000000, 24500000, 25000000, 25000000, 25000000, 25000000],
  "profile_pic": "https://soccerverse.com/images/clubs/1.jpg",
  "badge_pic": "https://soccerverse.com/images/badges/1.png"
Field Type Description
club_id integer Unique identifier for the club
name string Full name of the club
short_name string Short code/abbreviation for the club (3 letters)
country_id string Country code of the club
league_id integer League ID the club belongs to
manager_name string Name of the club's manager
balance integer Current club balance/funds
facilities_training integer Training facilities level (1-10)
facilities_youth integer Youth facilities level (1-10)
facilities_stadium integer Stadium facilities level (1-10)
reputation integer Club reputation (1-100)
last_price integer Last trading price of the club shares
volume_1_day integer Trading volume in the last day
volume_7_day integer Trading volume in the last 7 days
last_7days array Array of trading volumes for the last 7 days
last_7days_price array Array of prices for the last 7 days
profile_pic string URL to club's profile picture
badge_pic string URL to club's badge/logo

User Response

{
  "name": "SoccerFan123",
  "balance": 5000000,
  "last_active_unix": 1673280000,
  "last_active": "2023-01-09T14:00:00Z",
  "club_id": 1,
  "profile_pic": "https://soccerverse.com/images/users/123.jpg",
  "manager_voted": 1
Field Type Description
name string Username
balance integer Current account balance
last_active_unix integer Last activity timestamp (Unix format)
last_active string Last activity timestamp (ISO format)
club_id integer Club ID the user manages
profile_pic string URL to user's profile picture
manager_voted integer Whether the user has voted for a manager (0 or 1)

Share Trade Response

{
  "id": 12345,
  "time": "2023-01-09T14:30:00Z",
  "unix_time": 1673281800,
  "share_type": "player",
  "share_id": 42,
  "buyer": "SoccerFan123",
  "buyer_profile_pic": "https://soccerverse.com/images/users/123.jpg",
  "seller": "FootballTrader456",
  "seller_profile_pic": "https://soccerverse.com/images/users/456.jpg",
  "num": 5,
  "price": 25000,
  "market_buy": true
Field Type Description
id integer Unique identifier for the trade
time string Trade time (ISO format)
unix_time integer Trade time (Unix format)
share_type string Type of share traded ("player" or "club")
share_id integer ID of the share
buyer string Username of the buyer
buyer_profile_pic string URL to buyer's profile picture
seller string Username of the seller
seller_profile_pic string URL to seller's profile picture
num integer Number of shares traded
price integer Price per share
market_buy boolean Whether the trade was a market buy order

Trading Graph Data Point

{
  "timestamp": 1670688000,
  "datetime": "2022-12-10T12:00:00Z",
  "volume": 125000,
  "weighted_average_price": 21500
Field Type Description
timestamp integer Unix timestamp for the data point
datetime string ISO timestamp for the data point
volume integer Trading volume during this period
weighted_average_price number Volume-weighted average price during this period

League Response

{
  "league_id": 1,
  "name": "Premier League",
  "short_name": "EPL",
  "country_id": "ENG",
  "reputation": 95,
  "type": "league",
  "tier": 1,
  "current_season_id": 23,
  "num_clubs": 20,
  "prize_money": 150000000,
  "logo_url": "https://soccerverse.com/images/leagues/premier_league.png"
Field Type Description
league_id integer Unique identifier for the league/competition
name string Full name of the league/competition
short_name string Short code/abbreviation for the league
country_id string Country code (or "INT" for international competitions)
reputation integer League reputation (1-100)
type string Competition type ("league" or "cup")
tier integer League tier (1 for top tier, 2 for second tier, etc., 0 for cups)
current_season_id integer ID of the current season
num_clubs integer Number of clubs in the competition
prize_money integer Total prize money for the competition
logo_url string URL to league/competition logo

Paginated Response

{
  "page": 1,
  "per_page": 20,
  "total": 500,
  "total_pages": 25,
  "items": [
    {
      "id": 1,
      "name": "Example",
      "value": 1000
  ]
Field Type Description
page integer Current page number
per_page integer Number of items per page
total integer Total number of items
total_pages integer Total number of pages
items array Array of items for the current page

Common Enum Values

Player Positions

Code Description
GK Goalkeeper
LB Left Back
CB Center Back
RB Right Back
DML Defensive Midfielder (Left)
DMC Defensive Midfielder (Center)
DMR Defensive Midfielder (Right)
LM Left Midfielder
CM Central Midfielder
RM Right Midfielder
AML Attacking Midfielder (Left)
AMC Attacking Midfielder (Center)
AMR Attacking Midfielder (Right)
FL Forward (Left)
FC Forward (Center)
FR Forward (Right)

Time Range Options

Value Description
1d Last 1 day
7d Last 7 days
30d Last 30 days
90d Last 90 days
6m Last 6 months
1y Last 1 year

Sort By Options for Players

Value Description
player_id Sort by player ID
last_price Sort by last price
volume_1_day Sort by 1-day volume
volume_7_day Sort by 7-day volume
wages Sort by wages
rating Sort by overall rating
rating_gk Sort by goalkeeper rating
rating_tackling Sort by tackling rating
rating_passing Sort by passing rating
rating_shooting Sort by shooting rating
rating_stamina Sort by stamina rating
rating_aggression Sort by aggression rating
country_id Sort by country
dob Sort by date of birth
value Sort by value
club_id Sort by club
agent_name Sort by agent name