The following instructions provide further details for users who wish to manually create and use search and display Filters with various MBB display methods (widgets and links).

REMEMBER! The easiest way to create and use Filters with Widgets or Custom Search Links, is to use one of the "Widget Wizards" in the Widget area in your LAC account.

Navigate to: Widgets > Getting Started
Then choose either "Create a Custom Search Link", or, "Display Properties with Widgets".


The following notes are for users who wish to understand how to create and edit filters.

Using a Filter

WARNING: Some parameters below are marked "Filter Only" and "Hidden".
If you include "Filter Only" Filter Options with filters on "Search", "Results" or "Map" widgets then these values will be shown as criteria, BUT these are not currently available as editable fields on the search form or modify search panel, i.e. "filter only" options will be maintained if modifying other search criteria, but site visitors will only be able to delete the "filter only" criteria.
"Hidden" filters can set set in Filters, but these are currently -
(a) NOT SHOWN as selected criteria on the modify search panel, and
(b) they will be be CLEARED (i.e. removed) if the 'modify' search option is used.
Browsers will not support filter strings longer than 2048 characters.
  • When used with Display Widgets (list and Gallery)
    • This is the best place to use Hidden Filter Options
  • When Used with any Widget
    • Enclose search criteria in quotes, e.g. filter='criteria'
  • When used on a Custom Search Link

    • Do not enclose search criteria in quotes , e.g. filter=criteria
    • The Search Filter must be added to the Results Page URL without any spaces.
      Use a ? if it is the first parameter, or & if it is the second or subsequent parameter.
    • If you use HIDDEN options then be aware that if the result display is "modified" then the hidden values will be removed
  • Add search criteria after the equals sign.
  • To add a new FIELD, use the PLUS symbol +
  • To specify VALUES for the FIELD, use the COLON symbol :
  • Use a COMMA to separate multiple VALUES for a FIELD
  • Don't leave any spaces unless the space is part of a VALUE, e.g. where a city might be "Lone Tree".
Sequence of Operations.
Filters applied to in the URL will override any filter set in the widget short code.
Consequently, links that include filters to a page with a widget will load the widget and override any filter that may be on the widget itself.
Display Widget Example

In this example, a Search Filter has been added to a List Display Widget.
Search Filter has "city" is the search field (with multiple values), and "agent_id" has been added too:

<div id='MBBv3_FeaturedList' filter='city:littleton,parker,denver+agent_id:12345' ></div>

Custom Search Link Example
In this example, a Search Filter has been added to the Search Page URL
(note: use the URL of your search results page).
http://www.MySite.com/results.htm?filter=city:littleton,parker,denver+agent_id:12345

Syntax: AND or OR?

Understanding HOW the filters work, will help you to get the results you want! The filter system has rules that define how the filter works.

** Also see below: "f) suffix options: _not, _min, _max"

Broaden your search result using OR

Fields can generally include multiple values by separating each value with a comma. The search query will combine these by using OR logic.

e.g. city:A,B,C - this will find results that match either city=A OR city=B OR city=C.

Narrow your search result using AND

Adding more Fields to the search filter with + uses AND logic.

e.g. city:A+zip:55555+price_min:500000 -this will find results where ALL parameters are true,
i.e. city=A, AND zip=55555 AND the minimum price is 500,000

WARNING:
1. Be careful to not add conflicting criteria.
For example, if you specify multiple 'status' and also specify a 'sold date range' - then the 'sold date range' will of course only apply to sold listings - so listings with other status will not match and so will not be included in your result.
2. Specifying too many parameters will lead to few results.

filter={parameters}

All the following parameters can be combined into a single Filter statement.

If a Filter is not specified for a Display Widget then the Widget will display default listings (see Default Listings below)

MLS / IDX data values

Use and combine any FIELD NAMES and VALUES from the IDX data set for your MLS.
The best source for this is the "Create and Use Search Filter" tool in your LAC Account

  • mls_id:{MBB_mls_ID).
  • Other MLS search values

A Search Filter can also contain an polygon area if desired.

Example

filter="mls_id:denver+city:denver,littleton,lone tree+price_min:200000+price_max:600000+beds_min:3"

MLS Agent ID: agent_id (filter only - not editable on the search form)

