Socket
Socket
Sign inDemoInstall

twitch-api-helix

Package Overview
Dependencies
9
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    twitch-api-helix

Twitch API wrapper for Node.js


Version published
Weekly downloads
2
decreased by-80%
Maintainers
1
Install size
2.15 MB
Created
Weekly downloads
 

Changelog

Source

0.2.7 (2023-12-20)

Bug Fixes

  • process undefined (c4d3b4e)

Readme

Source

TWITCH API HELIX

npm version npm

This is a simple module to interact with Twitch Helix API. Fully written in TypeScript.

Installation

npm install twitch-api-helix
yarn add twitch-api-helix

Then you must Register your Twitch application to get your CLIENT_ID and CLIENT_SECRET, the package will take care of the OAuth2 process.

You will just need to provide the CLIENT_ID and CLIENT_SECRET to the constructor, feel free to store them in a .env file.

Feeld free to check the Twitch Helix API Reference for more information.

Usage

import TwitchApi from "twitch-api-helix";

const twitchApi = new TwitchApi(
  process.env.CLIENT_ID,
  process.env.CLIENT_SECRET
);

API

Authentication

refreshAccessToken()

Refresh the access token, you can call this method manually but it will be called automatically when a request is made and the access token is expired.

twitchApi.authentication.refreshAccessToken();
validateAccessToken()

Validate the access token, if it is valid nothing will happen, if it is not valid it will be refreshed.

twitchApi.authentication.validateAccessToken();

Clips

getClips(TwitchClipsRequestParams) => TwitchClipsResponseBody
type TwitchClipsRequestParams = (
  | {
      broadcaster_id: string;
    }
  | {
      game_id: string;
    }
  | {
      id: string;
    }
) & {
  first?: number;
  started_at?: string;
  ended_at?: string;
  after?: string;
  before?: string;
};
type TwitchClipsResponseBody = {
  data: TwitchClip[];
  pagination?:
    | {
        cursor: string;
      }
    | undefined;
};
type TwitchClip = {
  id: string;
  url: string;
  embed_url: string;
  broadcaster_id: string;
  broadcaster_name: string;
  creator_id: string;
  creator_name: string;
  video_id: string;
  game_id: string;
  language: string;
  title: string;
  view_count: number;
  created_at: string;
  thumbnail_url: string;
  duration: number;
  vod_offset: number;
};

Get clips by ID.

twitchApi.clips.getClips({
  id: "123456789",
});

Get clips by broadcaster ID

twitchApi.clips.getClips({
  broadcaster_id: "123456789",
  first: 10,
});

Get clips by game ID

twitchApi.clips.getClips({
  game_id: "123456789",
  first: 10,
});

Games

getGame(TwitchGamesRequestParams) => TwitchGamesResponseBody
type TwitchGamesRequestParams =
  | {
      id: string;
    }
  | {
      name: string;
    }
  | {
      igdb_id: string;
    };
type TwitchGamesResponseBody = {
  data: TwitchGame[];
  pagination?:
    | {
        cursor: string;
      }
    | undefined;
};
type TwitchGame = {
  id: string;
  name: string;
  box_art_url: string;
  igdb_id?: number;
};

Get games by ID.

twitchApi.games.getGame({
  id: "123456789",
});

Get games by name.

twitchApi.games.getGame({
  name: "Fortnite",
});

Get games by IGDB ID.

twitchApi.games.getGame({
  igdb_id: "123456789",
});

Users

getUser(TwitchUsersRequestParams) => TwitchUsersResponseBody
type TwitchUsersRequestParams =
  | {
      id: string;
    }
  | {
      login: string;
    };
type TwitchUsersResponseBody = {
  data: TwitchUser[];
  pagination?:
    | {
        cursor: string;
      }
    | undefined;
};
type TwitchUser = {
  id: string;
  login: string;
  display_name: string;
  type: string;
  broadcaster_type: string;
  description: string;
  profile_image_url: string;
  offline_image_url: string;
  email: string;
  created_at: string;
};

Get users by ID.

twitchApi.users.getUser({
  id: "123456789",
});

Get users by login.

twitchApi.users.getUser({
  login: "Somindras",
});

Keywords

FAQs

Last updated on 20 Dec 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc