Complete API documentation can be found here. Please review the attriution template to abide the license.
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);
});
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);
});
import { SponsorBlock, Constants, PrefixRange } from 'sponsorblock-api'
const prefixLength: PrefixRange = 4
const sponsorBlock = new SponsorBlock(userID, { hashPrefixLength: prefixLength })
sponsorBlock.getSegmentsPrivately(videoID, Constants.ALL_CATEGORIES)
Every API call will throw an error if the response status is not 200, the error object will contain a status and message properties.
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
}
}
import { ResponseError } from 'sponsorblock-api'
try {
await sponsorBlock.getSegments('videoID that will not be found');
} catch (e) {
if (e instanceof ResponseError) {
// SponsorBlock error handling
}
}
Feel free to open an issue for suggestions or any unexpected behavior encountered.