Skip to content

tanishqmanuja/valorant-api-client

Repository files navigation

Logo

CI Status downloads npm version MIT license

VAPIC //VALORANT API CLIENT

VAPIC is a type safe implementation of an api client for VALORANT. It includes functional wrapper to call all community known endpoints provided by valorant-api-types.

Installation

Install @tqman/valorant-api-client with npm, pnpm or yarn

npm i @tqman/valorant-api-client@latest
pnpm add @tqman/valorant-api-client@latest
yarn add @tqman/valorant-api-client@latest

Showcase Features

  • Includes all community known endpoints.
  • Response parsing using zod library.
  • Session Cookies Handling using tough-cookie library.
  • Re-Auth using ssid cookie without resending username/password.
  • Riot MFA using Email-Code Method

API Clients

Usage/Examples

  • Local Authentication

import {
  createValorantApiClient,
  provideAuthViaLocalApi,
  provideClientVersionViaVAPI,
  provideLockFile,
  provideLogFile,
  useProviders,
} from "@tqman/valorant-api-client";

// Create Valorant API Client
const vapic = await createValorantApiClient({
  auth: useProviders(provideClientVersionViaVAPI()),
  local: useProviders(provideLockFile()),
  remote: useProviders([provideLogFile(), provideAuthViaLocalApi()]),
});

// Use API Client
const puuid = vapic.remote.puuid;
const { data: compUpdates } = await vapic.remote.getCompetitiveUpdates({
  data: {
    puuid,
  },
});

console.log(compUpdates);

Note

VALORANT should be running for lockfile and logfile to be generated.

  • Remote Authentication

import {
  createValorantApiClient,
  useProviders,
  provideClientVersionViaVAPI,
  provideClientVersionViaAuthApi,
  provideAuthAutoRegion,
} from "@tqman/valorant-api-client";

// Change as per your requirement
const RIOT_USERNAME = "YOUR_USERNAME";
const RIOT_PASSWORD = "YOUR_PASSWORD";

// Create Valorant API Client
const vapic = await createValorantApiClient({
  auth: useProviders(provideClientVersionViaVAPI()),
  remote: useProviders([
    provideClientVersionViaAuthApi(),
    provideAuthAutoRegion(RIOT_USERNAME, RIOT_PASSWORD),
  ]),
});

// Use API Client
const puuid = vapic.remote.puuid;
const { data: compUpdates } = await vapic.remote.getCompetitiveUpdates({
  data: {
    puuid,
  },
});

console.log(compUpdates);

Infinite Thanks ❤️‍🔥

valorant-api-docs

Authors

Show your Support

Give a ⭐️ if this project helped you!
It will give me motivation for working towards this project.

Disclaimer

THIS PROJECT IS NOT ASSOCIATED OR ENDORSED BY RIOT GAMES. Riot Games, and all associated properties are trademarks or registered trademarks of Riot Games, Inc. Whilst effort has been made to abide by Riot's API rules; you acknowledge that use of this software is done so at your own risk.

About

VAPIC is a type safe implementation of an API Client for VALORANT.

Topics

Resources

License

Stars

Watchers

Forks