@v5x/events is a strictly typed TypeScript client for the VEX Events API v2. It works in browsers, Bun, and modern Node.js runtimes with fetch.
Create a personal access token in your VEX Events account, then initialize the client:

Search complete collections

The client groups the complete API under events, teams, programs, and seasons. Every collection method automatically retrieves all matching pages and returns a plain array.
Collection methods start at page 1, request 250 items per page, and follow the API’s pagination metadata. Broad filters can make many requests and retain the complete result set in memory. Pass an AbortSignal separately from filters to cancel the current request, pagination, or a retry delay:
Options use camelCase names and normal arrays. The client translates these to the API’s snake_case and repeated field[] parameters. Date filters accept an RFC 3339 string or a Date. The eventTypes option is handled by the API and is not rechecked by the client. To remove events whose names contain cancelled or canceled, pass includeCancelled: false; that legacy name-based filter runs after all pages have been collected.

Resources

Constants and match helpers

getTeamUrl, getAlliance, getMatchOutcome, and getMatchTeams provide additional helpers without wrapping API responses in classes.

Errors and retries

HTTP errors throw VexEventsApiError; invalid successful responses throw VexEventsResponseError. When a later page fails, the collection rejects without returning partial data.
The retry option handles 429 responses and honors the same abort signal on every attempt and every page.

Migrating from 0.1

Page-oriented methods have been replaced by complete arrays: page and perPage are no longer public filter options.