Get your API token
Go to the API page in IndexCheckr and copy your token with the copy icon. Keep this token secure, as it grants full access to your account. See API token and documentation.
Open Google Apps Script
Add the script
Paste this example, replacing YOUR_TOKEN_HERE with your actual token:
function getProjects() {
var url = "https://indexcheckr.com/api/v1/projects?itemsPerPage=100";
var options = {
"method": "get",
"headers": { "X-AUTH-TOKEN": "YOUR_TOKEN_HERE" }
};
var response = UrlFetchApp.fetch(url, options);
var result = JSON.parse(response.getContentText());
// Prepare a table with project info
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear();
sheet.appendRow(["Project", "Number of Pages", "Indexed Pages", "Non Indexed Pages", "Domains Not Indexed"]);
result.data.forEach(function(project) {
sheet.appendRow([
project.name,
project.numberOfLinks,
project.numberOfIndexedPages,
project.numberOfNotIndexedPages,
project.numberOfDomainNotIndexedPages
]);
});
}The API returns results page by page. itemsPerPage=100 gets up to 100 projects in one request. If you have more, add &page=2, &page=3, and so on to the URL to get the next ones.
Run the script
Save your script.
Click Run.
Authorize the script when prompted.
Your sheet will now populate with your projects and their indexing stats.
Expand the integration
You can customize the script to:
Pull your remaining credits with the
/api/v1/user/creditsendpoint (the balance is inresult.data.credits)List the pages of a project with
/api/v1/project/{project_id}/pages, optionally filtered by status or tagTrack status changes with
/api/v1/project/{project_id}/changelogsSchedule automatic refreshes using Triggers in Apps Script
💡 For full details on available endpoints, parameters, and response formats, see the IndexCheckr API documentation.