The agent_id(s) can be specified either as a single agent, or a selection of agents. If your MLS also uses agent "team" IDs then this value may also be used in this filter

  • agent_id:{MLS_agent_id}

Example

filter="agent_id:12345"
filter="agent_id:12345,02588"

MLS Office ID: office_id (filter only - not editable on the search form)

The office_id(s) can be specified to show all listings from one or multiple offices.

  • office_id:{MLS_office_id}

Example

filter="office_id:ABC01"
filter="office_id:ABC01,REM01"

Buyer's Agent: seller_id (filter only - not editable on the search form)

(NOTE: Only relevant when applied with listing_status:sold (see below))

Show listings where the specified Agent ID is marked as the Buyer's Agent (often called the Selling Agent) on the MLS SOLD listing data.
The agent_id(s) can be specified either as a single agent, or a selection of agents.

  • seller_id:{MLS_agent_id}

Example

filter="seller_id:12345"

Pagination or Limit: limit

The limit option allows you to define how many results to show in the widget. This can be any number.

  • limit:{number}

For example, if you just want 5 properties shown, use: limit:5

Sort Results By: order

The order option lets you choose how to sort the results. Nested sort options can be specified.

The default sort order is ascending, but specify "desc" if you want descending values, otherwise leave blank.

  • order:price desc : show highest price first (price descending)
  • order:price : show lowest price first (ascending prices)
  • order:create_dt desc : show most recently listed Listings first
  • order:create_dt : show oldest listings first
  • order:city : sort by city ascending
  • order:city, price desc : sort by city ascending and then by price descending
  • order:sold_dt desc : show most recent SOLD listings first. IMPORTANT: only use this filter if we have SOLD in your RETS feed, AND, the filter must be specifying SOLD listings too.
  • order:rand() : show random listings
  • order:FIELD(agent_id,'123456') desc : sort by an agent's listings (using their Agent ID, replace 123456 with your agent ID!)
    Note that the Agent ID is in single quotes when inside the FIELD sort option.
  • order:FIELD(agent_id,'123456') desc, create_dt desc : sort by an agent's listings (using their Agent ID, replace 123456 with your agent ID!) and then by most recently listed Listings first.
  • order:FIELD(agent_id,'123456','654321') desc, create_dt desc : sort by an agent's listings (the two agent IDs are 123456 and 654321 - replace with YOUR agent IDs) and then by most recently listed Listings first.
    IMPORTANT! When multiple 'agent_id' are specified you MUST add each id as a comma separated list (no spaces) .. AND.. EACH ID must be enclosed with single quotes (as shown above).

Price Reduction: price_drop

Price drop can be used to filter properties that have had a price drop in the specified period.

The value can be from 1 to 30 days.

Example
e.g. Show all properties with a price drop in the last 10 days:

filter="price_drop:10"

Listing Date: create_dt / sold_dt

This is the days since the property was added to the database (or days since marked as SOLD). We are unable to show or use the actual "listing" date due to MLS rules (go figure!)

The value should be an integer.

  • create_dt:{integer}
  • sold_dt:{integer}

Example for new listings
e.g. Show all properties added to the database in the last 5 days:

filter="create_dt:5"

Example for SOLD listings
e.g. Show all properties marked as SOLD in the last 5 days:

filter="sold_dt:5"

NOTE: sold_dt is only supported IF your account includes SOLD data.

Sold Date Range: sold_range_min / sold_range_max

These filter options allow you to specify a calendar date range using the "sold date" of sold listings.

The value should be specified EXACTLY as yyyy-mm-dd, as shown below.
It is not necessary to specify both.

  • sold_range_min:yyyy-mm-dd
  • sold_range_max:yyyy-mm-dd

Example
e.g. Show all properties sold in 2020:

filter="sold_range_min:202-01-01+sold_range_max:2020-12-31"

e.g. Show all properties sold since Jan 1 2020:

filter="sold_range_min:202-01-01"

NOTE: This is only supported IF your account includes SOLD data.

Open House: openhouse_dt (where available)

Open House is only available for some MLS. Please contact us.

If Open House data is available on the search form for your MLS (grouped with "Price Drop" and "Newly Added") then you can use this filter option.

  • filter="openhouse_dt:{value}

{value} can be any of the following:

"tomorrow" - open houses tomorrow)
"weekend" - this weekend
"next-weekend" - next weeked
"7" - next 7 days
"10" - next 10 days
"14" - next 14 days
"30" - next 30 days

e.g.

filter="openhouse_dt:tomorrow"

filter="openhouse_dt:next-weekend"

filter="openhouse_dt:14"


The following are all HIDDEN search filter options - i.e. they are not available on the Search Widget or the Modify Search panel.

Suffix Options: _not, _min, _max (hidden - not available on the search form)

The three suffix values can be used with nearly all data labels to enhance your filters.
Simply apply the suffix to the label as required.

Example
e.g. Minimum of 3200 sqft (if the label is "sqft)

filter="sqft_min:3200"

e.g. Maximum of 2 garages (if the label is "garages")
filter="garages_max:2"

e.g. Exclude fix ups (if the label is "amenities:fx")
filter="amenities_not:fx"

Property Status: listing_status (active, under-contract, sold, active-rental) (filter only - not editable on the search form)

If additional property status' are supported in our service for your IDX RETS feed then the property status filter can be used:

  • filter="listing_status: {sold | under-contract | active | active-rental}"  (the default value is 'active')
NOTE: Rental Properties (active-rental) are not available in all MLS. To determine if rental properties are being supported, check to see if the For Rent option shows on the search form as shown below.
NOTE: "under-contract" and "sold" can only be used as filter values (if available). They are NOT supported in any SEARCH or MODIFY panel, or on methods that lead to a search or modify option.

These are applied in "filters", the options (where available) are:

  • filter="listing_status:active"
  • filter="listing_status:sold"
  • filter="listing_status:under-contract"
  • filter="listing_status:active-rental"

Special Notes for SOLD Properties

  • Sold properties will display the 'sold price' if it is available in your RETS feed.
  • The field label is sold_price, and for FILTERS use: sold_price_min and sold_price_max
    Therefore, a filter might use filter="sold_price_min:300000"
    Or, for sort: order:sold_price desc"
  • In general, SOLD data will only have been collected since the SOLD status was supported for any MLS.
    However, we can retrieve all SOLD data for a specific MLS-agent-ID, or MLS-office ID.
    Please contact us via the Help Desk to request this with details of your MLS-agent-ID or MLS-office-ID.

Special Display Parameters (hidden - not available on the search form)

(a) Only show properties that have photos.
This option is a good filter to use on home page "featured listings" for example, where first impressions are important.

  • prop_img:true

(b) Applies to Gallery Display and List Display widgets only.
Hide an entire section on your web page (e.g. <div class="myownlistings">) if there are no listings.
This filter is especially useful where you want to display your own listings but want to hide the widget and any heading if there are NO listings.
Without this option, if there are no listings, then your website could well be displaying a panel such as "See My Listings!"  ... and below this it would show "0 listings" from the widget.

(b) Several special parameters that are only relevant to certain uses:

Examples

Example-1
Show listings with a Display Widget.

<div id="MBBv3_FeaturedList" filter="city:denver"></div>

Example-2
Show listings with a Display Widget with "limit" and "order" also defined.
<div id="MBBv3_FeaturedList" filter="city:denver+limit:10+order:price desc"></div>

Example-3
Show listings from my office (office_id=AB), but show 'my' listings (agent_id=1234) at the top, and sort by the most recent listings first.
<div id="MBBv3_FeaturedList" filter="office_id:AB+order:FIELD(agent_id,'1234') desc, create_dt desc+limit:5"></div>

Example-4
Show SOLD listings with a Display Widget that are in city of Denver and sold within the last 21 days, with most recent sold shown first:
<div id="MBBv3_FeaturedList" filter="city:denver+listing_status:sold+sold_dt:21+order:sold_dt desc"></div>

Deprecated Methods

As of May 2017 the the following two separate parameters and now included as values in the filter itself.

These methods are depreciated and are no longer supported but do still work until further notice.

limit="{number}"

The limit option allows you to define how many results to show in the widget.

order="{field_name (desc)}"

The order option lets you choose how to sort the results.

Admin