Back to Templates
Transform any Google Sheets cell into an intelligent web scraper! Type =BRIGHTDATA("cell", "search prompt") and get AI-filtered result from every website in ~20 seconds.
What happens automatically:
Cost: ~$0.02-0.05 per search | Time saved: 3-5 minutes per search
Time to deploy: 20 minutes
https://n8n.yourdomain.com/webhook/brightdata-search12312346 (or create your own)function BRIGHTDATA(prompt, source) {
if (!prompt || prompt === "") {
return "❌ Must enter prompt";
}
source = source || "google";
// Update with YOUR webhook URL
const N8N_WEBHOOK_URL = "https://your-n8n-domain.com/webhook/brightdata-search";
// Update with YOUR password
const API_KEY = "12312346";
let spreadsheetId, sheetName, cellAddress;
try {
const sheet = SpreadsheetApp.getActiveSheet();
const activeCell = sheet.getActiveCell();
spreadsheetId = SpreadsheetApp.getActiveSpreadsheet().getId();
sheetName = sheet.getName();
cellAddress = activeCell.getA1Notation();
} catch (e) {
return "❌ Cannot identify cell";
}
const payload = {
prompt: prompt,
source: source.toLowerCase(),
context: {
spreadsheetId: spreadsheetId,
sheetName: sheetName,
cellAddress: cellAddress,
timestamp: new Date().toISOString()
}
};
const options = {
method: "post",
contentType: "application/json",
payload: JSON.stringify(payload),
muteHttpExceptions: true,
headers: {
"Accept": "text/plain",
"key": API_KEY
}
};
try {
const response = UrlFetchApp.fetch(N8N_WEBHOOK_URL, options);
const responseCode = response.getResponseCode();
if (responseCode !== 200) {
Logger.log("Error response: " + response.getContentText());
return "❌ Error " + responseCode;
}
return response.getContentText();
} catch (error) {
Logger.log("Exception: " + error.toString());
return "❌ Connection error: " + error.toString();
}
}
function doGet(e) {
return ContentService.createTextOutput(JSON.stringify({
status: "alive",
message: "Apps Script is running",
timestamp: new Date().toISOString()
})).setMimeType(ContentService.MimeType.JSON);
}
N8N_WEBHOOK_URL with your webhookAPI_KEY with your password=BRIGHTDATA("C3", "What is the current price of the product?")
=BRIGHTDATA("D30", "What is the size of this company?")
=BRIGHTDATA("A4", "Do this comapny is hiring Developers?")
| Error | Solution |
|---|---|
| "Exceeded maximum execution time" | Optimize AI prompts or use async mode |
| "Could not fetch data" | Verify Bright Data credentials |
| Empty cell | Check n8n logs for AI parsing issues |
| Broken characters | Verify UTF-8 encoding in webhook node |
Built with ❤️ by Elay Guez