Awesome
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",
});