Question

We want to build a MLS application. We want to use a real MLS service as data source. What will be a better solution: using RETS directly or use a 3rd party data service to pull MLS data for us then query them for data? PS: If we want to use RETS directly, are there like sandbox services we can test our client application?

Was it helpful?

Solution

I created a website with the MLS LIsting and the PointtoAgent listing, We create a Cronjob to run every night, to take some XML file from the MLS listing and P2A, convert them from XML to MySQL, save it, remove dupicates and update status. I think that a cronjob is a good solution because you can keep updated your site. Be aware to create a good design because your DB will change constantly. Contact to MLS support they have documentation to connect and pull the XML file from your listing.

OTHER TIPS

Most of those 3rd parties do not let you query their data. They just provide widgets and other ways to insert listings into your website. I know what you're trying to do and the MLS does not make it easy for us.

If you can afford whatever your MLS charges for RETS access I would go with that. You will need more development resources and you will still have to follow that MLS' rules but you will be able to create a much more robust and customized application.

You're not going to have much choice in the matter because the MLS will decide how you get the data. They usually provide a RETS feed, but very commonly provide FTP feeds or a link solution.

FTP is probably the easiest to work with because its basically a daily download of all the listing data as a CSV file.

RETS is more flexible, but more complicated. Applications like RETSConnector are useful and simple for scheduling daily tasks that give you more or less what an FTP feed would. The issue is configuring the RETS queries to get what you need.

If writing an inhouse RETS client is on the table, use librets.

We manage more than 100 different MLS fees. I can unequivocally say you don't want to manage your own RETS data. There hasn't been a week in 3+ years that an MLS hasn't changed some of their metadata fields without telling us. When that happens, things break. More importantly, each MLS has different display requirements that you have to keep track of and if your client does anything against the rules with the data, it's possible you could be held liable.

Furthermore, contrary to popular belief, you need to download a local copy of all of the data. It's quite expensive since you'll need to store all of the data (and typically get updates every 15 minutes) plus store all of the photos.

I've been working with a few dozen RETS connections for about 2 years now. Here's what I've learned about direct pulls vs. 3rd party services...

It really depends on how much time you have, and how many vendors you're working with. If you only have to worry about a handful of vendors and have the time to regularly monitor and update those connections and data maps, then using RETS directly is viable, the NAoR even has a framework you can use called libRETS. In any other case, I would strongly recommend outsourcing or using a 3rd party service.

If you enjoy working with a NoSQL environment like I do (such as Mongo), a 3rd party service I recommend is SimplyRETS. They will provide an API that serves the data in JSON format. You can set up a simple cron task to pull this data and update your local database. You can even do a straight up direct copy of each record. It's not free, but they have good support that takes a lot of the headache out of managing the ever-changing field names and types.

Good luck!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top