Introduction
SerpWow executes search requests in real time returning clean, structured JSON HTML or CSV results. You can achieve fine-grained control over your search query using the search parameters.
With SerpWow you can run search queries against Google, Bing, Yahoo, Baidu, Yandex, Naver, Amazon or Ebay.
Making a Request
GET /search
Performing a search is as simple as making a GET HTTP request to the SerpWow search endpoint. The only required parameters are api_key (sign up for free to get an API key) and q (your search query).
For example, to search for the phrase pizza the SerpWow search request would be:
const axios = require('axios');
// set up the request parameters
const params = {
api_key: "demo",
q: "pizza"
}
// make the http GET request to SerpWow
axios.get('https://api.serpwow.com/live/search', { params })
.then(response => {
// print the JSON response from SerpWow
console.log(JSON.stringify(response.data, 0, 2));
}).catch(error => {
// catch and print the error
console.log(error);
})
Lets say we want to refine our query to search for pizza within London, UK. Here's how we could use the SerpWow location parameter to achieve just that:
const axios = require('axios');
// set up the request parameters
const params = {
api_key: "demo",
q: "pizza",
location: "London,England,United Kingdom"
}
// make the http GET request to SerpWow
axios.get('https://api.serpwow.com/live/search', { params })
.then(response => {
// print the JSON response from SerpWow
console.log(JSON.stringify(response.data, 0, 2));
}).catch(error => {
// catch and print the error
console.log(error);
})Now lets try the same search but in Paris, France. When we update the location parameter note how SerpWow automatically changes the google_domain parameter to google.fr and the gl (country) and hl (language) parameters to hl=fr (so you see localized results exactly as a human user in Paris would):
const axios = require('axios');
// set up the request parameters
const params = {
api_key: "demo",
q: "pizza",
location: "Paris,Ile-de-France,France"
}
// make the http GET request to SerpWow
axios.get('https://api.serpwow.com/live/search', { params })
.then(response => {
// print the JSON response from SerpWow
console.log(JSON.stringify(response.data, 0, 2));
}).catch(error => {
// catch and print the error
console.log(error);
})Now lets take a look at how to paginate through results using the page and num parameters. page determines the page number of the results (starting from 1) and num determines the number of results to show per page. If we wanted to show the 2nd page of results, based on 10 results per page, our query would be:
const axios = require('axios');
// set up the request parameters
const params = {
api_key: "demo",
q: "pizza",
page: "2",
num: "10"
}
// make the http GET request to SerpWow
axios.get('https://api.serpwow.com/live/search', { params })
.then(response => {
// print the JSON response from SerpWow
console.log(JSON.stringify(response.data, 0, 2));
}).catch(error => {
// catch and print the error
console.log(error);
})Lastly, SerpWow supports more than just Google! You can use SerpWow to run searches against Bing, Yahoo, Baidu, Yandex, Naver or Amazon search engines. It's as simple as using the engine parameter - see below for searching using Bing: