I want to monitor a web page. The best solution I found was Google Spreadsheets
(apart from feed43 which has limitations).

I'm using the importHTML function in Google Spreadsheet which will update the cell value whenever there is any change in data on that web page.

However, I don't know how to save previous value somewhere and if possible append the new updated value to next row of the spreadsheet instead of overwriting the data on that cell.

  • @nixda here is the link to my spreadsheet.The value on that spreadsheet gets updated every few minutes, but I want to store the previous values.I tried using IFTTT rss trigger to notify and send value but to my inbox every time value changes, but IFTTT rss triggers only if new content is added and not when content changes.So IFTTT will never trigger :( Any solutions?..like store the value previous value to another column of spreadsheet?
    – Nigel
    Commented Sep 16, 2013 at 17:51
  • What's the website source? Perhaps you can share the sheet, not using the html output?
    – Jacob Jan
    Commented Jul 27, 2014 at 15:23

2 Answers 2


Yes, it's possible to do that with a simple script such as this one. What it does:

  1. Check whether the current value is equal to the most recent "archived" value.
  2. If not, then archive the current value, inserting a row for this purpose.

After entering the script into the Script Editor, you should create a trigger for it: see Resources > This project's triggers. Two options are: running periodically, or running when the data changes. The second one is more natural for this task, but in case onChange fails to work for you (some people had issues in the past), timed trigger is an option.

function recordChanges() {
  var url = 'the URL of your spreadsheet';   // put URL here
  var ss = SpreadsheetApp.openByUrl(url);
  var sh = ss.getSheetByName('Sheet1');  // or whatever name
  var range = sh.getRange("A1:A2");    // assuming your data appears in A1 cell
  var values = range.getValues();
  if (values[0][0] != values[1][0]) {

This can go on until you hit the limit of 200,000 cells in a spreadsheet... if the spreadsheet has one column, then it can have up to 200,000 rows, so even if another row is added every hour, it will last more than 20 years.


If you need to store all the versions, and it is not a requirement to use Google docs for the purpose, you could schedule (using cron or Windows scheduler) a curl operation (you can get it for windows too) for the file, put that into a versioning system, (GIT would do fine, just stage and commit after the curl), and you could keep track of all the previous versions too...

  • thanks but i want google docs
    – Nigel
    Commented Sep 16, 2013 at 16:53
  • 1
    Well, then this might be a bit Rube Goldbergish approach: you could, after all this, upload it to docs, I'm sure, ther is an API for handling the spreadsheet files... :)
    – ppeterka
    Commented Sep 16, 2013 at 16:55
  • i was thinking of a more easy way like spreadsheet formulas or scripts to do the same..
    – Nigel
    Commented Sep 16, 2013 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.