Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sponsorblock-api

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sponsorblock-api

Node module wrapper for SponsorBlock web API.

  • 0.2.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
446
decreased by-13.23%
Maintainers
1
Weekly downloads
 
Created
Source

node-sponsorblock-api

Node module wrapper for SponsorBlock web API.

Using Axios for the HTTP client
https://sponsor.ajay.app/

Complete API documentation can be found here. Please review the attriution template to abide the license.

Usage:
JavaScript:
const { SponsorBlock } = require('sponsorblock-api');
const sponsorBlock = new SponsorBlock(userID); // userID should be a locally generated uuid, save the id for future tracking of stats

sponsorBlock.getSegments(videoID, ['intro', 'outro']).then((segments) => {
	console.log(segments);
});
TypeScript:
import { SponsorBlock, Category } from 'sponsorblock-api';
const sponsorBlock = new SponsorBlock(userID); // userID should be a locally generated uuid, save the id for future tracking of stats

const categories: Category[] = ['sponsor', 'selfpromo']
sponsorBlock.getSegments(videoID, categories).then((segments) => {
	console.log(segments);
});
Some constants and types are exported for ease of use:
import { SponsorBlock, Constants, PrefixRange } from 'sponsorblock-api'

const prefixLength: PrefixRange = 4
const sponsorBlock = new SponsorBlock(userID, { hashPrefixLength: prefixLength })

sponsorBlock.getSegmentsPrivately(videoID, Constants.ALL_CATEGORIES)
Notice:
  • userID should be a locally generated UUID, and should be saved for future requests for the API to keep track of stats of a person, treat like a password.
  • You may import SponsorBlockVIP or SponsorBlockAdmin for more functions, the added functions will only work if your userID has the permissions.
Error handling:

Every API call will throw an error if the response status is not 200, the error object will contain a status and message properties.

JavaScript:
try {
	await sponsorBlock.getSegments('videoID that will not be found');
} catch (e) {
	if (e.name === 'ResponseError') {
		// SponsorBlock error handling
		console.log(e.status); // 404
		console.log(e.message); // Not found
	}
}
TypeScript:
import { ResponseError } from 'sponsorblock-api'
try {
	await sponsorBlock.getSegments('videoID that will not be found');
} catch (e) {
	if (e instanceof ResponseError) {
		// SponsorBlock error handling
	}
}

Issues:

Feel free to open an issue for suggestions or any unexpected behavior encountered.

Keywords

FAQs

Package last updated on 25 May 2023

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc