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.
Install the library
$ npm i -S itscalledsoccer
import the library
import Client from "itscalledsoccer";
instantiate the client
const client = new Client();
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.
const asaPlayers = await client.getPlayers({ names: "Roldan" });
const asaManager = await client.getManagers({ ids: ["odMXxreMYL"] });
const asaTeam = await client.getTeams({ leagues: ["mls"] });
const asaReferees = await client.getReferees();
const asaStadia = await client.getStadia();
const asaXgoals = await client.getPlayersXgoals({
leagues: ["mls"],
seasonName: "2021",
generalPosition: "W",
});
const asaXpass = await client.getPlayersXpass({
playerId: ["aDQ0PKPRQE", "aDQ0PkRRQE"],
});
const asaGoalsAdded = await client.getPlayersGoalsAdded({
minimumMinutes: 1000,
splitByTeams: true,
});
const asaXgoals = await client.getGoalkeepersXgoals({ leagues: ["mls"] });
const asaXgoals = await client.getGoalkeepersGoalsAdded({ leagues: ["mls"] });
const asaGoalsAdded = await client.getGoalkeepersGoalsAdded({
actionType: "Sweeping",
splitByTeams: true,
});
const asaGoalsAdded = await client.getTeamsXgoals({
homeAdjusted: true,
shotPattern: "Fastbreak",
});
const asaXpass = await client.getTeamsXpass({
stageName: "MLS is Back Group Stage",
awayOnly: true,
});
const asaGoalsAdded = await client.getTeamsGoalsAdded({
zone: 27,
});
const asaSalaries = await client.getTeamsSalaries({
seasonName: "2015",
});
const asaXgoals = await client.getGamesXgoals({
stageName: "Playoffs",
});