A simple, and lightweight TypeScript scraper for VLR.gg, providing structured data for matches, teams, and players.
- Get upcoming and live matches
- Get completed match details
- Get team details, match history, and transactions
- Get player profiles, stats, and history
- Search for teams, players, and events
- Built-in in-memory caching
npm install vlr-clientNote: This package is not yet published to npm. This is a placeholder.
All methods are available through the VlrClient instance.
import { VlrClient } from 'vlr-client';
const vlr = new VlrClient();Retrieve the list of matches that are either live or upcoming.
const { data: upcomingMatches } = await vlr.getUpcomingMatches();
console.log(upcomingMatches);Retrieve only the matches currently live (short cache TTL, since vlr.gg updates scores on page refresh only).
const { data: liveMatches } = await vlr.getLiveMatches();
console.log(liveMatches);Retrieve the details of a match whatever its status (upcoming, live or completed). For live matches this includes the current series score and the rounds played so far.
const { data: match } = await vlr.getMatchById('123456');
console.log(match?.status, match?.team1.score, match?.team2.score);Retrieve the details of a completed match. Returns null if the match is not finished yet (use getMatchById for live/upcoming matches).
const { data: match } = await vlr.getCompletedMatch('123456');
console.log(match);Retrieve the details of a team by its ID.
const { data: team } = await vlr.getTeamById('8877'); // Karmine Corp
console.log(team);Retrieve the full match history for a team. This method handles pagination automatically.
const { data: teamMatches } = await vlr.getTeamMatches('8877');
console.log(teamMatches);Retrieve the transaction history (e.g., player joins/leaves) for a team.
const { data: transactions } = await vlr.getTeamTransactions('8877');
console.log(transactions);Retrieve the details, stats, and history for a specific player.
const { data: player } = await vlr.getPlayerById('5654'); // Avez
console.log(player);This is a community-driven project, and contributions are highly welcome! Whether it's a bug report, a feature request, or a pull request, please feel free to get involved.
If you have any feedback or ideas, please open an issue to start a discussion.
This project is licensed under the MIT License.