The Multiple Listing Service is a complex database of listings entered directly by Real Estate professionals and acts as a trading platform to buy and sell Real Estate properties. When a property is on the market for sale, it is added to the database and tracked through the sales transaction cycle – for example, when an offer is accepted by the seller and the property closes escrow, this is known as a ‘status change’ in the MLS system.
All this information provides a real-time database for real estate professionals to know precisely when a property is available for sale at any given moment and precisely when a property sells and for what price. Interestingly, the MLS is the very source that provides the listing feeds to Participant Broker sites and other distribution channels like HomeSnap, Zillow Group and so they have accurate Real Estate listings.


SmartMLS,Inc. provides MLS Datafeeds to brokerage offices and for companies offering products and services that help our subscribers in their business. Here are some data options available to you as a Participant/Subscriber to SmartMLS, Inc.


Broker/Participant who provides a consumer facing website to market their agents’ listings and attract consumers to use their services.

IDX data service allows for the display of on market listing inventory such as listings that are in the Active or Show status.

IDX data service also allows for the display of Sold information up to 36 months after closing date.

This data service provides most property details and contains all listIngs from brokers that are opted into the IDX Program

This data service is a public facing access with no login required. Allows for general statistics and AVMs on the available data. 

IDX Feed Available Fields


Broker/Participant who provides a client facing website to further enhance the broker-client relationship for their agents

This type of data service allows for the display of on market listing inventory such as listings that are in the Active or Show status.

VOW data service also allows for the display of Sold information up to 36 months after closing date.

This data service provides most property details excluding data that is confidential for example expiration dates and commission information. The VOW data option contains all listings with no consideration of IDX opt out.

VOW data service requires a login and has strict requirements for demonstrating broker-client relationship. 

VOW Feed Available Fields


Broker/Participant or vendor providing a real estate service tool such as back office system.

This type of vendor builds agent facing products or services.

This data service provides access to all data of all property types, all property statues and all property details. Vendor products are restricted to SOLD listing information back 36 months.

This data package offers all historical listings.

This data service requires login with strict requirements

Full Data Feed Available Fields


My Matrix IDX Configuration

You can use the built-in IDX functionality in Matrix to add MLS search and listing display functionality to your personal website.

To begin, go to the My Matrix tab and click Settings:

From the Settings page, go down to the bottom and click IDX Configuration.

Create and Manage your IDX Pages:

The IDX Configuration page allows you to either set up IDX pages for searching all CMLS IDX listings from

within your personal website, or display your own On Market listings on your website.

  1. Enter the name of the IDX page you want to create.
  2. The Form Selection area allows you to choose the type of search you are creating- you can either choose to link to your own listings (My Listings) or all participating MLS listings (Map Search).
  3. The Search Form allows you to choose the display users will view the search results in. If you are working with a My Listings search, you will have additional options in this section that allow you to set the default display that search results will appear in.
  4. If you have selected a Map Search, the Map Area section allows you to configure the map area that shows on the search.
  5. In the Activation section, make sure to put a dot in from of IDX Enabled if you want to activate the search. If it is not enabled, it will not work on your website.
  6. HTML is the code that is generated for your search- it will populate with a URL once you have filled out all sections on the IDX Configuration page and clicked Save. This is ‘iframe’ handled code, which means it is intended to be displayed as an independent frame within your webpage. Your webmaster needs to use this URL to create a frameable link for your website.
  7. The Referring Page field will automatically populate once you have actually used the HTML link to frame the search into your own website. You are not able to type anything into this field.
  8. Click the Preview tab in the upper right to see what your search screen will look like.
  9. The Other Options section is enabled when you are working with a My Listings search.
  10. Remember to click the Save button when you’re done to save your changes.

When naming your IDX pages, it is a good idea to be as descriptive as possible, but also to choose a name that you will remember. When you want to pull up an IDX page that you have created, simply start typing the name of it in the Name field and anything that matches what you have typed will come up and allow you to view or modify it.

You can create multiple IDX pages for different purposes (residential search, open house search, etc.). If you are creating multiple IDX pages, Matrix will generate a unique URL for each one.

The Other Options section, which is only accessible when you are working with a My Listings page (not with a Map Search), allows you to control some of the color layout and button styles for your IDX page.

You can use the buttons at the right side of each field to open up the Color Picker, which allows you to change the color of the page background, header background, or header font.

Use the circle on the outside ring to determine the color you want to use. Use the circle within the triangle to determine the shade of the color.

As you drag the circles around the ring and triangle, you will see the corresponding hexadecimal color values populate with the field.

