There are three ways MLS listings end up on a WordPress site, and they behave differently enough that the choice shapes everything you can do afterwards. MLSImport uses the third one: it imports listings into your database as real WordPress posts.
This page explains the three approaches and what each costs you, so the trade you are making is clear before you build on top of it.
1. An embedded IDX widget
A vendor hosts the search and the listing pages, and you place them on your site inside an iframe or on a subdomain the vendor controls.
It is the fastest to set up, because the vendor already holds the data feed. The cost is that the listing pages are not yours. They live at the vendor’s address, they are styled by the vendor, your theme cannot template them, your page builder cannot query them, and if you leave the vendor the pages leave with them.
2. A live query on every page load
Nothing is stored. Each visitor’s search triggers a request to the MLS API, and results are rendered from the response.
Listings are as current as the API, and your database stays empty. The cost is that every page view depends on the MLS server answering quickly, there is no stored page for a search engine to return to, and what visitors can filter or sort by is limited to what the API accepts in a single request.
3. Importing into your database
Listings are copied into WordPress as property posts, then kept in step with the MLS by a scheduled sync. This is what MLSImport does.
The listings become ordinary content. Your theme templates them, your search queries them, your page builder can loop over them, they have URLs on your domain, and they keep working while the MLS API is briefly unavailable. The cost is that your database grows with the number of listings you import, and the data is only as fresh as your last sync.
What each approach actually costs you
Three differences decide most setups.
- Who owns the page. Embedded IDX pages belong to the vendor. Live queries produce pages that exist only for the moment they are rendered. Imported listings are posts on your domain that you keep.
- What your theme can do with the data. An iframe is opaque to your theme. A live query gives your theme a response to render but nothing to store, relate, or reuse. Imported listings sit in the same tables as the rest of your content, so anything WordPress can do to a post it can do to a listing.
- Where the load goes. An iframe puts the load on the vendor. A live query puts it on the MLS API on every visit. Importing puts it on your hosting once, at import time, and on your database from then on.
The database growth is the part people plan for and the image storage is the part they overestimate. MLSImport does not copy photo files onto your server, so a large import grows your database rows without growing your disk or your backups by much.
How fresh imported listings are
MLSImport syncs hourly. Each run asks the MLS what changed since the last one and applies price, status, description, and photo changes to the posts you already have. A separate daily reconciliation pass removes listings that are gone from the MLS.
So an imported listing is up to an hour behind the MLS, plus whatever delay your MLS applies to its own feed. For every practical purpose on a public website that is current. It is not the right approach if you need to show something that changes minute to minute.
Both passes run on WordPress cron by default, which only fires when someone visits your site. On a site with little traffic, listings drift. Pointing a real server cron job at your site removes that dependency.
What your MLS allows
The approach you choose is partly your decision and partly your MLS’s. Your IDX or Web API agreement sets what you may display, how it must be attributed, and how quickly your site must reflect changes and removals. Rules differ between MLSs, and the fact that the data is technically available does not mean every use of it is permitted.
Two settings exist for the most common rule. An import task can filter on InternetEntireListingDisplayYN and InternetAddressDisplayYN, which are the RESO fields that record whether the seller allowed the listing, or its address, to appear on the internet. Set them when your MLS requires those opt-outs to be respected.
Ask your MLS for the display rules in writing before you build, not after. Attribution requirements, required disclaimers, and rules about which statuses may stay visible are easier to satisfy while you are still choosing filters and templates.
What MLSImport is not
MLSImport does not embed a vendor’s search on your site, and it does not query the MLS on each page load. It imports. If your requirement is a search box over the entire MLS with nothing stored on your side, importing is the wrong tool and no amount of configuration turns it into the right one.
Frequently asked questions
Do imported listings stay visible if the MLS API goes down?
Yes. The listings are posts in your database, so your site keeps serving them. The next sync picks up whatever changed while the API was unreachable. Photos are the exception, because they load from the MLS image source rather than from your server.
Will visitors see the same listings as on the MLS public site?
Only where your filters and your MLS’s rules agree. Your import tasks decide which listings arrive, and listings whose seller opted out of internet display can be excluded with the internet display filters. Both narrow what you show compared to the full feed.
Can I run imported listings and an embedded IDX widget at the same time?
Technically nothing stops you, and some sites do it during a migration. It usually confuses visitors, because the two systems have separate searches, separate detail pages, and separate result counts for the same market.
How much hosting do imported listings need?
More than a brochure site and less than most people expect, since no image files are stored. The load is database queries, not disk. A few hundred listings run on ordinary shared hosting. Tens of thousands need a VPS or a dedicated server, mostly because of the import runs rather than the front end.
Related
- What MLSImport is and how it works
- Requirements before you buy
- Building a Zillow or Redfin style site: what is realistic
- How many listings can you import
If you are weighing this against a specific vendor or a specific MLS agreement, open a support ticket from your MLSImport account and tell us which MLS you are in.