shin202 / flixhq-core

Nodejs library that provides an Api for obtaining the movies information from FlixHQ website.
https://www.npmjs.com/package/flixhq-core
MIT License
29 stars 13 forks source link
api apis core crawler library movies movies-api node-js nodejs scraper typescript

FLIXHQ CORE

Nodejs library that provides an Api for obtaining the movies information from FlixHQ website.

import { MOVIES } from 'flixhq-core'

const flixhq = new MOVIES.FlixHQ();

Installation

Install with npm

  npm install flixhq-core

Methods

home

Fetch data of the FlixHQ homepage.

// Promise: 
flixhq.home().then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.home();
    console.log(data);
})();

returns a promise which resolves into an object. (Promise<IHomeResult>).

fetchGenresList

// Promise:
flixhq.fetchGenresList().then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.fetchGenresList();
    console.log(data);
})();

returns a promise which resolves into an array of genres. (Promise<IGenre[]>).

fetchCountriesList

// Promise:
flixhq.fetchCountriesList().then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.fetchCountriesList();
    console.log(data);
})();

returns a promise which resolves into an array of countries. (Promise<ICountry[]>).

fetchMovieByCountryOrGenre

Parameter Type Description
filterBy Filters Accept: "GENRE" or "COUNTRY".
query string query that depend on the filterBy parameter. (genre or country that can be found in the genres or countries list).
page (optional) number page number (default: 1).
// Promise:
flixhq.fetchMovieByCountryOrGenre(Filter.COUNTRY, "US").then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.fetchMovieByCountryOrGenre(Filter.COUNTRY, "US");
    console.log(data);
})();

returns a promise which resolves into an array of movies/tvseries. (Promise<ISearch<IMovieResult>>).

fetchMovieByType

Parameter Type Description
type MovieType Accept: "MOVIE" or "TVSERIES".
page (optional) number page number (default: 1).
// Promise:
flixhq.fetchMovieByType(MovieType.MOVIE).then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.fetchMovieByType(MovieType.MOVIE);
    console.log(data);
})();

returns a promise which resolves into an array of movies. (Promise<ISearch<IMovieResult>>).

fetchMovieByTopIMDB

Parameter Type Description
type (optional) MovieType Accept: "MOVIE" or "TVSERIES" (default: "ALL").
page (optional) number page number (default: 1).
// Promise:
flixhq.fetchMovieByTopIMDB().then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.fetchMovieByTopIMDB();
    console.log(data);
})();

returns a promise which resolves into an array of movies/tvseries. (Promise<ISearch<IMovieResult>>).

fetchMovieInfo

Parameter Type Description
mediaId string (can be found in the media search results.).
// Promise:
flixhq.fetchMovieInfo("movie/watch-m3gan-91330").then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.fetchMovieInfo("movie/watch-m3gan-91330");
    console.log(data);
})();

returns a promise which resolves into an object of movie info. (Promise<IMovieInfo>).

fetchEpisodeServers

Parameter Type Description
mediaId string (can be found in the media search results.).
episodeId string (can be found in the media info results as shown on the above method).
// Promise:
flixhq.fetchEpisodeServers("movie/watch-m3gan-91330", "91330").then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.fetchEpisodeServers("movie/watch-m3gan-91330", "91330");
    console.log(data);
})();

returns a promise which resolves into an array of the servers info. (Promise<IEpisodeServer>).

fetchEpisodeSources

Parameter Type Description
mediaId string (can be found in the media search results.).
episodeId string (can be found in the media info results as shown on the above method).
server (optional) StreamingServers Accept: "UpCloud" or "VidCloud" or "MixDrop" (default: "UpCloud").
// Promsie:
flixhq.fetchEpisodeSources("movie/watch-m3gan-91330", "91330").then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.fetchEpisodeSources("movie/watch-m3gan-91330", "91330");
    console.log(data);
})();

returns a promise which resolves into an object of media sources and subtitles.

search

Parameter Type Description
query string movie or tvseries name.
page (optional) number page number (default: 1).
// Promise:
flixhq.search("the last of us").then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.search("the last of us");
    console.log(data);
})();

returns a promise which resolves into an array of movies/tvseries. (Promise<ISearch<IMovieResult>>).

fetchFiltersList

// Promise:
flixhq. fetchFiltersList().then(data => console.log(data));

// Async/AwaitL
(async () => {
    const data = await flixhq.fetchFiltersList();
    console.log(data);
})();

returns a promise which resolves into an object of filters info. (Promise<IMovieFilter>).

filter

Parameter Type Description
options IMovieFilter (Includes: type, quality, released, genre, country. Can be found in the filters list as shown on the above method.)
page (optional) number page number (default: 1).
// Promise:
const options = { type: 'all', quality: 'all', released: 'all', genre: 'all', country: 'all' };

flixhq.filter(options).then(data => console.log(data));

// Async/Await:
(async () => {
    const data = await flixhq.filter(options);
    console.log(data);
})();

returns a promise which resolves into an array of movies/tvseries. (Promise<ISearch<IMovieResult>>).