Skip to content

navetacandra/ddg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@navetacandra/ddg Documentation

Introduction

@navetacandra/ddg is a Node.js package that provides an easy way to perform searches (regular, image, video, news, and map) and translations using DuckDuckGo. This package is designed to be lightweight and does not use any additional dependencies.

Installation

To install the package, use npm:

npm install @navetacandra/ddg

Usage

Importing the package

const { search, translate } = require("@navetacandra/ddg");

Performing Searches

You can perform different types of searches: regular, image, video, news, and map.

Regular Search

(async () => {
  const regularSearch = await search({ query: "duckduckgo" } /*'regular'*/);
  console.log(regularSearch);

  if (regularSearch.hasNext) {
    const nextRegularSearch = await search(
      { query: "duckduckgo", next: regularSearch.next } /*'regular'*/,
    );
    console.log(nextRegularSearch);
  }
})();

Regular Search with Fetch All

(async () => {
  const regularSearch = await search({ query: "duckduckgo" }, "regular", true);
  console.log(regularSearch);
})();

Image Search

(async () => {
  const imageSearch = await search({ query: "duckduckgo" }, "image");
  console.log(imageSearch);

  if (imageSearch.hasNext) {
    const nextImageSearch = await search(
      { query: "duckduckgo", next: imageSearch.next },
      "image",
    );
    console.log(nextImageSearch);
  }
})();

Video Search

(async () => {
  const videoSearch = await search({ query: "duckduckgo" }, "video");
  console.log(videoSearch);
})();

News Search

(async () => {
  const newsSearch = await search({ query: "duckduckgo" }, "news");
  console.log(newsSearch);
})();

Map Search

(async () => {
  const locationSearch = await search({ query: "duckduckgo" }, "map");
  console.log(locationSearch);
})();

Performing Translations

You can translate text from one language to another.

Simple Translation

(async () => {
  const translated = await translate(
    "when u realize u messed up ur sleeping pattern and now u gotta do the 24 hours challenge",
    "en",
    "id",
  );
  console.log(translated);
})();

Translation with Auto Language Detection

(async () => {
  const translatedWithAutoDetection = await translate(
    "saya suka nasi goreng",
    "",
    "en",
  );
  console.log(translatedWithAutoDetection);
})();

API Reference

search(options, type, fetchAll)

Performs a search on DuckDuckGo.

  • options: An object with the following properties:
    • query: The search query (string).
    • next: Optional, used for paginating search results (string).
  • type: Optional, the type of search ('regular', 'image', 'video', 'news', 'map'). Default is 'regular'.
  • fetchAll: Optional, boolean to fetch all search results at once.

Returns: A promise that resolves to an object with the search results. The object has the following structure:

  • results: An array of search results.
  • hasNext: A boolean indicating if there are more results available.
  • next: A token for fetching the next set of results.

translate(text, from, to)

Translates text from one language to another.

  • text: The text to translate (string).
  • from: The source language code (string). Use an empty string '' for auto-detection.
  • to: The target language code (string).

Returns: A promise that resolves to an object with the translation result. The object has the following structure:

  • translated: The translated text (string).
  • detected_language: The detected source language (string), if auto-detection was used. return null, if form assigned.

Examples

See the usage section for detailed examples on how to use the search and translate functions.

No Dependencies

This package is designed to be lightweight and does not rely on any additional dependencies.

About

DuckDuckGo Scraper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published