That is the single most common surprise in this whole category, and it happens because most guides describe MLS plugins as if listings arrive with the download. They do not. This covers what the plugin actually does, how to get the feed that makes it work, which protocol to ask for in 2026, what the real options cost, and the search problem that catches almost every real estate site eventually.
A WordPress MLS plugin displays Multiple Listing Service property data on your site. The plugin alone does nothing. You also need an approved IDX data feed from your local MLS, which generally requires a real estate license or a broker affiliation. Ask for RESO Web API access rather than legacy RETS.
Table of Contents
What a WordPress MLS Plugin Actually Does
An MLS plugin is a display and search layer. It connects to a listing data feed, pulls property records on a schedule, stores or queries them, and renders search pages and listing detail pages on your WordPress site. The plugin does not grant access to listing data, and no plugin can.
Think of it as a tap. The plumbing that brings water to the building is a separate arrangement with a separate approval process, and that is the part most people discover late.
MLS, IDX and VOW: Three Different Things
These terms are used interchangeably in marketing copy and mean genuinely different things. Getting them straight saves a lot of confusion when you contact your MLS.
| Term | What it is | Why it matters to you |
|---|---|---|
| MLS | The database of listings, operated by a local board | The source of the data |
| IDX | A licensing and display framework for showing other brokers’ listings publicly | The feed type most agent sites need |
| VOW | Virtual Office Website, showing more data behind a registration wall | More fields, stricter rules |
| RESO Web API | The modern technical protocol for delivering the data | What you ask for today |
| RETS | The legacy protocol it replaced | Deprecated, avoid for new builds |
The practical shorthand: IDX is permission, RESO Web API is plumbing. When someone says “set up an IDX feed,” they mean getting both, and most integrations in 2026 apply IDX display rules on top of a RESO Web API data connection.
You Need MLS Access Before Any Plugin Works
This is the step that stops most projects, and almost no plugin sales page mentions it. Accessing MLS listing data requires holding a real estate license, affiliating with a licensed broker, or partnering with an IDX vendor that holds the licensing relationship on your behalf. The data cannot be obtained through a simple API subscription.
So before you compare plugins, answer one question: do you or your brokerage have MLS membership and a data feed you can request? If yes, the rest is configuration. If no, the plugin is not the problem to solve first.
What to Request From Your MLS
Go to your MLS website and look for a section called IDX, Data Feed, or Developer. Submit the access request, and be specific about what you need, because many MLS staff will send RETS credentials by default unless you say otherwise.
Ask, in writing, for these four things:
- The Web API URL (the endpoint your plugin will connect to)
- A client ID
- A client secret
- Any server token or scope notes describing which fields you are approved to receive
State plainly that you are building a self-hosted WordPress site and need IDX access via the RESO Web API rather than a RETS login. That one sentence removes several rounds of back-and-forth.
Expect a license agreement, a review period measured in weeks rather than days, and display rules you are contractually required to follow. Those rules typically govern attribution, how often data must refresh, which fields may be shown, and how quickly sold listings must be removed.
If You Do Not Have MLS Board Access
Plenty of people building real estate sites are not licensed agents. Developers building for a client, property managers, investors marketing off-market deals, and agents whose brokerage controls the feed all hit the same wall.
There are three routes. Work through a licensed broker who sponsors your feed request. Use an IDX vendor that holds the licensing relationship and resells access, which is what IDX Broker, iHomefinder, and similar services do. Or build the site around listings you control directly rather than MLS data.
That third option is more viable than people assume, especially for pocket listings, rentals, new developments, and commercial property that never touches the residential MLS. If you do not have MLS board access, or want to combine live feeds with your own exclusive and off-market listings, pairing MLS data with a broader listing plugin is worth considering. This roundup of the best WordPress real estate listing plugins covers several options built for exactly that.
RETS Is Dead. Ask for the RESO Web API
If your plugin documentation, your developer, or your MLS contact is still talking about RETS in 2026, that conversation needs updating.
RETS, the Real Estate Transaction Standard, launched in 1999 and carried nearly every IDX website for two decades. It has since been deprecated, and the Real Estate Standards Organization states on its own Web API page that companies are moving away from RETS and transitioning to the Web API.
The RESO Web API is now the mandated transport for REALTOR-operated MLSs under NAR Policy 7.90, with more than 500 certified MLSs globally as of June 2026. It is REST-based, uses OData query syntax, and is considerably easier to work with than the protocol it replaced.
A handful of boards still expose RETS endpoints for backward compatibility, usually on older platforms. Building on one creates technical debt from day one, because the standard is no longer maintained and the endpoint has a retirement date whether or not anyone has told you what it is.
How to Tell Which One You Were Given
Look at the credentials in the email from your MLS. The two protocols are easy to tell apart.
| Signal | RETS (legacy) | RESO Web API (current) |
|---|---|---|
| URL contains | /rets/login.aspx | /OData/ |
| Credentials | Username and password | Client ID and client secret |
| Style | Session login | OAuth-style token |
| Data format | Proprietary | JSON over OData |
If you received a username and password against a login URL, you were given RETS. Go back and ask specifically for Web API access.
You can also check your MLS’s status yourself. RESO publishes a Web API Transition Leaderboard showing which MLSs have completed the migration. If yours appears under the completed table, RETS access has probably already been retired regardless of what the paperwork says.
One more thing worth knowing if your feed was set up before 2024. The NAR settlement that year changed how cooperation and compensation fields are handled, so feed schemas were updated. If your integration predates it and has not been touched since, check that nothing is silently failing to map.

