trulia dev guide

27
Property Listings Submission Rental and For Sale Listings Version 1.32. Last Updated 10/13/2010 1 XML Specification 1

Upload: kumaritnce7742

Post on 25-Jul-2015

85 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Trulia Dev Guide

Property Listings Submission Rental and For Sale Listings

Version 1.32. Last Updated 10/13/2010

1

XML Specification

1

Page 2: Trulia Dev Guide

PREFACEThis document defines the XML syntax required by Trulia’s search engine for property listing submissions.

Intended AudienceThis guide assumes that its readers: • Are experienced web or application developers • Are familiar with XML • Have a background in the Real Estate industry

Organization of This DocumentThis document is organized as follows:

Chapter 1 - IntroductionExplains what Trulia does, how Trulia does it and why you should use the XML Feed for syndicating your property listings to Trulia.

Chapter 2 - XML Feed SpecificationExplains the different XML elements that are included within Trulia’s data feed.

Chapter 3 - Element DescriptionsProvides additional information regarding specific elements.

Chapter 4 - Sample XMLProvides an example of how a complete feed should look.

Chapter 5 - Feed Development ChecklistProvides an overview of the key aspects to consider before submitting your feed to Trulia.

How to Contact Customer SupportFor problems or questions in regards to submitting your data feed, contact our Customer Support team at [email protected].

2

Page 3: Trulia Dev Guide

