Bulk Website HTTP Status Code Checker in Google Sheets
Loops through hundreds of URLs listed in Column A, performs lightweight HEAD/GET HTTP requests, and writes HTTP status codes (200, 301, 404, 500) into Column B.
https://www.googleapis.com/auth/spreadsheets • https://www.googleapis.com/auth/script.external_requestsfunction checkUrlStatusCodes() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Urls');
const lastRow = sheet.getLastRow();
if (lastRow < 2) return;
const urls = sheet.getRange(2, 1, lastRow - 1, 1).getValues();
const results = [];
for (let i = 0; i < urls.length; i++) {
const url = urls[i][0];
if (!url) {
results.push(['Empty']);
continue;
}
try {
const res = UrlFetchApp.fetch(url, {
muteHttpExceptions: true,
followRedirects: false,
validateHttpsCertificates: false
});
results.push([res.getResponseCode()]);
} catch (err) {
results.push(['Error: ' + err.message]);
}
}
sheet.getRange(2, 2, results.length, 1).setValues(results);
}Line-by-Line Code Explanation
Step-by-Step Setup & Deployment
- Create a tab named "Urls" with URLs in Column A starting at row 2.
- Run `checkUrlStatusCodes` to audit status codes.
Best Practices for Quota & Rate Limit Management
When deploying this automation in Google Workspace, adhere to these operational principles:
- Batch Reads & Writes: Never execute
getValue()orsetValue()inside loops. Read ranges into memory in 1 call, process arrays in V8 memory, and commit changes with a singlesetValues()call. - Execution Timeouts: Apps Script terminates scripts exceeding 6 minutes. For multi-thousand row datasets, implement batch pagination with resume timestamps stored in
PropertiesService. - OAuth Permissions: Scope your manifest (
appsscript.json) narrowly to prevent security prompts from alarming external team members.
Frequently Asked Questions
Is Google Apps Script completely free to use?
Yes. Google Apps Script is built into all free Google accounts and Google Workspace editions. There are no server fees or subscription costs for running scripts within daily quotas.
Can I run this script on an automated schedule without keeping my computer on?
Yes. Time-driven triggers execute on Google's cloud infrastructure. Your script will run reliably even when your computer is closed or offline.
More Google Sheets Automation Snippets
Generate PDF from Google Sheet & Email as Attachment
Converts a specific sheet tab or printable invoice range into a styled PDF blob and emails it to a client or manager with custom HTML formatting.
Google SheetsAuto-Insert Static Timestamp on Row Edit (onEdit Trigger)
Automatically inserts an unchangeable static date and time stamp into Column B whenever a user edits or updates data in Column A.
Google SheetsAuto-Move Completed Rows from Active Sheet to Archive Tab
When a task or lead status is marked "Done" or "Closed", this script cuts the entire row from the active working tab and appends it to an "Archive" tab.