Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

abot-scraper

ahlulmukh278MIT1.4.0TypeScript support: included

scraper random for downloader and searching

scraper, downloader, ytdownloader, instagram, youtube-dl, youtube, facebook, tiktok, social-media, video-downloader, dual-package, esm, commonjs, typescript

readme

abot-scraper

A versatile scraper package for downloading and searching content from various social media platforms.

Features

  • Dual Package Support: Works with both CommonJS (require) and ES Modules (import)
  • 🚀 Built with Bun: Optimized build process using Bun.js
  • 📱 Multi-platform: Supports Facebook, Instagram, TikTok, YouTube, and SFile
  • 🔍 Search functionality: Search content across supported platforms
  • 📝 TypeScript Support: Full TypeScript declarations included

Installation

Stable Version

Install the latest stable version from npm:

npm install abot-scraper
# or
yarn add abot-scraper
# or
bun add abot-scraper

Development Version

Install the latest development version directly from GitHub (not recommended for production):

npm install github:ahlulmukh/abot-scraper

Usage

CommonJS (Node.js with require)

// Default import
const abot = require("abot-scraper");

// Use the pre-instantiated classes
const result = await abot.downloader.facebook("https://facebook.com/video/123");
const searchResult = await abot.search.sfileSearch("query", 1);

// Or import classes directly
const { Downloader, Search } = require("abot-scraper");
const downloader = new Downloader();
const search = new Search();

ES Modules (modern JavaScript/TypeScript)

// Default import
import abot from "abot-scraper";

// Use the pre-instantiated classes
const result = await abot.downloader.facebook("https://facebook.com/video/123");
const searchResult = await abot.search.sfileSearch("query", 1);

// Or import classes directly
import { Downloader, Search } from "abot-scraper";
const downloader = new Downloader();
const search = new Search();

TypeScript

TypeScript declarations are included, providing full type safety and IntelliSense support:

import abot, {
  Downloader,
  Search,
  type ApiResponse,
  type FacebookResult,
} from "abot-scraper";

// TypeScript will provide full type checking and autocomplete
const result: ApiResponse<FacebookResult> = await abot.downloader.facebook(
  "https://facebook.com/video/123"
);

// Types are automatically inferred
const downloader = new Downloader();
const fbResult = await downloader.facebook("https://example.com"); // Return type is known

API Reference

Downloader Class

The Downloader class provides methods to download content from various platforms.

Available Methods

  • facebook(url) - Download Facebook videos
  • tiktokDownloader(url) - Download TikTok videos
  • instagram(url) - Download Instagram posts/stories
  • igstory(username) - Get Instagram stories for a user
  • youtubeDownloader(url) - Download YouTube videos with multiple formats
  • sfileDownloader(url) - Download files from SFile

Example Usage

// CommonJS
const { downloader } = require("abot-scraper");

// ES Modules
import { downloader } from "abot-scraper";

// Download YouTube video
const result = await downloader.youtubeDownloader(
  "https://youtu.be/j_MlBCb9-m8"
);
console.log(result);

// Download TikTok video
const tiktokResult = await downloader.tiktokDownloader(
  "https://tiktok.com/@user/video/123"
);
console.log(tiktokResult);

// Download Facebook video
const fbResult = await downloader.facebook("https://facebook.com/video/123");
console.log(fbResult);

// Get Instagram stories
const storiesResult = await downloader.igstory("username");
console.log(storiesResult);

Search Class

The Search class provides methods to search for content across various platforms.

Available Methods

  • ytPlay(query) - Search YouTube videos by query
  • wallpaper(query, page) - Search for wallpapers
  • wikimedia(query) - Search Wikimedia content
  • sfileSearch(query, page) - Search SFile for files

Example Usage

// CommonJS
const { search } = require("abot-scraper");

// ES Modules
import { search } from "abot-scraper";

// Search YouTube videos
const ytResults = await search.ytPlay("music video");
console.log(ytResults);

// Search wallpapers
const wallpapers = await search.wallpaper("abstract art", "1");
console.log(wallpapers);

// Search Wikimedia
const wikimediaResults = await search.wikimedia("nature photos");
console.log(wikimediaResults);

Error Handling

All methods return promises and should be wrapped in try-catch blocks or use .catch() for proper error handling:

try {
  const result = await downloader.youtubeDownloader(
    "https://youtu.be/invalid-url"
  );
  console.log(result);
} catch (error) {
  console.error("Download failed:", error.message);
}

// Or using .catch()
downloader
  .facebook("https://facebook.com/video/123")
  .then((result) => console.log(result))
  .catch((error) => console.error("Error:", error));

Requirements

  • Node.js: Version 16.0.0 or higher
  • Internet connection: Required for scraping online content

Package Information

  • Package Type: Dual (CommonJS + ES Modules)
  • Build Tool: Bun.js
  • Source Format: ES Modules
  • Distribution: Both CommonJS and ESM builds included
  • TypeScript: Full type declarations provided

Contributing

We welcome contributions from the community! If you encounter a bug or have a feature request, please open an issue on our GitHub repository.

To contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Submit a pull request with a detailed description of your changes.

License

This project is licensed under the MIT License. See the LICENSE file for more details.