class Rubillow::PropertyDetails
Interface for the Property Details API.
Read the more about this API at: {www.zillow.com/howto/api/PropertyDetailsAPIOverview.htm}
Public Class Methods
Retrieve extended details for property and its comps.
Read more at: {www.zillow.com/howto/api/GetDeepComps.htm}.
@example
data = Rubillow::PropertyDetails.deep_comps({ :zpid => '48749425', :count => 5 }) if data.success? puts data.principal.price # "1032000" data.comparables.each |comp| puts comp.price puts comp.address[:street] end end
@param [Hash] options The options for the API request. @option options [Integer] :zpid The Zillow Property ID of the property. (required) @option options [Integer] :count The number of comps to return, between 1 and 25 inclusive. (required) @option options [Boolean] :rentzestimate Return Rent Zestimate information if available. Default: false @return [Models::DeepComps] Extended property and comp details.
# File lib/rubillow/property_details.rb, line 62 def self.deep_comps(options = {}) options = { :zws_id => Rubillow.configuration.zwsid, :zpid => nil, :count => nil, :rentzestimate => false, }.merge!(options) if options[:zpid].nil? raise ArgumentError, "The zpid option is required" end if options[:count].nil? raise ArgumentError, "The count option is required" end Models::DeepComps.new(Rubillow::Request.get("GetDeepComps", options)) end
Retrieve extended details for a property.
Read more at: {www.zillow.com/howto/api/GetDeepSearchResults.htm}.
@example
data = Rubillow::PropertyDetails.deep_search_results({ :address => '2114 Bigelow Ave', :citystatezip => 'Seattle, WA' }) if data.success? puts data.tax_assessment_year # "2010" puts data.last_sold_price # "1025000" puts data.address[:latitude] # "47.637933" end
@param [Hash] options The options for the API request. @option options [String] :address The address of the property to search. (required) @option options [String] :citystatezip The city+state combination and/or ZIP code for which to search. Note that giving both city and state is required. Using just one will not work. (required) @option options [Boolean] :rentzestimate Return Rent Zestimate information if available. Default: false @return [Models::DeepSearchResult] Extended property details.
# File lib/rubillow/property_details.rb, line 24 def self.deep_search_results(options = {}) options = { :zws_id => Rubillow.configuration.zwsid, :address => nil, :citystatezip => nil, :rentzestimate => false, }.merge!(options) if options[:address].nil? raise ArgumentError, "The address option is required" end if options[:citystatezip].nil? raise ArgumentError, "The citystatezip option is required" end Models::DeepSearchResult.new(Rubillow::Request.get("GetDeepSearchResults", options)) end
Retrieve updated property facts for a given property.
Read more at: {www.zillow.com/howto/api/GetUpdatedPropertyDetails.htm}.
@example
data = Rubillow::PropertyDetails.updated_property_details({ :zpid => '48749425' }) if data.success? puts data.posting[:status] # "1032000" puts data.posting[:type] # "For sale by agent" data.edited_facts.each |fact| puts fact end end
@param [Hash] options The options for the API request. @option options [Integer] :zpid The Zillow Property ID of the property. (required) @return [Models::UpdatedPropertyDetails] Updated property information.
# File lib/rubillow/property_details.rb, line 98 def self.updated_property_details(options = {}) options = { :zws_id => Rubillow.configuration.zwsid, :zpid => nil, }.merge!(options) if options[:zpid].nil? raise ArgumentError, "The zpid option is required" end Models::UpdatedPropertyDetails.new(Rubillow::Request.get("GetUpdatedPropertyDetails", options)) end