RETS

The Real Estate Transaction Standard (RETS)

I recently did a project for a local real estate office, and I found it nessecary to learn more about the ‘The Real Estate Transaction Standard (RETS)’ system than I ever needed to know. However, it is an interesting system that facilitates data transfer between partners in the real estate industry. It is miles ahead of the antiquated method of downloading megabytes of csv files each night in order to update the local databases – a very slow, painful and time consuming process.

The RETS system allows us to update our local real estate databases throughout the day, and each update takes only minutes to do. What’s more, it has required no human intervention since it started running over 6 months ago. It has been a set it and forget it operation, which I like very much.

I was able to script a RETS “replicator” that keeps our local databases in sync with the main MLS RETS databases, so that MLS listings appear in our local database only very shortly after entry into the main RETS systems. The replicator is written in vbscript as an .asp class, and right now is scheduled on windows task scheduler to run every couple hours thoughout the day. It utilizes the open-source ezRETS ODBC Driver available from California Association of REALTORS (C.A.R.) at http://www.crt.realtors.org/projects/rets/ezrets/

After experimenting with various methods to connect to RETS and script a solution, it was clear that ezRETS was the winner. I plan to make the RETS replicator .asp class available here soon. It has been tested and running smoothly on a Windows 2000 server for the better part of the last year.

Requirements to run the RETS replicator .asp class application are the open-source ezRETS ODBC Driver, and a realtor login to the RETS system.

Our local RETS system uses a a Rapattoni Rets MLS Server, and the script is set up with the field names for our local MLS server. Modifications to the field names will probably be needed to enable the script to talk to other servers.

I did learn that even though the RETS system is striving to institute standards in real estate data transfer, the RETS MLS systems still differ somewhat in their database setups. Field names can vary on different types of MLS servers and even within the same brands of RETS servers from different RETS MLS offices. RETS MLS systems are not databases in the traditional sense like SQL Server or MySQL, but are instead IDX systems with pointers to the records. This can be somewhat tricky for developers to deal with when starting to develop a RETS solution. This is where ezRets really helps, it converts traditional SQL statements into IDX commands that the RETS MLS system understands.