The Main WordPress MLS and IDX Options
Plugins in this space fall into three groups, and the right one depends on whether you hold the feed yourself.
| Option | How it works | Best for |
|---|---|---|
| IDX Broker | Hosted service with a WordPress plugin, holds vendor relationships | Agents who want it handled end to end |
| Showcase IDX | Hosted search and lead capture, WordPress integration | Agents prioritising lead generation |
| iHomefinder | Hosted IDX with WordPress plugins and CRM features | Teams wanting search plus follow-up |
| Realtyna | Connects your own feed, stores listings in WordPress | Sites wanting listings in their own database |
| SimplyRETS | Developer API plus a WordPress plugin, connects RETS or RESO feeds | Developers building custom search |
| Listing directory plugins | Your own listings, no MLS feed required | Off-market, rentals, commercial, pre-MLS |
We go through these option by option, including which ones work with a feed you already hold and which bring their own, in our guide to the best IDX plugin for WordPress.
The structural difference that matters more than any feature list: do the listings live in your WordPress database, or on the vendor’s servers?
Hosted services render listings through an iframe or a subdomain they control. Setup is faster and the compliance burden is theirs. The trade-off is that the listing pages are often not really your pages, which has consequences covered in the SEO section below.
Self-hosted integrations pull the feed into your own database as custom post types. You get full control of templates, URLs, and search, and you inherit responsibility for sync reliability, storage, and display compliance.
What It Costs
Pricing in this category has three layers, and only the first appears on most comparison pages.
The plugin or service. Hosted IDX services generally run from roughly $50 to $150 a month depending on tier and lead features. Self-hosted plugins tend to charge an annual licence instead.
Feed connection fees. Some middleware charges per connected feed. SimplyRETS, for example, applies a one-time $99 connection fee for each RETS or RESO Web API feed added to an account, on top of the monthly plan. Multiple MLS coverage usually costs more again.
Your MLS. Boards commonly charge a data feed or IDX access fee, and these vary enormously between markets. Ask about this when you submit the access request rather than after.
Add a fourth line if you are self-hosting the data: infrastructure. A feed of 40,000 listings with images is a real database, and it wants hosting to match. Our guide to upgrading your WordPress hosting plan covers when shared hosting stops being adequate.
Verify every figure above with the vendor directly before budgeting. Pricing in this category changes often and varies by market.
Installation and Setup
The plugin part is ordinary WordPress. The feed part is where the work sits.
- Get feed approval first. Do not install anything until you have credentials. Everything downstream depends on them.
- Install the plugin. Plugins, then Add New, then either search the repository or upload the vendor’s zip file. Activate it.
- Enter your credentials. Web API URL, client ID, client secret. If the plugin asks for a username and password instead, it expects RETS, and you should confirm it supports the Web API before going further.
- Run the first sync manually. Start with a limited field set or a single property class. A full first import on a large feed can time out, and diagnosing that is easier with a small dataset.
- Map your fields. Feed fields will not match your templates automatically. This step takes the longest and is where most configuration time goes.
- Set the sync schedule. Your MLS agreement will specify a minimum refresh frequency. Match it.
- Check display compliance. Attribution, disclaimers, and required broker information. Your license agreement lists these and they are not optional.
- Test on staging, not production. Especially the first sync. Our guide to WordPress local development covers setting that up.

If you are building custom functionality around the feed rather than using it as shipped, our explainer on developing WordPress plugins covers the hook and template patterns you will need.
The SEO Problem With IDX Listings
Here is the part that gets left out of every vendor page, and it will affect you eventually.
IDX listing pages are duplicate content by design. The same property, from the same feed, with the same description and photos, appears on hundreds or thousands of agent sites in your market simultaneously. Google has no reason to rank your copy over anyone else’s, and generally does not rank any of them well.
So the common expectation, that adding thousands of IDX pages will bring in search traffic, rarely holds. What usually happens is a large number of near-identical thin pages get crawled, and some of them get indexed, which is not obviously good for the rest of the site.
What Actually Works Instead
Three approaches, in order of effectiveness.
Build original area pages. Neighbourhood guides, market reports with your own numbers, school and commute information, and what it is actually like to live somewhere. These rank because nobody else has written them. Embed the IDX search for that area inside the page rather than relying on the listing pages themselves.
Decide deliberately what to index. Many setups index every listing by default. Consider indexing search and area pages while leaving individual feed listings out of the index, or at minimum ensure canonical tags are configured correctly. Check your MLS agreement first, since some specify indexing behaviour.
Treat local SEO as the real channel. Real estate search is local, and the mechanics are the same as for any location-based business. Our breakdown of why local SEO matters for service businesses applies directly to agents.
Structured data is worth adding to your own listings and area pages, though it does not solve the duplication problem on feed content.
Performance: Why IDX Sites Get Slow
Large feeds are heavy. A self-hosted integration with tens of thousands of listings, each with a dozen images and thirty searchable fields, puts real load on a database that was designed for blog posts.
Three things cause most of the slowness. Search queries running directly against the listings table with no dedicated index. Images served at full resolution from the feed rather than resized locally. And sync jobs running during peak traffic hours.
The fixes are ordinary. Schedule syncs overnight. Cache aggressively, but exclude the live search results and individual listing pages, since those need to reflect current data. Serve images through a CDN. Our comparison of WP Rocket and FlyingPress covers the caching layer, with the caveat that IDX pages need careful exclusion rules.
If search remains slow after all of that, the standard pattern is to index listings into a dedicated search engine and serve results from that index rather than from the raw feed table.
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| Plugin installed, no listings appear | No feed credentials, or feed not yet approved | Confirm your MLS has approved and issued access |
| Credentials rejected | RETS credentials in a Web API field, or vice versa | Check the URL pattern and credential type |
| Sync starts then stops | Server timeout on a large first import | Limit the initial import, raise execution limits, sync in batches |
| Listings appear then vanish | Sold or withdrawn listings removed by the feed | Expected behaviour, check your retention rules |
| Photos missing | Media not included in your approved field set | Confirm image fields are in your feed agreement |
| Prices or fields blank | Field mapping incomplete after a schema change | Re-check mappings, especially post-2024 feeds |
| Site slow after adding IDX | Unindexed queries and full-size images | Schedule syncs off-peak, resize images, add a search index |
| Compliance warning from your MLS | Missing attribution or stale refresh | Review the display rules in your license agreement |
Frequently Asked Questions
What is a WordPress MLS plugin?
A WordPress MLS plugin connects your site to a Multiple Listing Service data feed and displays property listings with search functionality. The plugin handles display and search only. The listing data comes from a separate feed that your MLS must approve, and without that feed the plugin has nothing to show.
Can I use an MLS plugin without a real estate license?
Not directly. MLS data access requires a real estate license, affiliation with a licensed broker, or a partnership with an IDX vendor that holds the licensing relationship. You cannot buy raw MLS access as a subscription. Sites without that access typically use a listing plugin with their own property data instead.
What is the difference between MLS and IDX?
The MLS is the underlying database of listings maintained by a local board. IDX, or Internet Data Exchange, is the licensing framework that permits brokers to display each other’s listings publicly on their own websites. When people say they need an MLS plugin, they usually mean an IDX feed and a plugin to display it.
Is there a free WordPress MLS plugin?
Some plugins are free to install, but the MLS feed is not free and the plugin alone displays nothing. Free directory-style real estate plugins exist and work well for your own listings. For live MLS data, expect ongoing costs from the vendor, the middleware, or your board, and usually more than one of the three.
Do I still need RETS in 2026?
No, for new builds. RETS is deprecated and no longer supported by RESO, and the RESO Web API is the mandated transport for REALTOR-operated MLSs under NAR Policy 7.90. A minority of boards still expose RETS endpoints, but building on one creates technical debt against a protocol with no future.
How do I know if my MLS supports the RESO Web API?
Check RESO’s Web API Transition Leaderboard, or read your MLS’s data feed documentation. RESO Web API endpoints usually contain “/OData/” and use a client ID and client secret. RETS URLs typically contain “/rets/login.aspx” and use a username and password. If in doubt, ask your MLS in writing.
How long does it take to get an IDX feed approved?
Usually weeks rather than days. The process involves a license agreement, a review, and credential issuance, and timelines vary considerably by board. Start the request before you begin building, because it is frequently the longest lead item in the project.
Does IDX content hurt my SEO?
It rarely helps, and it can dilute your site. The same listings, with the same descriptions and photos, appear on hundreds of agent sites from the same feed, so search engines have little reason to favour your copy. Original neighbourhood and market content is where real estate sites actually earn rankings.
Should IDX listing pages be indexed?
It depends on your market and your MLS agreement, and the default of indexing everything is rarely optimal. A common approach is to index search and area pages while keeping individual feed listings out of the index. Check your license agreement first, since some boards specify indexing requirements.
What is a VOW feed and do I need one?
A Virtual Office Website feed provides more listing data than IDX, including fields not permitted for public display, and requires visitors to register and agree to terms. Most agent sites need IDX rather than VOW. Consider VOW only if you have a genuine reason to show restricted data behind a login.
How much does a WordPress MLS plugin cost?
Hosted IDX services generally run from roughly $50 to $150 a month, self-hosted plugins usually charge an annual licence, and middleware may add a per-feed connection fee. SimplyRETS, for instance, charges a one-time $99 fee per feed connection. Your MLS may charge separately. Verify all current pricing with vendors directly.
Can I connect more than one MLS to one WordPress site?
Yes, though it costs more and adds complexity. Each MLS needs its own approval, credentials, and display rules, and field schemas differ between boards. Most plugins support multiple feeds as a paid add-on. Budget extra time for field mapping across boards.
Why are my listings not updating?
Check the sync schedule, then the credentials, then the error log. Expired credentials, a changed feed schema, and timed-out sync jobs on large feeds are the three usual causes. Your MLS agreement specifies a minimum refresh frequency, and falling behind it can be a compliance problem as well as a display one.
Can I show off-market or exclusive listings alongside MLS data?
Yes, and many sites do. MLS feeds only carry listings entered into the board’s system, so pocket listings, pre-market properties, rentals, and much commercial inventory sit outside them. A listing plugin managing your own properties can run alongside an IDX integration, with the two displayed together or separately.
Do I have to follow display rules?
Yes, and they are contractual. IDX agreements typically govern attribution, required broker information, minimum refresh frequency, which fields may be displayed, and how quickly sold or withdrawn listings must come down. Non-compliance can mean losing feed access, so read the agreement before you design the templates.
Start With the Feed, Not the Plugin
The agent from the opening paragraph did not buy the wrong plugin. They bought the right plugin in the wrong order, and the empty settings screen was telling them something useful.
So work backwards. Confirm whether you or your brokerage can request an MLS feed, and start that request this week, because approval takes longer than the build. Ask explicitly for RESO Web API access. Choose the plugin once you know the shape of the feed you will actually receive. And plan your search traffic around original area content rather than around the listing pages, because the listings will look identical to everyone else’s.
One question is worth answering before any of it. Of the properties you want on your website, how many are actually in the MLS?