Once you have selected the desired color, click the Done button to close the Color Picker window.

If you already know the hexadecimal value of the color you want to use, you can simply enter it into the appropriate field (rather than using the Color Picker).


There is a Preview tab at the top right corner of the page that allows you to see what the IDX page will look like before you actually integrate it into your website.

If you have made any Style changes (in the Other Options section) to your IDX page, you will need to save it first before the preview will display any updates.


*** Pro Tip: if you are using the Preview tab and need to get back to the Settings screen, make sure to use the Settings tab in the upper right (next to Preview) and not the Back to Settings button in the bottom left. The Back to Settings button will actually close you out of the IDX Configuration screen completely and bring you back to the My Matrix> Settings menu. If you do this, you may lose any

unsaved work***

Important information for Brokers.

Are you looking to setup your own website which incorporates a search or any other MLS type elements. If so, here are some important questions to ask your potential vendor.

What are the set up costs for a web site?
Most web site designers will want some type of up-front fee to create your web site. Find out exactly what steps the designer will take during these initial stages.

What is included in the up-front fees? Find out if the package you are considering includes the complete design of a custom web site, or if it only includes certain “template” elements. Find out how much control you have over things like the graphic design of your site, the color scheme, etc.

Can I integrate IDX / RETS information to my existing web site? You may already have a web site and a web site designer and you may just want to incorporate the IDX / RETS piece into that existing site. If you want to keep your existing designer, have him/her contact other designers who have IDX / RETS experience and help you select one who is best for you.

What are the maintenance costs and how frequently are they due? Most web site designers will charge you a monthly or quarterly maintenance fee. You should find out what you are receiving for this fee.

Is a hosting fee included, or is it payable separately? Once a designer creates your site, it will have to be “hosted” on a computer connected to the Internet. Your designer may include the cost of hosting in the maintenance fees. Or you may have to make separate arrangements for hosting. If the designer will host your site, ask for the web address of another site they host. Visit this site and evaluate the performance as it relates to search speed and display returns.

Does the maintenance fee include periodic changes to your site? You will want to change information on your site, things like firm special events, salesperson of the month, etc. Find out how many such changes are included in any maintenance fee, and how much additional changes will cost.

Does the maintenance fee include access to statistics about who is visiting your web site and when? Critical to any marketing plan involving the Internet is an understanding of who is visiting your web site and from where they are being referred. There are software packages available that will track activity on your web site and provide important answers to these questions. Will your web site designer provide this information to you? Is the cost included in your maintenance?

What is the cost for additional work and features? If you see something on another site your designer has created, he/she should be able to tell you how much it would cost to add it to your own site. Do not assume that a feature will appear on your site just because it appears on another site your designer created for another broker. The contract you write with the designer should list all the features you want and indicate their price.

Discuss changes you will probably have to make. Find out how much they will cost:

Change an agent name
Add a link
Add a banner
Add a web page
Will the vendor display all photos on each listing, or just the main photo?

Will you own the domain name? If you are paying the designer to register your domain name, it’s important that the designer commit to registering it in your name.

Does the Broker own the site content? You will want to be able to take your web site design with you if you choose another designer down the road. Seek provisions in your contract that will guarantee this. Note: this is probably only applicable to “custom” site content. If you buy a “template” package, the web site vendor will not relinquish any rights in the template or the search interface to you).

Who is the designer/vendor? Is it a corporation, sole proprietor, LLC? Who will deliver on the promises the salesperson makes if that salesperson leaves?

What is vendor’s experience web-based databases, real estate web sites, etc., and with whom have they worked? If they have built other broker web sites, visit them.

How soon after you sign a contract will your web site be up? It is important to clarify all parties’ expectations here.

What is RETS?

The Real Estate Transaction Standard (RETS) is a technology used to exchange standardized real estate data between all of the various types of software systems that handle real estate information. RETS is not a program, nor is it a language. It is a framework that can be adopted by any computer system to receive data from the Multiple Listing Service (MLS).   The RETS protocol has served the real estate industry for 20 years. Millions (if not Billions) of real estate transactions have used this protocol and to that end it has served the industry well.

All access to RETS requires a RETS login and password issued by SMARTMLS once fully executed agreements have been submitted to SmartMLS. The SMARTMLS RETS Systems are resources shared by real estate professionals and RETS users. The primary function of the SMARTMLS MLS RETS System is to provide current data to real estate professionals in a timely manner and the function of RETS is to provide MLS data to both MLS users and third parties. SMARTMLS monitors RETS data traffic in order to keep a close eye on system performance slow downs not only for RETS, but possibly within the MLS system resulting in a poor experience for both real estate agents and RETS users.

SMARTMLS would prefer not to impose limits on RETS users, either on the amount of data or when data can be accessed; however, if it is determined that a RETS user is consistently running either large downloads or has improper/inefficient RETS queries, we reserve the right to impose limits either on when the queries are allowed to run, or how much data can be downloaded within a certain time. To ensure the experience is optimal for all users, SMARTMLS requests all RETS users refrain from running large downloads between 8 am and 6 pm on Monday through Friday. During these hours, please run incremental searches. Large or full downloads can be run after 6 pm and before 8 am

SMARTMLS would prefer not to impose limits on RETS users, either on the amount of data or when data can be accessed; however, if it is determined that a RETS user is consistently running either large downloads or has improper/inefficient RETS queries, we reserve the right to impose limits either on when the queries are allowed to run, or how much data can be downloaded within a certain time. To ensure the experience is optimal for all users, SMARTMLS requests all RETS users refrain from running large downloads between 8 am and 6 pm on Monday through Friday.  During these hours, please run incremental searches. Large or full downloads can be run after 6 pm and before 8 am

The URL for the SmartMLS RETS Servers is:

Viewing SMARTMLS Rets Metadata:
There are several ways to view the Rets Metadata. One method is by going to this URL once you have logged in:

SmartMLS Matrix has one Class called Cross Property, which contains eight property types

Linking Classes
The MATRIX_UNIQUE_ID in the Cross Property class links to the Listing_MUI in the Rooms and Units Classes.
The MATRIX_UNIQUE_ID in the Cross Property class links to the TABLE_MUI in the Media Class.

Media and RETS
RETS accesses the media server on the SMARTMLS system. Media added to the MLS system is immediately available
* Every listing has an MLS Number and MATRIX_UNIQUE_ID in the Cross Property Class. The MATRIX_UNIQUE_ID in each Property Class links to the TABLE_MUI in the Media class.
* The MATRIX_UNIQUE_ID in the Cross Property Class does not link to the MATRIX_UNIQUE_ID in the Rooms, Units, Media, or Open House Classes.
* You can download media from the media servers using “GETOBJECT.”
* Downloading photos in RETS is done through the GETOBJECT request. Here is an example of the GETOBJECT request to get an image for a property. It is the code to retrieve an actual photo for MLS Number 9143317 (MATRIX_UNIQUE_ID = 1418036) in the SMARTMLS database:
* The ID portion of the parameters has two parts. ID=1418036:01418036 is the MATRIX_UNIQUE_ID of the listing, our primary key, as noted in the METADATA-RESOURCE. It is not the MLS number.

The “:0” of the ID means to get the primary picture. A “:1” will get you the first picture, which is the primary picture, so in effect :0 and :1 are equivalent. “:2” will give you the second picture. If you use a “:*” you will receive a multipart response which contains all of the images for that property.

Media Basic Facts:
* There is no request in RETS to ask for ALL of the images.
* There is a field called PHOTOCOUNT in the listing table that indicates the number of photos for that particular listing.
* The field PHOTOMODIFICATIONTIMESTAMP contains a modification timestamp for the photos for a listing. If any new pictures are added, removed or replaced the listing’s PHOTOMODIFICATIONTIMESTAMP would be changed as well as the MATRIXMODIFIEDDT.
* You can pull photo updates for listings using a similar method for pulling listing updates, but instead of using MATRIXMODIFIEDDT you can use PHOTOMODIFICATIONTIMESTAMP. When listings have a newer PHOTOMODIFICATIONTIMESTAMP, you need to download the photos for those listings. Alternatively, you could use a different method whereby when you download updates for a listing, you can compare the old PHOTOMODIFICATIONTIMESTAMP with the new one. If they differ, re-download the photos for that listing. This method works because the MATRIXMODIFIEDDT is updated at the same time as the PHOTOMODIFICATIONTIMESTAMP.

Keeping Data/Website Current
* The oldest data available through SMARTMLS RETS is MatrixModifiedDT greater than or equal to 1/1/2014. If you are downloading data in support of a website, your initial download should be for
* MATRIXMODIFIEDDT > 12/31/2014 for Listing, Rooms, Units, and Media
* Status includes ‘A’, ‘ACO’, ‘AKO’, and ‘AOC’,
* Subsequent downloads would be for all statuses changing the MATRIXMODIFIEDDT as applicable.
* If you are a broker downloading data in support of a back-office product, you will more than likely be downloading all statuses. SMARTMLS strongly recommends using MATRIXMODIFIEDDT to divide the initial download into multiple passes. Failure to download the full database in increments may cause degradation in system performance. You may also find you cannot download the full database with a single download.

Recommendation for downloading large amounts of data
The following is an efficient and effective method to download large amounts of data:
* Take note of the time that you started this process – it will be used later.
* Use a query of (MATRIX_UNIQUE_ID= 0+)&Limit=20000
* Retrieve all those listings
* Find the highest MATRIX_UNIQUE_ID from those listings
* Create a new query with (MATRIX_UNIQUE_ID =<HighestID from step 4>+)&Limit=20000
* Repeat from step 3 until you receive all listings.
* Start the general download of listings using the MATRIXMODIFIEDDT equal to the date you got in step 1. This makes sure to get any changes you may have missed while getting the entire set of listings. This process works because all of our output is ordered by the primary key, the MATRIX_UNIQUE_ID field.

Keeping your database up to date
There are instances where listings are removed from the MLS Database. To keep your databases in synch with the SMARTMLS MLS Database, be sure to refresh the listings on a regular interval. A process similar to this can be run nightly:
* Perform a RETS search like this (MATRIX_UNIQUE_ID =0+)&Select=MATRIX_UNIQUE_ID, STATUS
* This should return a list of all of the MATRIX_UNIQUE_ID’s in the MLS Database.
* Compare this list to your current database. If you have a listing that is not in the list that you have downloaded, then you need to remove it. If there is a MATRIX_UNIQUE_ID in the list that you do not have you need to download it.
* This method will be much faster and more bandwidth friendly than simply refreshing the entire listing set every night.

Important Date Fields

Verify your credentials and connection
To verify you can connect to the RETS Server and download data, paste this URL into your browser:   Press Enter and enter the RETS credentials you were assigned. SMARTMLS RETS credentials are case sensitive.

Then, paste this URL into your browser and press enter:,MATRIXMODIFIEDDT  If the screen returns something like this:

<?xml version=”1.0″?>
-<RETS ReplyText=”Operation Success.” ReplyCode=”0″>
<DELIMITER value=”09″/>
<DATA> 1000000 2014-03-27T16:30:17.690 </DATA>
<DATA> 1000001 2014-03-27T16:30:17.690 </DATA>
<DATA> 1000002 2014-03-27T16:45:20.513 </DATA>
<DATA> 1000003 2011-03-08T09:32:02.000 </DATA>
<DATA> 1000004 2014-02-06T22:35:53.330 </DATA>
<DATA> 1000005 2014-02-06T22:35:53.330 </DATA>
<DATA> 1000006 2014-02-06T22:35:53.330 </DATA>
<DATA> 1000007 2014-02-06T22:35:53.330 </DATA>
<DATA> 1000008 2014-02-06T22:35:53.330 </DATA>
<DATA> 1000009 2014-02-06T22:35:53.330 </DATA>

Then your credentials are working and you can connect to SMARTMLS RETS and download data. If you are having a problem downloading RETS data through your client, then the problem is probably with your RETS Client. You will have to contact Technical support for your particular client for assistance.   After viewing this page, please logout of RETS by pasting this into your browser  and press Enter.

* The Listing, Rooms, Units, Agents, Office and OpenHouse classes contain the MATRIXMODIFIEDDT field which is a date and time the record was last changed.
* In the Media Class, the MODIFIED field performs the same function.
* For new listings, this timestamp is when the listing was added to MLS. It changes when media is added, edited, or modified.
* When the data in the Rooms and Units classes changes, it also changes the MATRIXMODIFIEDDT in the Listing Class.
* The MODIFIED field on the MEDIA class is updated when the media is added or modified (it is not updated when any media is deleted). When media is added, edited, or modified, it changes the MATRIXMODIFIEDDT field on the property classes. The PHOTOMODIFIECATIONTIMESTAMP field in the property classes is updated whenever media is added or modified.
* Every night at midnight, an automated process changes the status of listings according to their expiration date. If you are accessing the data around this time, you may wish to wait until 20 or 30 minutes after midnight to download data.
* SMARTMLS recommends using the SELECT parameter in RETS, it allows you to select specific fields you may wish to download. See the RETS 1.8 Specification for information on this parameter. If you use a SELECT statement in your query, the addition of a new field into MLS and RETS will not break your processes. If you do not use the SELECT parameter, RETS will return all fields, but a change to MLS and RETS could cause your processes to fail.
* SMARTMLS maintains a set of ‘test’ MLS Listings used for troubleshooting and demonstration purposes. These are not valid listings and do not always contain valid information. Some of the data in these listings can cause your RETS download to fail or will not easily integrate into various databases. These listings are in ‘MLSAREAMAJOR =1001’. Setting the MLSAREAMAJOR parameter to filter on MLSAREAMAJOR between 1 and 1000 will avoid SMARTMLS Test listings.
* Listings in the MLSAREAMAJOR=1000 are outside the United States. Every time a new city is added to the system you will get a prompt that the City field has changed in the metadata.

