MLS Import Documentation Dec 29, 2019 · 5 min read

Controlling which listings are imported

B
Benjamin Levy
Contributor · MLSimport

Every filter on an import task lives under Import Parameters, and they all narrow the same query. The MLS has to satisfy all of them at once, so each filter you add can only reduce the count shown next to We found.

That single rule explains most surprises on this screen, including a task that reports zero listings while each filter on its own returns hundreds.

Price

Price Between takes two plain numbers, without currency symbols or separators. Write 150000 and 450000. The maximum starts at 10000000, which is there to mean “no practical ceiling” rather than a real limit.

Price is the cheapest filter to reason about, and the most useful for splitting a market that is too large for one task. Two tasks divided at a price point never overlap.

Location

  1. Select cities lists every city your MLS publishes. Hold Ctrl on Windows or Command on Mac to pick several. Large feeds carry hundreds of entries, so use the search box above the list.
  2. Add extra Cities takes a comma separated list for values missing from the dropdown. They must be spelled exactly as the MLS stores them, including capitalisation.
  3. Select Counties and Add extra Counties work the same way. Importing by county rather than by a list of cities keeps the query short and covers the area more reliably.
  4. Select Postal Code is a comma separated list, for example 33139, 33140.
  5. MLS Area Major and Subdivision Name filter on the MLS’s own area and subdivision values. Both are free text and both are only useful when your MLS populates them.
Pro Tip

If saving produces the message about too many parameters, the query built from your selections has grown too long to send. Selecting one county replaces ten cities and fixes it immediately. Splitting by price range is the other reliable way out.

Property type and category

Two dropdowns divide the feed by type, and their labels do not match the RESO field names behind them.

  1. Select Property Action Category is the RESO PropertyType field. It carries the top level split: Residential, Residential Lease, Land, Commercial Sale and similar.
  2. Select Property Category is the RESO PropertySubType field. It carries the finer split: Single Family Residence, Condominium, Townhouse and so on.

This pair is where rentals arrive on a site that only sells. If Or Select All is ticked on the Property Action Category, every type comes in, and Residential Lease is one of them. Untick it, select only the types you want, and save.

Two servers behave differently here. On a Rapattoni MLS the Property Action Category becomes single choice and one value must be selected, otherwise the request is refused. On REALTOR.ca the field is not offered at all, because that feed has no equivalent.

Status

Select Status decides which listing statuses are imported. It is filled from the statuses your own MLS publishes, so the list differs between boards. New tasks default to Active.

This field does more than filter the first import. The daily reconciliation reads it too: a listing still in the MLS whose status is no longer in this list is removed from the site. Adding Pending here means pending listings are imported and kept. Leaving it out means a listing that moves to pending is taken down.

Protected Statuses is the opposite instruction. Anything whose status is in that list is never deleted by reconciliation, even when it disappears from the MLS entirely.

One listing, one agent, one office

  1. ListingId imports a single listing by its MLS number. It is the fastest way to test a mapping or inspect one record.
  2. ListAgentKey, ListAgentMlsId, BuyerAgentMlsId, ListOfficeKey and ListOfficeMlsId restrict the task to one agent or one office.
  3. The four Exclude listings with fields do the reverse, and are how you keep two tasks from claiming the same listings.

Internet display flags

Internet Entire Listing Display and Internet Address display map to the RESO consent flags. They record whether the seller allowed the listing, or its address, to be shown on internet sites.

Setting Internet Entire Listing Display to yes imports only listings the seller cleared for internet display. Many MLS agreements require exactly that, so check your data licence before leaving it unset.

Custom parameters

Custom parameters adds your own OData condition to the query the other fields build, for anything they do not cover. Write the condition on its own, with no $filter= in front of it:

WaterfrontYN eq true

The on screen example in that field shows a $filter= prefix. Leave it out. An expression containing $filter, a question mark, an ampersand or a semicolon is rejected before the request is sent, and the run stops with that reason instead of importing.

It is the correct tool for a field with no dedicated control, such as filtering a province wide feed down to one province. It is also unforgiving: a wrong field name returns an error or zero results rather than a warning.

Pro Tip

Change one filter at a time and watch the We found count after each Update. The count is calculated from the saved task, so it tells you exactly which filter emptied the result, which is far quicker than rebuilding the task from scratch.

Frequently asked questions

Rentals are still on my site after I removed them from the filters. Why?

Filters decide what the next run imports, not what is already in WordPress. Remove the existing ones from MLS Import Settings, Tools, using the delete tool on the property type or status taxonomy, then let the corrected task run.

My city is missing from the dropdown. What now?

Type it into Add extra Cities, spelled exactly as your MLS stores it, capitals included. The dropdown is built from the values the MLS published when your fields were fetched, and some feeds leave the city list incomplete.

Can one task import from two different MLSs?

No. A WordPress install holds one MLS connection, and every import task on the site queries that one feed. A second MLS means a second WordPress install and a second subscription.

Does a filter change re-import listings I already have?

No. Existing properties are matched by their MLS identifier and updated in place, never recreated. Listings that newly match your filters are added on the next run, and nothing re-downloads what is already correct.

  1. Filtering by agent or office
  2. Closed and off market listings
  3. Protected statuses
  4. What an import task is

Send us the filters you have set and the count you expected, and we will tell you which one is emptying the result.

B
About the author
Benjamin Levy
Writes about MLS feeds, IDX compliance, and running real-estate websites on WordPress at scale.
All posts by Benjamin