Articles on: Property Search & Filtering

PropTx (TRREB) MLS® Filtering Considerations

The PropTx (TRREB) MLS® feed has unique data characteristics that require special filtering considerations compared to other MLS® feeds. This article outlines the key differences and best practices for working with PropTx data.


Square Feet Filtering (details.sqft)


Data Format


PropTx provides square footage as ranges rather than specific values. Examples include:


  • 1500-2000
  • 2000-2500
  • null (no square footage data available)


Filtering Behavior


  • You can still use minSqft and maxSqft parameters
  • The system will return listings whose square footage range meets your criteria
  • Important limitation: Many listings have null values for details.sqft


Critical Consideration


When filtering by minSqft and maxSqft, you will exclude listings that don't have square footage data, effectively hiding some listings from your search results.


Price Per Square Foot Statistics


Due to the range-based nature of square footage data, price per square foot statistics are provided as ranges:


"statistics": {
"sqft": {
"avgPriceLow": 556,
"avgPriceHigh": 683
}
}


Implementation Options:


  • Display as low and high estimates
  • Calculate the average of the two values as an estimated price per square foot
  • Present both ranges to give users a complete picture


Best Practices


  • Use details.sqft as a display field rather than a search filter to ensure you don't miss listings with missing square footage data
  • Consider providing a "Show all listings" option to include properties without square footage data
  • When implementing price per square foot statistics, display both low and high estimates or calculate an average


Year Built Filtering (details.yearBuilt)


Data Format


PropTx provides year built as age ranges rather than specific years or year ranges. The format indicates the property's age at the time of listing:


  • "0-5" = 5 years old or newer
  • "6-15" = 6 to 15 years old
  • "16-30" = 16 to 30 years old
  • "31-50" = 31 to 50 years old
  • "51-99" = 51 to 99 years old
  • "100+" = 100+ years old
  • "new" = Brand new property


Filtering Limitations


  • Cannot use minYearBuilt and maxYearBuilt parameters
  • These parameters are designed for specific year filtering, not age ranges


Proper Filtering Method


Use the yearBuilt parameter with the specific age range value:


https://api.repliers.io/listings?yearBuilt=0-5


Getting Available Age Ranges


Use the aggregates feature to retrieve all distinct age range values and their counts:


https://api.repliers.io/listings?aggregates=details.yearBuilt&listings=false


Example Response:


"aggregates": {
"details": {
"yearBuilt": {
"0-5": 9517,
"new": 7665,
"31-50": 6607,
"16-30": 6477,
"51-99": 6429,
"6-15": 4502,
"100+": 2921,
"6-10": 2081,
"11-15": 1110,
"": 159
}
}
}


Best Practices


  • Use the aggregates feature to retrieve all available age range values before building filter options
  • Consider the dynamic nature of age ranges (they change as properties get older)


Implementation Considerations


When building user interfaces for PropTx data:


  • Provide clear labels explaining that square footage and year built are ranges
  • Consider offering "Show all listings" options to include properties with missing data
  • Use the aggregates endpoint to dynamically populate filter options


This approach ensures your users get the most comprehensive search results while understanding the unique characteristics of PropTx data.

Updated on: 17/07/2025

Was this article helpful?

Share your feedback

Cancel

Thank you!