Below are the choices on this page that will provide you with useful information:
• GetMetadata System XML Compact
• GetMetadata Resource XML Compact
• GetMetadata ForeignKeys XML Compact
• GetMetadata Class XML Compact
• GetMetadata Table XML Compact
• Get MetaData Lookups XML Compact
• Get MetaData LookupValues XML Compact
• Get MetaData Object XML Compact

What is RESO?

Real Estate Standards Organization, or RESO, was incorporated in November 2011 as an independent, not-for-profit trade organization that was previously a section of the National Association of REALTORS®.

RESO actively develops, adopts and implements open and accepted data standards and processes across all real estate transactions. RESO provides an environment for the development and implementation of data standards and processes that facilitate software innovation, ensures portability, eliminates redundancies and obtains maximum efficiencies for all parties participating in real estate transactions.

RESO has more than 700 active members, including NAR, multiple-listing services, real estate associations, brokerages and industry technology providers.

Who can Make use of RESO standards

The primary players who help create and use RESO standards are the MLS, Brokers and Technology Partners to MLS/Brokers and the Real Estate Industry.

Why are standards important to the real estate industry?

Standards remove ambiguity and incompatibility across different computer systems within and outside organizations as well as between business partners resulting in more consistent and higher quality data among those that support those standards.   In short, standards make it easier for programmers to handle real estate information from many different entities as it forces consistency when exchanging data between different systems. Without RESO standards, programmers would spend more time dealing with many different types of systems, fixing more bugs and correcting erroneous data.

What are the concerns that drive the formation of the standards?

Creativity, efficiency, quality and cost control are the major factors that drive the formation of technology standards. RESO Standards also help level the playing field which enables smaller business entities to participate and compete with larger institutions.

How can I help increase adoption of the standards?

Joining and supporting RESO is always a good first step to help increase the adoption of real estate standards. All real estate entities should also ensure that their technology solutions utilize RESO standards when and where appropriate.

What current standards does RESO publish?

RESO currently publishes standard documents for the Web API, Data Dictionary, the Universal Prioperty ID and RETS 1x protocols (soon to be expired) . Details for all of these standards can be found under the “Resource” menu in

What is the Data Dictionary?

The Data Dictionary serves as a guideline for a North American standard for the fields and lookups in Multiple Listing Service (MLS) databases. An MLS does not need to support every field or lookup in the Data Dictionary, but if it does have a given field in the Data Dictionary it should to support that data item as defined in the Data Dictionary.

How does the Data Dictionary get implemented for general consumption?

The MLS, broker and their vendor or technology partner must convert their local MLS Data (metadata) to be Data Dictionary compliant. Once the data dictionary is implemented within a MLS it will be available to the Broker and Technology communities.

What is metadata?

Metadata is data about data. It is descriptive information about a particular data set including how it is formatted, and when and by whom it was collected.

What is the Web API?

The goal of this standard is to provide a more open data approach using the widely-adopted RESTful (REpresentational State Transfer) technology in use by many industries today. RESO’s move toward a RESTful standard is to encourage and promote access to real estate information directly from web, mobile, social and other web based applications.

What is OData?

The Open Data Protocol (OData) is an application-level protocol for interacting with data via RESTful web services. The protocol supports the description of data models and the editing and querying of data according to those models. The RESO Web API uses OData as its underlying protocol which serves as a set of fundamental building blocks.

What OData version does RESO Support?

Compatible RESO OData Transport client and server applications MUST be implemented according to the OData V4 standard specification

How is Security handled in the RESO Web API?

Security (e.g Authentication and Authorization) is not explicitly addressed in the Web API specification. However, it is addressed in a partner document labeled RETS Web API Security. Please See the “RETS Web API Security” document located in RESO Web API

SmartMLS Disclaimer:
*MLS Disclaimer:  Copyright Smart MLS.  All rights reserved. Information is deemed reliable but not guaranteed.
*MLS Disclaimer:  Information deemed reliable but not guaranteed to be accurate.

SmartMLS Logo JPG Format

SmartMLS Logo PNG Format:

To Pay your Bill Contact SmartMLS at 203-750-6000