INTRODUCTION About TruliaTrulia is a broker friendly real estate search engine helping the country’s leading franchise and independent brokers promote their listings online. Examples of real estate organi-zations working with Trulia include ERA/Realogy, Weichert, Long & Foster, Realty Executives International, Prudential Fox & Roach, RE/MAX Equity Group, Alain Pinel, Intero Real Estate and many more. Read from Trulia testimonials (http://www.trulia.com/testimonials/) why brokers like the Trulia business model!

How Trulia’s Data Cycle WorksTrulia currently runs its data cycle once per day. At a very high level, the data cycle progresses through the following steps on its way to completion:

1. Gathering of property listings2. Downloading photos for new listings 3. Normalizing the listing data4. Merging duplicate listings5. Assigning priorities to listings6. Filtering invalid listings7. Downloading photos for new listings8. Pushing listings to the live website

Data Delivery MethodsTrulia has the ability to process feeds that are stored on either a web server or an FTP server. So, after you have configured your system to generate a feed on a daily basis, you will want to submit the information to Trulia for inclusion. You can do this by completing the form athttp://www.trulia.com/submit_listings/feed.

Handling Illegal XML CharactersWhen an XML element is parsed, all of the text within the XML tags is also parsed. This is done because it is possible, and highly likely, that the text will contain other XML elements. Because of this, there are certain characters that are deemed illegal since they will be misinterpreted by the XML parser. To avoid causing the XML parser to break, there are two preferred methods:

Entity ReferenceReplace the characters with their corresponding entity reference:

For example, the following is an incorrect way to include an ampersand:<example>Brokers & Agents</example>

The correct method is:<example>Brokers &amp; Agents</example>

CDATA SectionEnclose the tag value within a CDATA section. A CDATA section begins with “<![CDATA[” and ends with “]]>”:

Entity Reference Illegal Character Description of Character

&lt; < Less Than

&gt; > Greater Than&amp; & Ampersand&apos; ‘ Apostrophe&quot; “ Quotation Mark

Condition Example

Without CDATA <example>this is the value</ex-ample>

With CDATA <example><![CDATA[this is the value]]></example>

CHAPTER 1:

3

Page 4: Trulia Dev Guide

<properties> <property> <location> <unit-number></unit-number> <street-address></street-address> <city-name></city-name> <zipcode></zipcode> <county></county> <state-code></state-code> <street-intersection></street-intersection> <parcel-id></parcel-id> <building-name></building-name> <subdivision></subdivision> <neighborhood-name></neighborhood-name> <neighborhood-description></neighborhood-description> <elevation></elevation> <longitude></longitude> <latitude></latitude> <geocode-type>(exact | offset | approximate)</geocode-type> <display-address>(yes|no)</display-address> <directions></directions> </location> <details> <listing-title></listing-title> <price></price> <year-built></year-built> <num-bedrooms></num-bedrooms> <num-full-bathrooms></num-full-bathrooms> <num-half-bathrooms></num-half-bathrooms> <num-bathrooms></num-bathrooms> <lot-size></lot-size> <living-area-square-feet></living-area-square-feet> <date-listed></date-listed> <date-available></date-available> <date-sold></date-sold> <sale-price></sale-price> <property-type>(apartment/condo/townhouse | condo | townhouse | coop | apartment | loft | tic | mobile/manufactured | farm/ranch | multi-family | income/investment | houseboat | lot/land | single-family home)</property-type> <description></description> <mlsId></mlsId> <mlsName></mlsName> <provider-listingid></provider-listingid> </details> <landing-page> <lp-url></lp-url> </landing-page> <listing-type>(resale | foreclosure | new home | rental)</listing-type> <status>(for rent | for sale | pending | active contingent | sold | withdrawn)</status> <foreclosure-status>(notice of default (pre-foreclosure) | lis pendens (pre-foreclosure) | notice of trustee sale (auction) | notice of foreclosure sale (auction)| reo - bank owned )</foreclosure-status>

XML FEED SPECIFICATIONCHAPTER 2:

4

Page 5: Trulia Dev Guide

<site> <site-url></site-url> <site-name></site-name> </site> <rental-terms> <price-term>(night | week | month | year)</price-term> <rental-type>(standard | corporate | senior | military | campus | market rate apt | condominium | cooperative | assisted living | subsidized | nursing home | student | vacation | other)</rental-type> <lease-type>(sublet | month-to-month | annual | bi-annual)</lease-type> <lease-min-length-months></lease-min-length-months> <lease-max-length-months></lease-max-length-months> <lease-periods> <lease-period></lease-period> </lease-periods> <lease-details></lease-details> <security-deposit></security-deposit> <security-deposit-description></security-deposit-description> <application-fee></application-fee> <application-fee-description></application-fee-description> <credit-cards-accepted>(yes|no)</credit-cards-accepted> <credit-cards> <credit-card>(visa | mastercard | discover| american express | other) </credit-card><!-- repeatable tag --> </credit-cards> <pets> <small-dogs-allowed>(yes|no)</small-dogs-allowed> <large-dogs-allowed>(yes|no)</large-dogs-allowed> <cats-allowed>(yes|no)</cats-allowed> <pet-other-allowed>(yes|no)</pet-other-allowed> <max-pets></max-pets> <pet-deposit></pet-deposit> <pet-fee></pet-fee> <pet-rent></pet-rent> <pet-weight></pet-weight> <pet-comments> <pet-comment></pet-comment> </pet-comments> </pets> <utilities-included> <landlord-pays-aircon>(yes|no)</landlord-pays-aircon> <landlord-pays-broadbandinternet>(yes|no)</landlord-pays-broadbandinternet> <landlord-pays-cable>(yes|no)</landlord-pays-cable> <landlord-pays-electric>(yes|no)</landlord-pays-electric> <landlord-pays-gas>(yes|no)</landlord-pays-gas> <landlord-pays-heat>(yes|no)</landlord-pays-heat> <landlord-pays-hotwater>(yes|no)</landlord-pays-hotwater> <landlord-pays-satellite>(yes|no)</landlord-pays-satellite> <landlord-pays-sewer>(yes|no)</landlord-pays-sewer> <landlord-pays-telephone>(yes|no)</landlord-pays-telephone> <landlord-pays-trash>(yes|no)</landlord-pays-trash> <landlord-pays-water>(yes|no)</landlord-pays-water> <landlord-utilities-portion-included></landlord-utilities-portion-included> <utilities-comments> <utilities-comment></utilities-comment> </utilities-comments> </utilities-included> <property-manager-on-site>(yes|no)</property-manager-on-site> <rent-control>(yes|no)</rent-control> <subletting-allowed>(yes|no)</subletting-allowed> </rental-terms>

5

Page 6: Trulia Dev Guide

<pictures> <picture><!-- repeatable tag group--> <picture-url></picture-url> <picture-caption></picture-caption> <picture-description></picture-description> <picture-seq-number></picture-seq-number> </picture> </pictures> <virtual-tours> <virtual-tour><!-- repeatable tag group --> <virtual-tour-url></virtual-tour-url> <virtual-tour-caption></virtual-tour-caption> <virtual-tour-description></virtual-tour-description> <virtual-tour-seq-number></virtual-tour-seq-number> </virtual-tour> </virtual-tours> <videos> <video><!-- repeatable tag group --> <video-url></video-url> <video-caption></video-caption> <video-description></video-description> <video-seq-number></video-seq-number> </video> </videos> <floorplan-layouts> <floorplan-layout> <floorplan-layout-url></floorplan-layout-url> <floorplan-layout-caption></floorplan-layout-caption> <floorplan-layout-description></floorplan-layout-description> <floorplan-layout-seq-number></floorplan-layout-seq-number> </floorplan-layout> </floorplan-layouts> <agent> <agent-name></agent-name> <agent-phone></agent-phone> <agent-email></agent-email> <agent-alternate-email></agent-alternate-email> <agent-picture-url></agent-picture-url> <agent-id></agent-id> </agent> <brokerage> <brokerage-name></brokerage-name> <brokerage-broker-name></brokerage-broker-name> <brokerage-id></brokerage-id> <brokerage-mls-code></brokerage-mls-code> <brokerage-phone></brokerage-phone> <brokerage-email></brokerage-email> <brokerage-website></brokerage-website> <brokerage-logo-url></brokerage-logo-url> <brokerage-address> <brokerage-street-address></brokerage-street-address> <brokerage-city-name></brokerage-city-name> <brokerage-zipcode></brokerage-zipcode> <brokerage-state-code></brokerage-state-code> </brokerage-address> </brokerage> <office> <office-name></office-name> <office-id></office-id> <office-mls-code></office-mls-code> <office-broker-id></office-broker-id> <office-phone></office-phone>

6

Page 7: Trulia Dev Guide

<office-email></office-email> <office-website></office-website> </office> <franchise> <franchise-name></franchise-name> <franchise-phone></franchise-phone> <franchise-email></franchise-email> <franchise-website></franchise-website> <franchise-logo-url></franchise-logo-url> </franchise> <builder> <builder-id></builder-id> <builder-name></builder-name> <builder-phone></builder-phone> <builder-email></builder-email> <builder-lead-email></builder-lead-email> <builder-website></builder-website> <builder-logo-url></builder-logo-url> <builder-address> <builder-street-address></builder-street-address> <builder-city-name></builder-city-name> <builder-zipcode></builder-zipcode> <builder-state-code></builder-state-code> </builder-address> </builder> <property-manager> <property-manager-name></property-manager-name> <property-management-company-name></property-management-company-name> <property-manager-office-hours> <office-day><!-- repeatable tag group --> <day-of-the-week>(sun | mon | tue | wed | thu | fri | sat)</day-of-the-week> <office-start-time></office-start-time> <office-end-time></office-end-time> <comment></comment> </office-day> </property-manager-office-hours> <property-manager-phone></property-manager-phone> <property-manager-email></property-manager-email> <property-manager-lead-email></property-manager-lead-email> <property-manager-website></property-manager-website> <property-manager-logo-url></property-manager-logo-url> </property-manager> <community> <community-building></community-building> <community-id></community-id> <community-name></community-name> <community-phone></community-phone> <community-email></community-email> <community-fax></community-fax> <community-description></community-description> <community-website></community-website> <community-address> <community-street-address></community-street-address> <community-city-name></community-city-name> <community-zipcode></community-zipcode> <community-state-code></community-state-code> </community-address> <building-amenities> <building-amenity> </building-amenity><!-- repeatable tag group --> </building-amenities> <community-amenities> <community-amenity></community-amenity><!-- repeatable tag group -->

7

Page 8: Trulia Dev Guide

</community-amenities> </community> <plan> <plan-id></plan-id> <plan-name></plan-name> <plan-type></plan-type> <plan-base-price>(yes|no)</plan-base-price> </plan> <spec> <is-spec-home>(yes|no)</is-spec-home> <spec-id></spec-id> </spec> <open-home> <period1-date></period1-date> <period1-start-time></period1-start-time> <period1-end-time></period1-end-time> <period1-details></period1-details> <period2-date></period2-date> <period2-start-time></period2-start-time> <period2-end-time></period2-end-time> <period2-details></period2-details> <period3-date></period3-date> <period3-start-time></period3-start-time> <period3-end-time></period3-end-time> <period3-details></period3-details> <period4-date></period4-date> <period4-start-time></period4-start-time> <period4-end-time></period4-end-time> <period4-details></period4-details> </open-home> <taxes> <tax><!-- repeatable tag group--> <tax-type></tax-type> <tax-year></tax-year> <tax-amount></tax-amount> <tax-description></tax-description> </tax> </taxes> <hoa-fees> <hoa-fee></hoa-fee> <hoa-period>(monthly | annual)</hoa-period> <hoa-description></hoa-description> </hoa-fees> <additional-fees> <fee><!-- repeatable tag group--> <fee-type></fee-type> <fee-amount></fee-amount> <fee-period></fee-period> <fee-description></fee-description> </fee> </additional-fees> <schools> <school-district> <elementary></elementary> <middle></middle> <juniorhigh></juniorhigh> <high></high> <district-name></district-name> <district-website></district-website> <district-phone-number></district-phone-number> </school-district> </schools>

8

Page 9: Trulia Dev Guide

<detailed-characteristics> <appliances> <has-washer>(yes|no)</has-washer> <has-dryer>(yes|no)</has-dryer> <has-dishwasher>(yes|no)</has-dishwasher> <has-refrigerator>(yes|no)</has-refrigerator> <has-disposal>(yes|no)</has-disposal> <has-microwave>(yes|no)</has-microwave> <range-type>(gas | electric | other)</range-type> <additional-appliance><!-- repeatable tag group. List each individually--> <additional-appliance-name></additional-appliance-name> <additional-appliance-description></additional-appliance-description> </additional-appliance> <appliances-comments></appliances-comments> </appliances> <cooling-systems> <has-air-conditioning>(yes|no)</has-air-conditioning> <has-ceiling-fan>(yes|no)</has-ceiling-fan> <other-cooling></other-cooling> </cooling-systems> <heating-systems> <has-fireplace>(yes|no)</has-fireplace> <fireplace-type>(gas | wood | electric | decorative)</fireplace-type> <heating-system>(gas | electric | radiant | other)</heating-system> <heating-fuel>(coal | oil | gas | electric | propane | butane | solar | woodpellet | other | none)</heating-fuel> </heating-systems> <floor-coverings></floor-coverings> <total-unit-parking-spaces></total-unit-parking-spaces> <has-garage>(yes|no)</has-garage> <garage-type>(attached | detached)</garage-type> <parking-types> <parking-type>(surface lot | garage lot | covered lot | street | carport | none | other)</parking-type> </parking-types> <has-assigned-parking-space>(yes|no)</has-assigned-parking-space> <parking-space-fee>(free | paid | both)</parking-space-fee> <assigned-parking-space-cost></assigned-parking-space-cost> <parking-comment></parking-comment> <foundation-type></foundation-type> <roof-type></roof-type> <architecture-style></architecture-style> <exterior-type></exterior-type> <room-count></room-count> <rooms> <room><!-- repeatable tag group. List each individually--> <room-type></room-type> <room-size></room-size> <room-description></room-description> </room> </rooms> <year-updated></year-updated> <total-units-in-building></total-units-in-building> <total-floors-in-building></total-floors-in-building> <num-floors-in-unit></num-floors-in-unit> <has-attic>(yes|no)</has-attic> <has-balcony>(yes|no)</has-balcony> <has-barbeque-area>(yes|no)</has-barbeque-area> <has-basement>(yes|no)</has-basement> <has-cable-satellite>(yes|no)</has-cable-satellite> <has-courtyard>(yes|no)</has-courtyard> <has-deck>(yes|no)</has-deck>

9

Page 10: Trulia Dev Guide

<has-disabled-access>(yes|no)</has-disabled-access> <has-dock>(yes|no)</has-dock> <has-doublepane-windows>(yes|no)</has-doublepane-windows> <has-garden>(yes|no)</has-garden> <has-gated-entry>(yes|no)</has-gated-entry> <has-greenhouse>(yes|no)</has-greenhouse> <has-handrails>(yes|no)</has-handrails> <has-hot-tub-spa>(yes|no)</has-hot-tub-spa> <has-intercom>(yes|no)</has-intercom> <has-jetted-bath-tub>(yes|no)</has-jetted-bath-tub> <has-lawn>(yes|no)</has-lawn> <has-mother-in-law>(yes|no)</has-mother-in-law> <has-patio>(yes|no)</has-patio> <has-pond>(yes|no)</has-pond> <has-pool>(yes|no)</has-pool> <has-porch>(yes|no)</has-porch> <has-private-balcony>(yes|no)</has-private-balcony> <has-private-patio>(yes|no)</has-private-patio> <has-rv-parking>(yes|no)</has-rv-parking> <has-sauna>(yes|no)</has-sauna> <has-security-system>(yes|no)</has-security-system> <has-skylight>(yes|no)</has-skylight> <has-sportscourt>(yes|no)</has-sportscourt> <has-sprinkler-system>(yes|no)</has-sprinkler-system> <has-terrace>(yes|no)</has-terrace> <has-vaulted-ceiling>(yes|no)</has-vaulted-ceiling> <has-view>(yes|no)</has-view> <has-washer-dryer-hookup>(yes|no)</has-washer-dryer-hookup> <has-wet-bar>(yes|no)</has-wet-bar> <has-window-coverings>(yes|no)</has-window-coverings> <building-has-concierge>(yes|no)</building-has-concierge> <building-has-doorman>(yes|no)</building-has-doorman> <building-has-elevator>(yes|no)</building-has-elevator> <building-has-fitness-center>(yes|no)</building-has-fitness-center> <building-has-on-site-maintenance>(yes|no)</building-has-on-site-maintenance> <is-waterfront>(yes|no)</is-waterfront> <other-amenities> <other-amenity></other-amenity> </other-amenities> <furnished>(yes|no)</furnished> <view-type></view-type> </detailed-characteristics> <advertise-with-us> <channel></channel> <featured>(yes|no)</featured> <branded>(yes|no)</branded> <branded-logo-url></branded-logo-url> </advertise-with-us> </property></properties>

10

Page 11: Trulia Dev Guide

Repeatable Tag

are marked “repeatable tag”. These tags can have multiple instances with different values.

For example, if a property has street parking as well as covered parking, you would specify it like this in the XML feed:

<parking-types>

<parking-type>Street</parking-type>

<parking-type>Covered</parking-type>

</parking-types>

Boolean TagsAll the tags that start with “has” or “is” have a value of “yes” or “no”. For example:

<has-patio>yes</has-patio> <is-cable-ready> no</is-cable-ready>

Please leave blank if the value is unknown.

Multiple PicturesTrulia displays multiple photos for each property and we encourage you to submit multiple photos in the feed. It should be noted that we will display the photos in the order of the picture sequence number. If no sequence number is pro-

vided pictures will be displayed in the order they are received of the house displaying on Trulia, make sure that is picture sequence number 1.

ELEMENT DESCRIPTIONS

<pictures> <picture> <picture-url>http://www.domain.com/path/to/image_1.jpg</picture-url> <picture-caption>Street view</picture-caption> <picture-description>Professional landscaping highlights the curb appeal.</picture-description> <picture-seq-number>1</picture-seq-number> </picture> <picture> <picture-url> http://www.domain.com/path/to/image_2.jpg</picture-url> <picture-caption>Kitchen</picture-caption> <picture-description>The kitchen was remodeled in 2009 with granite countertops and stainless steel appliances</picture-description> <picture-seq-number>2</picture-seq-number> </picture></pictures>

CHAPTER 3:

1211

Page 12: Trulia Dev Guide

Half BathroomsProperly handling half bathrooms is essential to maintaining a high standard of data quality. So Trulia offers two different approaches for sup-plying bathroom information. For the sake of this example, let’s say the property has two full bathrooms and one half bathroom.

The preferred method is to list the number of full and half bathrooms separately. Example: <num-full-bathrooms>2</num-full-bathrooms><num-half-bathrooms>1</num-half-bathrooms>

However, if the source has a single bathroom field, a single bathroom may be used in the Trulia feed. Example:<num-bathrooms>2.5</num-bathrooms>

Please note that this method breaks down when a property contains more than one half bathroom. By adding another “.5” to the total, the value will incorrectly go to “3”.

12

Page 13: Trulia Dev Guide

Element DictionaryThe majority of the elements contained within Trulia’s XML feed specification are self explanatory, but for those that may be ambiguous, the following list is provided.

Element Required Format Section Description

branded No boolean advertise-with-usbe branded on Trulia’s site.

NOTE: this is a paid advertising opportunity that will place a logo next to the property everywhere it is displayed on Trulia’s website. Please contact [email protected] to learn more.

branded-logo-url No URL advertise-with-us A URL to the logo to be used for the

channel No string advertise-with-us The name of a campaign being run. This acts as a tracking mechanism if certain properties are being branded and/or featured because of a promotion/test that the broker or agent is running.

featured No boolean advertise-with-usbe featured in Trulia’s search results.

NOTE: this is a paid placement into the top locations on Trulia’s search results pages. Please contact [email protected] to learn more.

agent-alernate-email

No email agent Alternate email for agent OR if a lead router is used in <agent-email> provide agent's email address here

agent-email No email agent Email address to send leads toagent-id No string agentbrokerage-bro-ker-name

No string brokerage The name of the listing broker

brokerage-name No string brokerage The DBA of the listing brokerage companybuilding-amenity No string community.building-

amenitiesBuilding amenities listed individually in repeat-ing tags

community-ame-nity

No string community.commu-nity-amenities

Community amenities listed individually in repeating tags

13

Page 14: Trulia Dev Guide

Element Required Format Location Description

architecture-style No string detailed-character-istics

Recommended Values:• A-Frame• Bungalow• Colonial• Contemporary• Cottage• Custom• Dome• High-rise• Historical• Log Cabin• Mansion• Mediterranean• Other• Prefab/Modular• Ranch• Spanish• Victorian

exterior-type No string detailed-character-istics

Recommended Values:• Adobe• Asbestos Shingle• Brick• Brick Veneer• Block• Concrete• Concrete Block• Glass• Log• Marble• Masonry• Metal• Other• Rock/Stone• Stucco• Tile• Wood

foundation-type No string detailed-character-istics

Recommended Values:• Concrete• Concrete Block• Raised• Crossed Walls• Earth• Footing• Other• Piers• Piling• Slab• Stone• Wood

garage-type No enumerated detailed-character-istics

Recommended Values:• Attached• Detached

14

Page 15: Trulia Dev Guide

Element Required Format Location Description

roof-type No string detailed-character-istics

Recommended Values:• Aluminium• Asbestos• Asphalt• Bermuda• Concrete• Composition Shingle• Gravel/Rock• Masonite/Cement Shake• Metal• Other• Slate• Steel• Tar and Gravel• Tile• Urethane• Wood

appliances-de-scription

No string detailed-character-istics.appliances

Text string for information about the appli-ances in the property

range-type No enumerated detailed-character-istics.appliances

Acceptable Values:• gas• electric• other

additional-appli-ance

No string detailed-character-istics.appliances.additional-appli-ances

Additional appliances listed individually in repeating tags

fireplace-type No enumerated detailed-charac-teristics.heating-systems

Recommended values: gas, wood, electric, decorative

room No string detailed-character-istics.rooms

individually enumerate all room types for this listing (e.g. dining room, den, theatre, family room, etc)

room-size No string detailed-character-istics.rooms

"length x width" dimensions for the room

date-available No Calendar date

details If a rental property, the date the unit will be available to move in

date-listed No Calendar date

details The date the property was put on the market for sale.

NOTE: for some feed providers, Trulia may require this field to be populated.

living-area-square-feet

No integer details Livable square feet of the property

lot-size No string details The size of the property lot. Syntax:Sq Ft: 8000 sqftDimensions: 100x80Acres: 0.24 acres

15

Page 16: Trulia Dev Guide

Element Required Format Location Description

property-type No enumerated details The type of property for sale. This is typically set to the same value you display for the property on your website. However, Trulia will normalize that value into one of thefollowing:• Apartment/Condo/ Townhouse• Condo• Townhouse• Coop• Apartment• Loft• TIC• Mobile/Manufactured• Farm/Ranch• Multi-Family• Income/Investment• Houseboat• Lot/Land• Single-Family Home

provider-listingid Yes string details This is a unique ID that MUST be included for each property. Must be unique and persistent per listing. Must NOT be re-used/recycled.

floorplan-layout-url

No URL floorplan-layouts.floorplan-layout

URL for image of the unit's floorplan

lp-url No URL landing-page A URL to a detailed view of the property that you want Trulia to send its visitors to when they want more information.

NOTE: this must be unique for each property within the feed.

building-name No string location If the property is in a named building, provide the building name

display-address Yes boolean location A flag indicating whether the address should be displayed on Trulia’s website.

elevation No integer location Elevation of the property

geocode-type No enumerated location Acceptable Values:• exact• offset• approximateIf a value is not provided or cannot be recog-nized, it will default to ‘exact’.

latitude No decimal location Latitude of the property. In US, this range (50 states) is 71.1810 N (north) to 19.0357 N (south).

longitude No decimal location Longitude of the property. In US, this range (50 states) is 176.6360 W (west) to 66.5950 W (east).

parcel-id No string location Assessor’s Parcel Number or Parcel Identi-fication Number. This is an arbitrary parcel identifier assigned by the county assessor to simply identify and expedite the locating of parcels. Format and composition varies widely.

16

Page 17: Trulia Dev Guide

Element Required Format Location Description

plan-base-price No boolean plan Is the <price> field a base price not including add'l builder options? ('Yes' will present price as "From $xxx,xxx", 'No' will present price as "$xxx,xxx")

foreclosure-status

No enumerated property Acceptable Values:• Notice of Default (Pre-Foreclosure)• Lis Pendens (Pre-Foreclosure)• Notice of Trustee Sale(Auction)• Notice of Foreclosure Sale(Auction)• REO - Bank owned

listing-type No enumerated property Acceptable Values:• resale• foreclosure• new home

If a value is not provided or cannot be recog-nized, it will default to ‘resale’.

status No enumerated property The current status of the property. This is typi-cally set to the same value you display for the property on your website. However, Trulia will normalize that value into one of the following:• Active Contingent• Pending• Sold• Withdrawn• For Rent• For Sale

day-of-the-week No enumerated property-manager.property-manager-office-hours.office-day

Expected value(s) listed individually in repeat-ing tags: sun, mon, tue, wed, thu, fri, sat

lease-type No enumerated rental-terms Acceptable Values:• sublet• month-to-month• annual• bi-annual

price-term month enumerated rental-terms If the property is a rental, provide the rental term associated with the price. Acceptable Values:• night• week• month• year

lease period No integer rental-terms.lease-periods

List the standard accepted lease periods (1, 3, 6, 12, etc) in months, individually.

site-name No string site The name describing the company you want Trulia to associate the property with.

site-url No URL site The domain of your site that you wish Trulia to associate the property with. For example, this value can be set to “www.YourDomain.com”.

17

Page 18: Trulia Dev Guide

Element Required Format Location Description

rental-type No enumerated rental-terms Acceptable Values:• standard• corporate• senior• military• campus• market rate apt• condominium• cooperative• assisted living• subsidized• nursing home• student• vacation• other

18

Page 19: Trulia Dev Guide

<properties> <property> <location> <unit-number>301</unit-number> <street-address>123 Main St</street-address> <city-name>San Francisco</city-name> <zipcode>94123</zipcode> <county>San Francisco</county> <state-code>California</state-code> <street-intersection>Broadway</street-intersection> <parcel-id>359-02-4158</parcel-id> <building-name>The Avalon</building-name> <subdivision></subdivision> <neighborhood-name>Marina</neighborhood-name> <neighborhood-description>The Marina is a neighborhood on the Northern part of San Francisco</neighborhood-description> <elevation>10</elevation> <longitude>-70.1200</longitude> <latitude>30.0000</latitude> <geocode-type>exact</geocode-type> <display-address>yes</display-address> <directions>Take 101 North to Lombard St. Make a left on Lombard and 3rd right onto Main. 123 is at the end of the block on the right. </directions> </location> <details> <listing-title>A great deal in the Marina</listing-title> <price>725000</price> <year-built>1928</year-built> <num-bedrooms>3</num-bedrooms> <num-full-bathrooms>2</num-full-bathrooms> <num-half-bathrooms>1</num-half-bathrooms> <num-bathrooms></num-bathrooms> <lot-size>0.25</lot-size> <living-area-square-feet>1720</living-area-square-feet> <date-listed>2010-06-20</date-listed> <date-available></date-available> <date-sold></date-sold> <sale-price></sale-price> <property-type>condo</property-type> <description>Newly remodeled condo in great location.</description> <mlsId>582649</mlsId> <mlsName>SFAR</mlsName> <provider-listingid>258136842</provider-listingid> </details> <landing-page> <lp-url>http://www.BrokerRealty.com/listing?id=123456&amp;source=Trulia</lp-url> </landing-page> <listing-type>resale</listing-type> <status>for sale</status> <foreclosure-status></foreclosure-status> <site> <site-url>http://www.BrokerRealty.com</site-url> <site-name>Broker Realty</site-name> </site>

Sample XMLCHAPTER 4:

19

Page 20: Trulia Dev Guide

<rental-terms> <price-term></price-term> <rental-type></rental-type> <lease-type></lease-type> <lease-min-length-months></lease-min-length-months> <lease-max-length-months></lease-max-length-months> <lease-periods> <lease-period></lease-period> </lease-periods> <lease-details></lease-details> <security-deposit></security-deposit> <security-deposit-description></security-deposit-description> <application-fee></application-fee> <application-fee-description></application-fee-description> <credit-cards-accepted></credit-cards-accepted> <credit-cards> <credit-card></credit-card> </credit-cards> <pets> <small-dogs-allowed></small-dogs-allowed> <large-dogs-allowed></large-dogs-allowed> <cats-allowed></cats-allowed> <pet-other-allowed></pet-other-allowed> <max-pets></max-pets> <pet-deposit></pet-deposit> <pet-fee></pet-fee> <pet-rent></pet-rent> <pet-weight></pet-weight> <pet-comments> <pet-comment> </pet-comment> </pet-comments> </pets> <utilities-included> <landlord-pays-aircon></landlord-pays-aircon> <landlord-pays-broadbandinternet></landlord-pays-broadbandinternet> <landlord-pays-gas></landlord-pays-gas> <landlord-pays-heat></landlord-pays-heat> <landlord-pays-hotwater></landlord-pays-hotwater> <landlord-pays-satellite></landlord-pays-satellite> <landlord-pays-sewer></landlord-pays-sewer> <landlord-pays-telephone></landlord-pays-telephone> <landlord-pays-trash></landlord-pays-trash> <landlord-pays-water></landlord-pays-water> <landlord-utilities-portion-included></landlord-utilities-portion-included> <utilities-comments> <utilities-comment></utilities-comment> </utilities-comments> </utilities-included> <property-manager-on-site></property-manager-on-site> <rent-control></rent-control> <subletting-allowed></subletting-allowed> </rental-terms> <pictures> <picture> <picture-url>http://images.brokerrealty.com/123456/1.jpg</picture-url> <picture-caption>Home Exterior</picture-caption> <picture-description>View as seen from the street</picture-description> <picture-seq-number>1</picture-seq-number> </picture> <picture> <picture-url>http://images.brokerrealty.com/223457/1.jpg</picture-url> <picture-caption>Kitchen was remodeled in 2005</picture-caption>

20

Page 21: Trulia Dev Guide

<picture-description>View of the kitchen</picture-description> <picture-seq-number>2</picture-seq-number> </picture> <picture> <picture-url>http://images.brokerrealty.com/323458/1.jpg</picture-url> <picture-caption>Bathroom was remodeled in 2009</picture-caption> <picture-description>View of the bathroom</picture-description> <picture-seq-number>3</picture-seq-number> </picture> <picture> <picture-url>http://images.brokerrealty.com/423459/1.jpg</picture-url> <picture-caption>Backyard</picture-caption> <picture-description>View of the backyard</picture-description> <picture-seq-number>4</picture-seq-number> </picture> </pictures> <virtual-tours> <virtual-tour> <virtual-tour-url>http://www.sampleurl.com/lr</virtual-tour-url> <virtual-tour-caption>Living room area</virtual-tour-caption> <virtual-tour-description>This tour shows the living room area.</virtual-tour-description> <virtual-tour-seq-number>1</virtual-tour-seq-number> </virtual-tour> <virtual-tour> <virtual-tour-url>http://www.sampleurl.com/backyard</virtual-tour-url> <virtual-tour-caption>Backyard</virtual-tour-caption> <virtual-tour-description>This tour shows the backyard.</virtual-tour-description> <virtual-tour-seq-number>2</virtual-tour-seq-number> </virtual-tour> </virtual-tours> <videos> <video> <video-url>http://www.videourl.com/video1</video-url> <video-caption>Living room and Kitchen</video-caption> <video-description>This video shows the living room and kitchen area.</video-description> <video-seq-number>1</video-seq-number> </video> </videos> <floorplan-layouts> <floorplan-layout> <floorplan-layout-url></floorplan-layout-url> <floorplan-layout-caption></floorplan-layout-caption> <floorplan-layout-description></floorplan-layout-description> <floorplan-layout-seq-number></floorplan-layout-seq-number> </floorplan-layout> </floorplan-layouts> <agent> <agent-name>Bob Agent</agent-name> <agent-phone>800-555-1234</agent-phone> <agent-email>[email protected]</agent-email> <agent-alternate-email>[email protected]</agent-alternate-email> <agent-picture-url>http://images.brokerrealty.com/agent35.jpg</agent-picture-url> <agent-id></agent-id> </agent> <brokerage> <brokerage-name>We Sell Houses Brokerage</brokerage-name> <brokerage-broker-name> Jane Broker </brokerage-broker-name> <brokerage-id>wsh321</brokerage-id>

21

Page 22: Trulia Dev Guide

<brokerage-mls-code>SFAR-2151</brokerage-mls-code> <brokerage-phone>800-555-4321</brokerage-phone> <brokerage-email>[email protected]</brokerage-email> <brokerage-website>http://www.WeSellHouses.com</brokerage-website> <brokerage-logo-url>http://www.WeSellHouses.com/logo.jpg</brokerage-logo-url> <brokerage-address> <brokerage-street-address>123 Utah St</brokerage-street-address> <brokerage-city-name>San Francisco</brokerage-city-name> <brokerage-zipcode>94103</brokerage-zipcode> <brokerage-state-code>CA</brokerage-state-code> </brokerage-address> </brokerage> <office> <office-name>Main Office</office-name> <office-id>123</office-id> <office-mls-code>SFAR-6542</office-mls-code> <office-broker-id>3251</office-broker-id> <office-phone>800-555-3652</office-phone> <office-email>[email protected]</office-email> <office-website>http://www.mainoffice.com</office-website> </office> <franchise> <franchise-name>Franchise Realty</franchise-name> <franchise-phone>800-555-4321</franchise-phone> <franchise-email>[email protected]</franchise-email> <franchise-website>http://www.franchiserealty.com</franchise-website> <franchise-logo-url>http://www.franchiserealty.com/logo.jpg</franchise-logo-url> </franchise> <builder> <builder-id></builder-id> <builder-name></builder-name> <builder-phone></builder-phone> <builder-email></builder-email> <builder-lead-email></builder-lead-email> <builder-website></builder-website> <builder-logo-url></builder-logo-url> <builder-address> <builder-street-address></builder-street-address> <builder-city-name></builder-city-name> <builder-zipcode></builder-zipcode> <builder-state-code></builder-state-code> </builder-address> </builder> <property-manager> <property-manager-name></property-manager-name> <property-management-company-name></property-management-company-name> <property-manager-office-hours> <office-day> <day-of-the-week></day-of-the-week> <office-start-time></office-start-time> <office-end-time></office-end-time> <comment></comment> </office-day> </property-manager-office-hours> <property-manager-phone></property-manager-phone> <property-manager-email></property-manager-email> <property-manager-lead-email></property-manager-lead-email> <property-manager-website></property-manager-website> <property-manager-logo-url></property-manager-logo-url> </property-manager> <community> <community-building></community-building>

22

Page 23: Trulia Dev Guide

<community-id></community-id> <community-name></community-name> <community-phone></community-phone> <community-email></community-email> <community-fax></community-fax> <community-description></community-description> <community-website></community-website> <community-address> <community-street-address></community-street-address> <community-city-name></community-city-name> <community-zipcode></community-zipcode> <community-state-code></community-state-code> </community-address> <building-amenities> <building-amenity>Fitness Center</building-amenity> <building-amenity>Fitness Center</building-amenity> </building-amenities> <community-amenities> <community-amenity></community-amenity> </community-amenities> </community> <plan> <plan-id></plan-id> <plan-name></plan-name> <plan-type></plan-type> <plan-base-price></plan-base-price> </plan> <spec> <is-spec-home></is-spec-home> <spec-id></spec-id> </spec> <open-home> <period1-date>2010-07-25</period1-date> <period1-start-time>13:00</period1-start-time> <period1-end-time>16:00</period1-end-time> <period1-details>Accepting offers</period1-details> <period2-date>2010-08-01</period2-date> <period2-start-time>13:00</period2-start-time> <period2-end-time>16:00</period2-end-time> <period2-details>Accepting offers</period2-details> <period3-date></period3-date> <period3-start-time></period3-start-time> <period3-end-time></period3-end-time> <period3-details></period3-details> <period4-date></period4-date> <period4-start-time></period4-start-time> <period4-end-time></period4-end-time> <period4-details></period4-details> </open-home> <taxes> <tax> <tax-type>Property Tax</tax-type> <tax-year>2010</tax-year> <tax-amount>8000</tax-amount> <tax-description></tax-description> </tax> </taxes> <hoa-fees> <hoa-fee>325</hoa-fee> <hoa-period>monthly</hoa-period> <hoa-description>HOA fees include water and garbage</hoa-description>

23

Page 24: Trulia Dev Guide

</hoa-fees> <additional-fees> <fee> <fee-type></fee-type> <fee-amount></fee-amount> <fee-period></fee-period> <fee-description></fee-description> </fee> </additional-fees> <schools> <school-district> <elementary> Elementary School </elementary> <middle>Middle School</middle> <juniorhigh>Junior High School</juniorhigh> <high>High School</high> <district-name>San Francisco Unified School District</district-name> <district-website>www.sfusd.edu </district-website> <district-phone-number>415-123-7777</district-phone-number> </school-district> </schools> <detailed-characteristics> <appliances> <has-washer>yes</has-washer> <has-dryer>yes</has-dryer> <has-dishwasher>yes</has-dishwasher> <has-refrigerator>yes</has-refrigerator> <has-disposal>no</has-disposal> <has-microwave>yes</has-microwave> <range-type>gas</range-type> <additional-appliance> <additional-appliance-name>Vegetable Steamer</additional-appliance-name> <additional-appliance-description>Brand new GE vegetable steamer</additional-appliance-description> </additional-appliance> <appliances-comments>All appliances replaced with kitchen remodel in 2009.</appliances-comments> </appliances> <cooling-systems> <has-air-conditioning>no</has-air-conditioning> <has-ceiling-fan>yes</has-ceiling-fan> <other-cooling></other-cooling> </cooling-systems> <heating-systems> <has-fireplace>yes</has-fireplace> <fireplace-type>wood</fireplace-type> <heating-system>gas</heating-system> <heating-fuel>gas</heating-fuel> </heating-systems> <floor-coverings>Hardwood</floor-coverings> <floor-coverings>Carpet</floor-coverings> <total-unit-parking-spaces>2</total-unit-parking-spaces> <has-garage>yes</has-garage> <garage-type>attached</garage-type> <parking-types> <parking-type>garage lot</parking-type> </parking-types> <has-assigned-parking-space>yes</has-assigned-parking-space> <parking-space-fee></parking-space-fee> <assigned-parking-space-cost></assigned-parking-space-cost> <parking-comment>side-by-side parking for 2 cars deeded to this unit</parking-comment> <foundation-type>Concrete</foundation-type>

24

Page 25: Trulia Dev Guide

<roof-type>Shingle</roof-type> <architecture-style>Victorian</architecture-style> <exterior-type>Brick</exterior-type> <room-count>8</room-count> <rooms> <room> <room-type>Living room</room-type> <room-size>18x16</room-size> <room-description>Great views of the city</room-description> </room> <room> <room-type>Dining room</room-type> <room-size>14x14</room-size> <room-description>Formal dining room with pass-through to the kitchen</room-description> </room> <room> <room-type>Bedroom</room-type> <room-size>17x15</room-size> <room-description>Master Bedroom with adjacent bathroom</room-description> </room> <room>Bedroom</room> <room-size>12x15</room-size> </rooms> <year-updated>2008</year-updated> <total-units-in-building>2</total-units-in-building> <total-floors-in-building>3</total-floors-in-building> <num-floors-in-unit>2</num-floors-in-unit> <has-attic>no</has-attic> <has-balcony>yes</has-balcony> <has-barbeque-area>no</has-barbeque-area> <has-basement>no</has-basement> <has-cable-satellite>yes</has-cable-satellite> <has-courtyard>yes</has-courtyard> <has-deck>yes</has-deck> <has-disabled-access>no</has-disabled-access> <has-dock>(no</has-dock> <has-doublepane-windows>yes</has-doublepane-windows> <has-garden>yes</has-garden> <has-gated-entry>no</has-gated-entry> <has-greenhouse>no</has-greenhouse> <has-handrails>no</has-handrails> <has-hot-tub-spa>yes</has-hot-tub-spa> <has-intercom>no</has-intercom> <has-jetted-bath-tub>yes</has-jetted-bath-tub> <has-lawn>yes</has-lawn> <has-mother-in-law>no</has-mother-in-law> <has-patio>yes</has-patio> <has-pond>no</has-pond> <has-pool>no</has-pool> <has-porch>no</has-porch> <has-private-balcony>yes</has-private-balcony> <has-private-patio>yes</has-private-patio> <has-rv-parking>no</has-rv-parking> <has-sauna>no</has-sauna> <has-security-system>no</has-security-system> <has-skylight>yes</has-skylight> <has-sportscourt>no</has-sportscourt> <has-sprinkler-system>no</has-sprinkler-system> <has-terrace></has-terrace> <has-vaulted-ceiling>no</has-vaulted-ceiling> <has-view>yes</has-view>

25

Page 26: Trulia Dev Guide

<has-washer-dryer-hookup>yes</has-washer-dryer-hookup> <has-wet-bar>no</has-wet-bar> <has-window-coverings>yes</has-window-coverings> <building-has-concierge>no</building-has-concierge> <building-has-doorman>no</building-has-doorman> <building-has-elevator>no</building-has-elevator> <building-has-fitness-center>no</building-has-fitness-center> <building-has-on-site-maintenance>no</building-has-on-site-maintenance> <is-waterfront>no</is-waterfront> <other-amenities> <other-amenity></other-amenity> </other-amenities> <furnished>no</furnished> <view-type>City lights</view-type> </detailed-characteristics> <advertise-with-us> <channel></channel> <featured></featured> <branded></branded> <branded-logo-url></branded-logo-url> </advertise-with-us> </property></properties>

26

Page 27: Trulia Dev Guide

In an attempt to expedite the inclusion process of your listings to Trulia’s website, it is recommended that you complete the following steps:

• Successfully generate the feed according to the format presented in this document with all of your desired listings.

• Verify the file is well formed.

• Verify each property within the file has a unique, stable Provider Listing ID <provider_listingid>.

• Verify the end-user submitted values (i.e., <description>) are enclosed in CDATA elements.

• Submit your feed details to Trulia: http://www.trulia.com/submit_listings/feed.

FEED DEVELOPMENT CHECKLISTCHAPTER 5:

27