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
andmaxSqft
parameters - The system will return listings whose square footage range meets your criteria
- Important limitation: Many listings have
null
values 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.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
andmaxYearBuilt
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
Thank you!