IDX 101: Freelancer guide to real estate listings
Evaluating a real estate project can prove challenging for even the most experience freelancer or web agency. Answering the question “can we get our listings on the new website” is not straight-forward.
When we talk about getting access to listings for display on a website or mobile app, we’re talking about IDX (Internet Data Exchange). Most people confuse IDX with a specific technology, it’s not. If you get leads for projects from real estate clients this primer will tell you what you need to know about IDX and how to get access to it.
IDX is an agreement between brokerages in a particular area on how real estate listings owned by a brokerage can be shared online (often on competing brokerage websites). IDX not only controls how the data is shared and organized, it also determines what data is available. Some brokerages might decide not to participant in IDX and their listings cannot be listed on other websites, other brokerages display all of their listings for IDX, and still other brokerages pick and choose what listings they want to make available.
Want to know more about IDX? Subscribe to my FREE 5-day IDX crash course.
The IDX policy is set by the local MLS (Multiple Listing Service) which is acts as a type of governing body for one or more local real estate associations. The concept of an MLS is pre-Internet and was formed to allow brokerages to cooperate with each other on real estate deals. There are over 700 MLSs in the United States, and every one has different policies for IDX, which can contribute to the fractionalized and confusing nature of real estate tech.
Understanding that IDX is a set of policies is important when evaluating a project for your client. Showing listings on your client’s website that have not been shared for IDX can land your client in hot water with their local real estate association or MLS. When discussing IDX for your client you need to ask:
- How are listings marked for IDX or Internet display?
- What kind of notices or disclaimers are needed when displaying the listings?
- Are there any restrictions from your board or MLS on the display of the listing data? Anything we can’t show (even if we have access to it?)
Once you understand that IDX is a policy, not a technology, the next step is to figure out what technology solutions are available for your client to get IDX access.
There are specific companies that provide traditional IDX solutions. IDXBroker is an example. These companies offer a widget or an iframe you can embed on a site, or a url you can send the users to that will provide a page or UI to perform a real estate search. There are some benefits:
- They’ve figured out the compliance issues & requirements to the MLS
- They import the data from the MLS and have created search tools and ways to view photos, capture leads, favorite listings, etc
- The cost point is fairly low and implementation is pretty quick, some offer limited customization
The downsides are:
- Everything is cookie cutter, your client is going to get the same search & UI that the other brokerages using the IDX provider will have
- SEO options are limited. Since everything is running in an iframe, the ability for search engine bots to deep index is not possible. Your clients could be missing out on search engine traffic.
- Responsive, mobile design might be limited or non-existent. Since you have little control over the UI you might not be able to keep your responsive design for the entire site.
- Lack of control, inconsistent design. Since you’re forced to use the IDX provider’s UI, it may clash with your design, leading to an inconsistent, unsatisfying project.
Real Estate Transaction Service (RETS)
If you want more control, there’s an option to pull the raw listing data from an MLS using a technology called RETS. RETS stands for Real Estate Transaction Service; it’s a standard set by the Real Estate Standards Organization (RESO) that allows you to write code to import real estate listings into your own database.
RETS comes with a query language called DMQL that lets you run searches for properties, photos, and other data from the MLS. This allows developers to run imports to grab as much data as they need for their project.
There are a number of libraries for PHP, Java, Ruby,and more you can use to help you develop w/ RETS.
To get access, you’ll need to find out what MLS or real estate association your client is a member of and then get the contact info for the person responsible for providing RETS credentials. You’ll need three pieces of information, a login url, username, and password. Make sure to specify that the RETS login is for IDX (as opposed to an internal tool). Usually you and your client will have to sign a vendor agreement with the board which will outline what you can or can’t do with the data.
Also be aware that the MLS might charge you/your client a vendor fee. If it’s a one-off project you can tell the board you’re a consultant and that might help you get past paying the fee. Again it’s different for every MLS.
The biggest downside with RETS is that it only standardizes how connect and query the data, it doesn’t actually standardize the fields. If you need to connect to multiple MLSs, you’ll quickly find that the data schema can be drastically different one MLS to another. Bathrooms might be represented as a decimal, it might be split into “HalfBaths”, “TotalBathrooms”, prices might be called “ListPrice”, “Price”, or “LIST_23” (seriously).
Another challenge is importing the data itself. Even with the libraries, learning how to query and download data from RETS presents a learning curve. An MLS could have tens of thousands of listings and hundreds of thousands of photos. You’ll need some pretty good backend development chops and database design experience to support that amount of data.
Additionally you’ll need to make sure the server environment your project is running on can handle that kind of processing, a shared low cost $5 a month hosting plan isn’t going to cut it, you’ll need to have your client spring for a VPS.
Real estate APIs
If you want the benefit of a raw data feed but you don’t want to design and build your own RETS import, you may want to consider a new class of API IDX providers. These providers will handle importing data from the board for you and instead of providing you a pre-made widget, they’ll give you access to a web API you can use to integrate with your site.
The advantages to these providers is you’ll be able to design & develop your own search, listing pages, photo galleries, without having to incur the added development cost of importing the data yourself. Examples of these types of services are Retsly, Spark API, and my service Rets Rabbit.
Let me talk about Rets Rabbit (since I’m most familiar with it). If you have RETS access already we’ll use that access to import the listings into our system, after the initial import is complete, we’ll give you access to our REST API. If you’ve built code that works with APIs before, it’s pretty easy to get started. In addition we have plugins for WordPress, ExpressionEngine, and a PHP library that can make it even easier.
For both the RETS and API options, you’ll need to handle the compliance and disclaimers yourself. But both options are great for building a unique, no-compromises website for your real estate client.
I hope that gives you enough background information about IDX. There’s a lot more to cover but hopefully this gives you enough to help to sound knowledgable the next time you get a lead for a real estate client.
Want to know how to get raw real estate data from your MLS?
Wondering how you can get nationwide real estate listing data?
Become a real estate data pro with my 5-day email course. You’ll get actionable information when you’re planning your web or mobile project. You’ll know the pros and cons of IDX, RETS and how to get access from your MLS.
Signing up is simple, just enter your email address below:
IDX 101: FREE Real Estate Data Crash Course