Fetch Google Search Results with the Site Search API
Google Site Search offers a JSON API allowing you to query Google Search results from your app. You can query web search results and image search and the results can be requested in both JSON and ATOM (XML) formats.
This Google Apps Script snippet shows you can use the JSON API to fetch Google Search results in a Google Spreadsheet programmatically. You can only make a limited number of API call with the free edition of Site Search (100 queries per day) but the Google Search Scraper is also an alternative.
function getGoogleSearchResults(q) {
// Get the API key from Google's developer console
// Get the CSE ID from google.com/cse
var api = 'https://www.googleapis.com/customsearch/v1?key=' + KEY + '&cx=' + CSE + '&q=' + encodeURIComponent(q);
try {
var response = UrlFetchApp.fetch(api, {
muteHttpExceptions: true,
});
if (response.getResponseCode() == 200) {
var content = JSON.parse(response);
// Did the search return any results?
if (content.searchInformation.totalResults > 0) {
var count = content.items.length;
for (var i = 0; i < count; i++) {
// Save the page title, description and hyperlink
Logger.log(content.items[i].title);
Logger.log(content.items[i].snippet);
Logger.log(content.items[i].link);
}
}
}
} catch (f) {
Logger.log(f.toString());
}
}
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory