Google Custom Search with NodeJS

Goo

Google provides a custom search API by which you can use the power of google search engine in your own application. The base URL for the REST version of custom search API is:

https://www.googleapis.com/customsearch/v1

Before moving on to integration part, we need two things.

  1. API KEY
  2. Search Engine ID

The API KEY can be created by tapping the GET A KEY button and creating a new project at the following link:

https://developers.google.com/custom-search/json-api/v1/introduction

The next step is the search engine ID. You need to create an instance of a search engine at:

https://cse.google.com/

  1. Here you need to add a new instance, give the name of the engine, any website and just create it for now.
  2. Now go to its control panel and in the basic options > Sites to search, you have the option to search the entire web (with emphasis on some websites if you want to include some) or search only for some websites (should be included in list, patterns can also be included).
  3. Configure it as per your choice and in Details section you will find the search engine ID by clicking on the Search Engine ID button.

Now you are ready to integrate. The code to integrate the API using Express and Node JS is:

var express = require(‘express’);

var path = require(‘path’);

var app = express();

var request = require(‘request’);

// The main search function

var google_web_search = function(search, callback) {

    console.log(‘Searching the web for: ‘, search);

    var options = {

        method: ‘GET’,

        url: ‘https://www.googleapis.com/customsearch/v1’,

        qs: {

            q: search,

            key: ‘<API_KEY>’,

            cx: ‘<SEARCH_ENGINE_ID>’,

        }

    };

    request(options, function (error, response, body) {

        callback(error, body);

    });

};

app.get(‘/’, function (req, res) {

   google_web_search(‘<YOUR_SEARCH_QUERY>’, function(error, body) {

     if (!error) {

        res.send(body);

     } else {

        throw new Error(error);

     }

   });

});

app.listen(3000, function () {

    console.log(‘Example app listening on port 3000!’);

});

If you want more results, then you can use pagination by adding two query params:

  1. num: specifies the number of results to return in the response
  2. start: specifies the number of results to skip

gle provides a custom search API by which you can use the power of google search engine in your own application. The base URL for the REST version of custom search API is:

https://www.googleapis.com/customsearch/v1

Before moving on to integration part, we need two things.
1. API KEY
2. Search Engine ID

The API KEY can be created by tapping the GET A KEY button and creating a new project at the following link:

https://developers.google.com/custom-search/json-api/v1/introduction

The next step is the search engine ID. You need to create an instance of a search engine at:

https://cse.google.com/

1. Here you need to add a new instance, give the name of the engine, any website and just create it for now.
2. Now go to its control panel and in the basic options > Sites to search, you have the option to search the entire web (with emphasis on some websites if you want to include some) or search only for some websites (should be included in list, patterns can also be included).
3. Configure it as per your choice and in Details section you will find the search engine ID by clicking on the Search Engine ID button.

Now you are ready to integrate. The code to integrate the API using Express and Node JS is:

var express = require('express');
var path = require('path');
var app = express();

var request = require('request');

// The main search function
var google_web_search = function(search, callback) {
    console.log('Searching the web for: ', search);
    var options = {
        method: 'GET',
        url: 'https://www.googleapis.com/customsearch/v1',
        qs: {
            q: search,
            key: '<API_KEY>',
            cx: '<SEARCH_ENGINE_ID>',
        }
    };

    request(options, function (error, response, body) {
        callback(error, body);
    });
};
app.get('/', function (req, res) {
   google_web_search('<YOUR_SEARCH_QUERY>', function(error, body) {
     if (!error) {
        res.send(body);
     } else {
        throw new Error(error);
     }
   });
});

app.listen(3000, function () {
    console.log('Example app listening on port 3000!');
});

If you want more results, then you can use pagination by adding two query params:
1. num: specifies the number of results to return in the response
2. start: specifies the number of results to skip

Comments

One response to “Google Custom Search with NodeJS”

  1. Thanks for sharing. I read many of your blog posts, cool, your blog is very good.

Recent Post

  • How to Connect A Biometric Attendance Device to a System through JS and Node.js?

    In the world of highly advanced workspaces, the utilization of biometric attendance structures has come to be important for accurate and steady tracking of worker or student attendance. This blog publishes objectives to provide a complete guide on integrating a biometric attendance device with a gadget with the use of JavaScript and Node.Js. By making […]

  • How to Implement File Uploads in Node.js with Multer?

    For many web applications that let users share papers, photos, and other types of material, file uploads are a necessary functionality. Multer is a well-liked middleware used for Handling file uploads in Node.js using Multer middleware.in the Node.js environment to effectively handle file uploads. We’ll look at how to use Multer to create file uploads […]

  • How to Use Local Storage to Persist Data in a JavaScript Application?

    Data persistence is a key aspect of web applications. In JavaScript, one of the primary tools for achieving this is Local Storage, a part of the Web Storage API. This JavaScript data persistence tool provides a simple key-value storage mechanism within the user’s browser. Unlike session storage, which persists data only during a session, Local […]

  • How to Use WordPress API?

    WordPress stands out as a leading content management system, celebrated for its dynamic capabilities in website and blog development. Renowned for its rich feature set and extensive customization options, WordPress empowers creators to fashion captivating online experiences. In recent times, WordPress has expanded its horizons into the realm of APIs, granting developers a potent tool […]

  • How to Use Post and Pre Hooks in Mongoose?

    In Mongoose, a widely-used library for working with MongoDB, there are valuable tools called “Pre and Post Hooks.” These hooks, also known as “Mongoose Middleware” or “Mongoose Model Hooks,” allow developers to run their own code just before or after specific actions on the database. With “Pre Hooks,” you can customize actions before they happen, […]

  • How To Create Reusable Components in React: Best Practices

    Rеact is a popular library for building usеr intеrfacеs with JavaScript. One of the main benefits of Rеact is its ability to create reusable componеnts that can be used in different parts of your application. Reusable componеnts can help you savе timе, rеducе codе duplication, and еnsurе consistеncy in your UI. However, creating rеusablе componеnts […]