Skip to content

American-Soccer-Analysis/itscalledsoccer-js

Repository files navigation

itscalledsoccer-js

itscalledsoccer is a wrapper around the same API that powers the American Soccer Analysis app. It enables Node users to programmatically retrieve advanced analytics for their favorite MLS, NWSL, and USL players and teams.

Installation Getting Started

Install the library

$ npm i -S itscalledsoccer

Getting Started

import the library

import Client from "itscalledsoccer";

instantiate the client

const client = new Client();

Usage

Any of the get* methods can be used to retrieve the same data made available in the American Soccer Analysis app. Partial matches or abbreviations are accepted for any player or team names. For most methods, arguments must be named. There is an example for each of the methods below, but not all options are shown. You can find the list of all of the parameters in the Swagger docs, with the notable different that the parameters are snake_case for the url parameters, but camelCase for the client, so split_by_games becomes splitByGames.

To see a full example of using the library, see here.

getPlayers

const asaPlayers = await client.getPlayers({ names: "Roldan" });

getManagers

const asaManager = await client.getManagers({ ids: ["odMXxreMYL"] });

getTeams

const asaTeam = await client.getTeams({ leagues: ["mls"] });

getReferees

const asaReferees = await client.getReferees();

getStadia

const asaStadia = await client.getStadia();

getPlayersXgoals

const asaXgoals = await client.getPlayersXgoals({
  leagues: ["mls"],
  seasonName: "2021",
  generalPosition: "W",
});

getPlayersXpass

const asaXpass = await client.getPlayersXpass({
  playerId: ["aDQ0PKPRQE", "aDQ0PkRRQE"],
});

getPlayersGoalsAdded

const asaGoalsAdded = await client.getPlayersGoalsAdded({
  minimumMinutes: 1000,
  splitByTeams: true,
});

getGoalkeepersXgoals

const asaXgoals = await client.getGoalkeepersXgoals({ leagues: ["mls"] });

getGoalkeepersXgoals

const asaXgoals = await client.getGoalkeepersGoalsAdded({ leagues: ["mls"] });

getGoalkeepersGoalsAdded

const asaGoalsAdded = await client.getGoalkeepersGoalsAdded({
  actionType: "Sweeping",
  splitByTeams: true,
});

getTeamsXgoals

const asaGoalsAdded = await client.getTeamsXgoals({
  homeAdjusted: true,
  shotPattern: "Fastbreak",
});

getTeamsXpass

const asaXpass = await client.getTeamsXpass({
  stageName: "MLS is Back Group Stage",
  awayOnly: true,
});

getTeamsGoalsAdded

const asaGoalsAdded = await client.getTeamsGoalsAdded({
  zone: 27,
});

getTeamsSalaries

const asaSalaries = await client.getTeamsSalaries({
  seasonName: "2015",
});

getGamesXgoals

const asaXgoals = await client.getGamesXgoals({
  stageName: "Playoffs",
});