Using a RETS feed to access MLS data requires the following steps:
- Obtain permission and credentials from each MLS you would like to download data for
- Create a database and ETL process on your side to host the data locally
- Create a download for the listing photos, or use the URL-based GetObject transaction
- Host your application on top of your local database
Breaking these down a little further:
Obtain permission and credentials from each MLS you would like to download data for
Access to RETS data is authorized through each MLS individually. Typically, there will be an agreement that you will need to sign regarding the use of the data. The MLS will provide you with a login and password for the RETS feed.
Create a database and ETL process on your side to host the data locally
You will need a database server along with a database schema to host the listings. If you intend to integrate with multiple MLS', you will want to do so in a fairly standard way. One way to accomplish this is by starting with the RESO Data Dictionary. While not all RETS servers support the Data Dictionary standard (yet), the industry is moving in that direction.
For more information, go to the RESO site: http://www.reso.org/data-dictionary
Also, version 1.4 may be finalized later this year. Version 1.3 will give you a good starting point, though.
Create a download for the listing photos, or use the URL-based GetObject transaction
Here, you have two options. You can download and host the photos yourself, or utilize the URLs provided by GetObject with the location=1 request header. With the former, you will likely have hundreds of gigabytes of storage needed to host the photos. With the latter, you will simply link to the host images through the URL provided.
Host your application on top of your local database
This (along with the download and ETL in step 1) is where the bulk of your time will be spent, if you do not already have a solution. This will require you to write an application that uses your replicated RETS database as a backend for searching, reporting, prospecting, or whatever features you need to build on top of listings.
As far as searching and displaying data, the Data Dictionary format I proposed above will help with that. It provides a normalized view of the MLS data. Note that until the MLS goes through the process of conforming to the Data Dictionary within their system, your ETL process may contain a lot of value mapping and translation to get the MLS data into the Data Dictionary schema.