OK, I admit it. I got early access to the Zillow API. 🙂 And it’s pretty interesting stuff, it provides Zestimate values, comparable properties, Zestimates charts, and Zindex charts. Anyway, everybody knows I’ve done Zestimates before, but the charts are a new wrinkle I haven’t had the opprotunity to explore yet.
As some of you know, I’ve been working with Gordon & Jay of Real Property Associates (old site) to develop their new site (beta). Although the site is about a month away from going live, I thought I’d let the world know so they beta test my favorite new Zearch feature which I call “Turbo Zillow”.
So if you run a search for Eastside communities, below the map (sorry about the lack of pushpins folks – the server is having a bad geo-coding day), you’ll notice the new Zillow control. The control will populate with every city & zip code that was in your search results. (PS – Will the agent who entered a 00000 zip code into the MLS for MLS# 25147354, please fix it, don’t get me started). It will then let you plot a Zindex chart based off location, dollar/percent appreciation, and 1/5/10 year durations. So the control, looks like something like this…
[photopress:TurboZillow.gif,full,centered]
This is really cool, because getting a new chart, is as simple and changing the drop downs to what your interested in, and the watching the chart change. Comparing city & zip codes median price histories has never been this easy on Zillow. The details page of a listing will also have a Zillow control that will show the chart of the listing, the zip, the city, the state, and the USA in the same way. Currently. the details version of the control appears to have a bug with getting the USA chart if Zillow can’t find the Zestimate. So if you see something that is way off. it could be my bug, or it could be Zillow’s bad Zestimate. Either way, I think charts & data visualization are the next big thing for MLS searches after everybody gets the AJAX maps out of their system.
On the Zillow site, to get this information, I have to click here for Bellevue, click back, click here for Redmond, and then back, and then click here for Kirkland. Why do they make getting Zindex charts so hard? I have to scroll to the bottom page, for everything and then click? Why can’t you do some Web 2.0 map magic instead of a sea of links (or just put the links it at the top of the page)?
OK, enough mini-flaming, I have to give credit were credit is due and I thank the crew at Zillow for having the guts to release an API to the public and having the courage to let me put it through it’s paces. Perhaps my experiments will inspire them to greater things, more APIs and a better UI for the Zindex pages? Until then, I’m using “Turbo Zillow” for my ZIndex fix.
Visit http://www.rpare.com/search.aspx, do your thing, have fun the fast lane my friends!
Robbie, that is SWEET. Is this widget something that could be easily embedded into any site?
PS – There’s no shame in being beat to release great features like this — API developers already outnumber Zillow employees so I expect to see a lot more innovation coming out of this group.
EXCELLENT! VERY EXCELLENT! BEST, BETTER and even I can navigate it with great success!
Robbie- nice post! I am following up to the sentence where you question whether the bug you are experiencing is a zillow bug or your own bug. If you can send me the specific details such as what call you are making that is causing your bug, I can look into the matter for you. My e-mail is drewm at Z…
David G,
As of right now, it’s not easily embeddable into any site, other than Zearch-compatible MLS search engines (which in my opinion, there aren’t enough of in the world today, but that’s a problem I’m working on solving) :).
Essentially, the brain of the control is an ASP.net dynamic image, which takes in various query string parameters. Depending on what was passed in, it calls either the GetChart or GetRegionChart Zillow web service, gets the url you return. If the url isn’t there in the response XML, I generate a dynamic error chart on the fly (w/ a pretty Zillow logo & a friendly error message), otherwise I use the url you gave me, make a another http request to get the images bits, and send them down to the browser. That way the browser just has to set the src attribute on the image correctly, instead of making XMLHTTP calls, using XML DOMs on the browser, exposing my ZillowWebServiceID on the client, etc. Save the wacky AJAX for when I really need it.
The downside is that I’m currently not preventing somebody from using my dynamically generated image on there, so you don’t need a ZillowWebServiceID to render my charts (which call your charts). I suspect it’s possible to block that problem if I look at the HTTP request headers that the browser sends me, and if somebody is requesting an image from a site I didn’t write, I send down a Caffeinated Software ad instead of a Zillow chart. 🙂 I don’t know if this implementation decision will be an issue or not, but last time I got creative, Mark informed me I was causing a measurable load on your servers.
I’m not a master of open source software stacks. It’s not that I don’t want to be (I’m reading, softiesonrails.com) but keeping up with Redmond is a full time job. So maybe Garrett or the engineer who implemented the chart rendering should know what the PHP/Tapestry/J2EE/Rails equivalents to dynamic images are. (Or conversely you change the web service, so it’s just an url to a dynamic image and make life easy for the amateur web developer).
The heart is an ASP.net WebControl that depending on the page it’s invoked from, generates locations from an MLS listing search result page or from an MLS listing details page. All that stuff is tied to my MLS DB and wouldn’t port very well. We can throw away that part of the web control and keep the HTML though for your Labs, sample code, etc.
BTW, the year parameter isn’t part of your Chart APIs. I had to hack up the response urls, and replace the chartDuration parameter as needed to pull that trick off. You might want to fix that otherwise somebody will accuse me of using undocumented APIs or some such.
I’m meeting up with Mark Eamer for lunch next Thursday, so if any Zillow folks want to join us, we can brainstorm other ideas…
Drew M,
It’s my coding bug and your data bug.
When the control can’t map an MLS address to a Zillow Property ID, I think my control just shows the USA RegionChart, instead of an error chart. (I just got this bad boy working with Zesimates this morning, so I haven’t had time to let it bake yet).
On other times, when I do get a Zillow Property ID, the Zestimate value displayed in the chart is significantly different than the MLS# listprice of a property. It’s not really a Zillow bug, as much as it is a bad data error on your side.
In both cases, the Zestimate chart doesn’t match what the user expects and user is gonna go, “huh?”.
I guess this little toy, makes it easier for the Zillow testing dept to find bad Zestimate evaluations in greater Seattle (or for local agents to realize the listing agent is smoking something funny or entering bad data in the MLS).
Ardell,
When your ready to drop your Logical Dog off at the kennel and get Caffeinated, you know my number. BTW, how many “rules” did I break this time? 🙂
Robbie; good luck with Zearch; it looks like you’ve given usability a lot of thought. Please let us know when the RPA site is live. Zillow Labs was what I was thinking about when I asked about a “widget”.
FYI – We will have a developer support forum up in a week or so – when we do, it would be great if you could share some of your experiences with the other dev’s. This will also give you the opportunity to log feature requests and suggestions.
It would be fantastic to meet you next week – I’ll ask Mark to introduce us if I’m around.
Nice work Robbie.
I love how you can get Zestimates on each individual property. That’s a incredibly powerful piece of information.
David G – We’ll have to discuss how to best “widgetify” the Turbo Zillow control next week. See ya Thursday…
David & Joel – Thanks. By the time I’m done, I’m hoping I can make “Zillow data porn” look like a Disney movie. 🙂 I think this kind of thing is the tip of iceberg for us MLS/IDX search vendors.
Pingback: Seattle’s Rain City Real Estate Guide » Sharing the spam - Is Zillow going to China?
Pingback: Amit D. Chaudhary’s Blog»Blog Archive » Introduction to Zillow API: Web Service to access Real Estate data from zillow.com
I am attempting to consume zillow from asp.net application
any tips for for a weary researcher?
What are you having trouble with or otherwise trying to do?
Have you registered for API access and have a Zillow Application ID?
Pingback: Zillow API Forum - Zillow Blog - Real Estate News and Analysis
Zillow is a fantastic site and I use their Iphone App all the time. It is really useful when your on the go and you can get a good idea as to the value of home in the surrounding area are going for.