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
GENERAL INFORMATION:
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
RETS URL:
The URL for the SmartMLS RETS Servers is: https://rets.smartmls.mlsmatrix.com/rets/login.ashx
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: https://rets.smartmls.mlsmatrix.com/rets/action.ashx
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: https://rets.smartmls.mlsmatrix.com/rets/GetObject.ashx?Type=Photo&Resource=Property&ID=1418036:0
* 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:
https://rets.smartmls.mlsmatrix.com/rets/login.ashx 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:
https://rets.smartmls.mlsmatrix.com/rets/search.ashx?CLASS=Listing&searchtype=Property&querytype=DMQL2&Query=(MATRIX_UNIQUE_ID=0%2B)&StandardNames=0&Format=COMPACT-DECODED&Limit=10&select=MATRIX_UNIQUE_ID,MATRIXMODIFIEDDT If the screen returns something like this:
<?xml version=”1.0″?>
-<RETS ReplyText=”Operation Success.” ReplyCode=”0″>
<DELIMITER value=”09″/>
<COLUMNS> MATRIX_UNIQUE_ID MATRIXMODIFIEDDT </COLUMNS>
<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>
<MAXROWS/>
</RETS>
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 https://rets.smartmls.mlsmatrix.com/rets/logout 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
Comments
Please sign in to leave a comment.