Automatically updating home value in Google sheets
See how you home values is trending without manually looking it up.Getting your home price from zillow.com in one click
Zillow lets you pull this data with 3 pieces of information, all you'll need is- path = https://www.zillow.com/webservice/GetZestimate.htm?
- zws-id = X1-ZWz19zcndgfpxn_75222
- zpid = 48749425
The zws-id tells zillow who is asking for the data, you can sign up for your own zws-id here.
The zpid is the property id, look up your property and just get the numbers).
https://www.zillow.com/homes/48749425_zpid/
https://www.zillow.com/homes/48749425_zpid/
Computers are silly so you need to setup the link like this for zpid 48749425:
http://www.zillow.com/webservice/GetZestimate.htm?zws-id=<ZWSID>&zpid=48749425
Once you have it all put together and working it will return some data containing this:
<zestimate>
<amount currency="USD">755996</amount>
<last-updated>10/08/2017</last-updated>
</zestimate>
Nicely done - you're using an API to pull your home data in one click
Now that you have the house price all we need to do is pull it out of the data and use it in our google sheet. Google sheets supplies a nice way to do this with Script Editor and UrlFetchBuilding a custom Google Docs Add-on
Here is the Google Scripts API function required - need some clever icons to publish it though:
//Parses zestimate given a dev key and property ID
function zestimate(e) {
var zpid = e.parameter.zpid;
var zws_id = e.parameter.zws_id;
var url = 'https://www.zillow.com/webservice/GetZestimate.htm?zws-id='+ zws-id + '&zpid=' + zpid;
var xml = UrlFetchApp.fetch(url).getContentText();
var document = XmlService.parse(xml);
var root = document.getRootElement();
var estimate = root.getChild('response').getChild('zestimate').getChild('amount').getText();
return(estimate);
}