Given I am running a real estate rentals listing website, what would be the correct vocabulary (for use in Microdata) or Microformats for the listing pages? There is the usual data: address, photos, price, start date, possible end date, person who is renting it out, list of amenities, description etc.

Are there also Microformats/vocabularies that can be used in the listing summary page (e.g., page that displays all listings in a particular city)?

  • 2
    Try: schema.org/RealEstateAgent, I would say try other top estate agencies and see what there doing but most of the top ones lack microdata and some of the markups they use look wrong. Seems to be a confusion over the use of RealEstate over Product. Mar 24, 2013 at 20:48
  • Yeah, exactly my observation. RealEstateAgent is for a local business only. But product lacks all necessary features like address etc. there is a hListing microformat, but that doesn't seem to be supported by google. This my confusion. Mar 25, 2013 at 5:11
  • Google supports microformats, so, you are free to use them. support.google.com/webmasters/answer/146897?hl=en Jan 28, 2014 at 16:46

3 Answers 3


Use this format: Replace Organization with Place use <span itemprop="thing"> Home For Sale

<div itemscope itemtype="http://schema.org/Organization"> 
   <span itemprop="name">Beyond Window Cleaning</span> 
   Located at: div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
      span itemprop="streetAddress">1231 Mallard Creek Dr.</span>,
      span itemprop="addressLocality">Aubrey</span>,<span itemprop="addressRegion">TX</span>76227.
 Phone: span itemprop="telephone">(469) 209-9070</span>
   <a href="http://beyondwindowcleaning.com/" itemprop="url">http://beyondwindowcleaning.com</a>
  • 2
    does it also allow to add properties like price, size and dates? they are important if it's about a "listing" that is for sale or rent. Jan 29, 2014 at 8:24

These might also be helpful for the listings:




For the actual residence, use 'Place' as the schema markup to denote address etc.

For anything transactional, refer to the potentialAction property.

<div itemscope itemtype="http://schema.org/Place">
    <div itemprop="potentialAction" itemscope itemtype="http://schema.org/TradeAction"> <!-- change 'TradeAction' to 'RentAction' or 'Buy Action' if applicable-->
        <meta itemprop="name" content="Name of Transaction Type" />
        <!-- If you list multiple action, here is where you'll declare them as new itemtype. -->
            <span itemprop="price">$399</span> per <span itemprop="endTime" itemscope itemtype="DateTime"><! -- dataSetInterval or whatever would be best dateTime property --></span>
    </div> <!-- end potentialAction -->
</div> <! -- end Place -->`

Depending on the context, your TradeAction could be set to BuyAction, RentAction or whatever can be the case.

I just would like to point out scope within Microdata since that is where people get tripped up. Whenever you see expected type in the Schema.org documentation, that is where you declare itemtype="http://schame.org/ExpectedTypeName" here.

Each type must have at the very least a name property declared, and remember - expectedType can return a child of that type.

i.e. If expected Type is Local Business, I can do Pharmacy if it is more specific.

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.