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-20002000-2500null(no square footage data available)
Filtering Behavior
- You can still use
minSqftandmaxSqftparameters - The system will return listings whose square footage range meets your criteria
- Important limitation: Many listings have
nullvalues fordetails.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.sqftas 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
minYearBuiltandmaxYearBuiltparameters - 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
Thank you!
