Skip to content

JS

CLIENT

javascript
const axios = require("axios");

const headers = {
  "x-portal-apikey": "__YOUR_KEY__"
};

const baseUrl = "https://flashlive-sports-api.hgapi.top";
const flashlive = axios.create({ baseURL: baseUrl, headers });

// LIST OF SPORTS
const listSports = async () => {
  console.log("\r\n__________________ LIST OF SPORTS __________________");
  try {
    const response = await flashlive.get("/v1/sports/list");
    const sports = response.data;
    for (const sport of sports.DATA) {
      console.log(`${sport.ID}: ${sport.NAME}`);
    }
  } catch (error) {
    throw new Error(`${error.response.status}: ${error.response.data}`);
  }
};

// LIST OF EVENTS
const listEvents = async () => {
  console.log("\r\n__________________ LIST OF EVENTS __________________");
  const params = {
    indent_days: 0,
    locale: "en_INT",
    timezone: "-4",
    sport_id: "1",
  };
  try {
    const response = await flashlive.get("/v1/events/list", { params });
    const items = response.data;
    for (const tournament of items.DATA) {
      console.log(`${tournament.TOURNAMENT_STAGE_ID}: ${tournament.NAME}`);
      for (const event of tournament.EVENTS) {
        console.log(
          `${new Date(event.START_TIME * 1000).toISOString().slice(0, 19).replace("T", " ")} | ${event.HOME_NAME} — ${event.AWAY_NAME} | ${event.HOME_SCORE_CURRENT || ""}:${event.AWAY_SCORE_CURRENT || ""} | ${event.STAGE}`,
        );
      }
    }
  } catch (error) {
    throw new Error(`${error.response.status}: ${error.response.data}`);
  }
};

// EVENT STATISTICS
const eventStatistics = async () => {
  console.log("\r\n__________________ EVENT STATISTICS __________________");
  const params = {
    locale: "en_INT",
    event_id: "6ivhWNOG",
  };
  try {
    const response = await flashlive.get("/v1/events/statistics", { params });
    const items = response.data;
    for (const stage of items.DATA) {
      console.log(stage.STAGE_NAME);
      for (const group of stage.GROUPS) {
        console.log(`   ${group.GROUP_LABEL}`);
        for (const item of group.ITEMS) {
          console.log(
            `      ${item.INCIDENT_NAME} ${item.VALUE_HOME} ${item.VALUE_AWAY}`,
          );
        }
      }
    }
  } catch (error) {
    throw new Error(`${error.response.status}: ${error.response.data}`);
  }
};

//  EVENT INCIDENTS
const eventIncidents = async () => {
  console.log("\r\n__________________ EVENT INCIDENTS __________________");
  const params = {
    locale: "en_INT",
    event_id: "6ivhWNOG",
  };
  try {
    const response = await flashlive.get("/v1/events/summary-incidents", {
      params,
    });
    const items = response.data;
    for (const stage of items.DATA) {
      console.log(stage.STAGE_NAME, stage.RESULT_HOME, stage.RESULT_AWAY);
      for (const item of stage.ITEMS) {
        console.log(
          `   ID: ${item.INCIDENT_ID}, TEAM: ${item.INCIDENT_TEAM}, TIME: ${item.INCIDENT_TIME}:`,
        );
        for (const participant of item.INCIDENT_PARTICIPANTS) {
          console.log(
            `      ${participant.INCIDENT_TYPE}, ${participant.PARTICIPANT_NAME}, ${participant.PARTICIPANT_ID}`,
          );
        }
      }
    }
  } catch (error) {
    throw new Error(`${error.response.status}: ${error.response.data}`);
  }
};

// EVENT LINEUPS
const eventLineups = async () => {
  console.log("\r\n__________________ EVENT LINEUPS __________________");
  const params = {
    locale: "en_INT",
    event_id: "6ivhWNOG",
  };
  try {
    const response = await flashlive.get("/v1/events/lineups", { params });
    const items = response.data;
    for (const group of items.DATA) {
      console.log(group.FORMATION_NAME);
      for (const formation of group.FORMATIONS) {
        console.log(
          `   ${formation.FORMATION_LINE}: ${formation.FORMATION_DISPOSTION}`,
        );
        for (const member of formation.MEMBERS) {
          console.log(
            `      ${member.ROW_ID}, ${member.PLAYER_ID}, ${member.PLAYER_FULL_NAME}, ${member.PLAYER_NUMBER}`,
          );
        }
      }
    }
  } catch (error) {
    throw new Error(`${error.response.status}: ${error.response.data}`);
  }
};

// ALL THE EVENTS OF THE SEASON
const allEventsOfTheSeason = async () => {
  console.log(
    "\r\n__________________ALL THE EVENTS OF THE SEASON __________________",
  );
  for (let page = 1; page < 100; page++) {
    const params = {
      locale: "en_INT",
      tournament_stage_id: "OEEq9Yvp",
      page: page,
    };
    try {
      const response = await flashlive.get("/v1/tournaments/results", {
        params,
      });
      if (response.status === 404) break;
      const tournaments = response.data;
      for (const tournament of tournaments.DATA) {
        console.log(tournament.NAME);
        for (const event of tournament.EVENTS) {
          console.log(
            `${new Date(event.START_TIME * 1000).toISOString().slice(0, 19).replace("T", " ")} | ${event.HOME_NAME} — ${event.AWAY_NAME} | ${event.HOME_SCORE_CURRENT || ""}:${event.AWAY_SCORE_CURRENT || ""} | ${event.STAGE}`,
          );
        }
      }
    } catch (error) {
      if (error.response.status == 404) break;
      throw new Error(`${error.response.status}: ${error.response.data}`);
    }
  }
};

const run = async () => {
  await listSports();
  await listEvents();
  await eventStatistics();
  // await eventIncidents();
  // await eventLineups();
  // await allEventsOfTheSeason();
};

run();

We’re dedicated to providing the best API products