Introducing Smart Rules: Unified MLS® Data Without the Development Headache


MaveMave Saved Months Of Development Time
WahiWahi Built a National Product in Record Time
PinePine (Formerly Properly) Cut Costs
Joes.HomesJoes.Homes went from vibe-coding to generating leads
Say goodbye to complex data mapping and hello to seamless multi-MLS® integration
We’re excited to announce the launch of Smart Rules, a powerful new feature that eliminates one of the biggest pain points in real estate data integration: handling inconsistent terminology across different MLS® systems.
If you’ve worked with MLS® data from multiple regions, you know the frustration. The same property type might be called “Single Family Residence” in one MLS®, “Detached” in another, and simply “House” in a third. Swimming pools become “Pool,” “In-Ground Pool,” or “Swimming Pool” depending on which system you’re querying.
This inconsistency forces developers into an impossible choice: create dozens of confusing filter options for users, or build complex synonym-handling logic that becomes a maintenance nightmare as you scale to new regions.
Smart Rules moves this complexity out of your application and into our API. Instead of writing and maintaining mapping tables, normalization functions, and search expansion logic, you define your rules once and let our system handle the rest.
Here’s how it works:
When you search for propertyType=House, our API automatically finds listings tagged as “Single Family Residence,” “Detached,” and any other variations you’ve defined as synonymous.
Optionally standardize the values returned in responses. Every property type comes back as “House” regardless of how the original MLS® labeled it, giving your users a consistent experience.
Without Smart Rules, you’d need code like this:
const propertyTypeSynonyms = {
‘House’: [‘Single Family Residence’, ‘Detached’, ‘House’, ‘SFR’],
‘Condo’: [‘Condominium’, ‘Condo’, ‘Townhouse’, ‘Unit’]
};
function expandSearchTerms(userQuery) {
const synonyms = propertyTypeSynonyms[userQuery] || [userQuery];
const queryParams = synonyms.map(term =>
`propertyType=${encodeURIComponent(term)}`
).join(‘&’);
return `/listings?${queryParams}`;
}
function normalizeResponse(listings) {
return listings.map(listing => {
if ([‘Single Family Residence’, ‘Detached’, ‘SFR’].includes(listing.propertyType)) {
listing.propertyType = ‘House’;
}
return listing;
});
}
With Smart Rules, you simply:
{
“rules”: {
“synonyms”: [
{
“values”: [“Single Family Residence”, “Detached”, “House”],
“request”: { “params”: [“propertyType”] },
“response”: {
“fields”: [“details.propertyType”],
“normalizedValue”: “House”
}
}
]
}
}
PATCH https://api.repliers.io/accounts/{accountId}
Content-Type: application/json
{
“rules”: {
“synonyms”: [/* your rules here */]
}
}
GET https://api.repliers.io/listings?propertyType=House
That’s it! The API returns all matching listings with normalized property types.
For Development Teams: Focus on building great user experiences instead of wrestling with data inconsistencies. No more maintaining complex mapping tables or writing normalization code.
For Users: Clean, consistent search results without confusing duplicate filter options. Search for “House” and find everything you’d expect, regardless of how different MLS® Systems categorize the same property type.
For Business Growth: Scale to new markets faster. Adding a new MLS® region no longer means weeks of analyzing terminology differences and updating your codebase.
Smart Rules supports sophisticated configurations, including:
Smart Rules is available now for all Repliers API users. We’ve designed it to handle the most common MLS® variations out of the box, and you can easily extend it with your own custom rules as you discover new regional differences.
Ready to simplify your MLS® integration? Check out our Smart Rules Implementation Guide or contact our support team to get started.
Smart Rules is part of our ongoing commitment to making real estate data integration as seamless as possible. Have ideas for other features that would save you development time? We’d love to hear from you.
Schedule a demo to learn more, or get an API key to start exploring our capabilities with our sample data.