Raw MLS Data Access With Repliers
Repliers' real estate APIs offer a standardized data dictionary across multiple MLSs, making it easier to scale your application into new regions with minimal code changes. However, given the diversity of MLS listing models, we also recognize that not every field can be normalized across all MLSs. To address this, we've introduced the "raw" fields feature.
This feature ensures that you still have access to MLS-specific fields that we don't map to our standardized data dictionary. The raw fields are original field names and values directly from the MLS, and they are hidden by default but can be easily accessed when needed.
To access raw fields for each listing in your search results, simply include the fields=raw parameter in your request. This will return the raw object for each listing.
GET https://api.repliers.io/listings?fields=raw
If you are only interested in specific raw fields, you can request them individually. For example, to retrieve the Acres field:
GET https://api.repliers.io/listings?fields=raw.Acres
You can also combine raw fields with other fields in your request. For example, to retrieve both the mlsNumber and Acres fields:
GET https://api.repliers.io/listings?fields=mlsNumber,raw.Acres
When requesting details for a single listing, you can include raw fields by adding fields=raw to your request URL.
GET https://api.repliers.io/listings/X9241188?fields=raw
Raw fields can also be used with the aggregates parameter. This is useful for grouping possible values and obtaining aggregate counts.
To get a breakdown of the Laundry field:
GET https://api.repliers.io/listings?aggregates=raw.Laundry
You can also request multiple raw aggregates or combine raw aggregates with other fields:
GET https://api.repliers.io/listings?aggregates=raw.Laundry,raw.FoundationType,details.propertyType
You can filter listings by raw fields in your search queries. For example, to find listings where Laundry is "coin operated":
GET https://api.repliers.io/listings?raw.Laundry=coin operated
You can also combine raw field filters with other filters:
GET https://api.repliers.io/listings?raw.Laundry=coin operated&maxPrice=500000
The Repliers API supports advanced query operators that provide more sophisticated filtering capabilities beyond simple equality matches.
The :not operator allows you to exclude listings that match a specific value. This is useful when you want to find listings that do NOT have a particular characteristic.
Syntax:
Example Request: To find all listings that are NOT leasehold:
Example Request: To find listings where the property type is NOT a condo:
You can combine the :not operator with other filters:
The :notContains operator allows you to exclude listings where a field contains a specific substring. This is particularly useful for text fields where you want to filter out listings containing certain keywords.
Syntax:
Example Request: To find listings that do NOT contain "Mobile" in the property description:
Example Request: To find listings where the address does NOT contain "Highway":
You can combine multiple :notContains operators:
Query operators can be combined with each other and with standard filters to create sophisticated search queries:
Example Request: Find listings that are NOT leasehold AND do NOT contain "Mobile" in the description, with a maximum price of $500,000:
Using :not operator:
Exclude specific property types: raw.PropertyType=not:Manufactured
Filter out certain ownership types: raw.Ownership=not:Leasehold
Exclude listings with specific characteristics: raw.Parking=not:None
Using :notContains operator:
Filter out listings with unwanted keywords: raw.Description=notContains:Foreclosure
Exclude specific street types: raw.Address=notContains:Highway
Remove listings with certain features: raw.Features=notContains:Shared
In this video, Co-founder Patrick Arlia provides a quick tutorial on how to work with raw data from the MLS:
https://www.loom.com/share/512930011fe94e30ad27d2a3419c65c9
The raw fields feature gives you the flexibility to access MLS-specific data that isn't normalized in our standard data dictionary. This powerful feature allows you to maintain compatibility with multiple MLSs without sacrificing access to the full range of listing data. Whether you're performing searches, retrieving single listings, aggregating data, or filtering results, raw fields provide the tools you need to get the job done.
If you have any questions or need further assistance, feel free to reach out to our support team. We're here to help!
This feature ensures that you still have access to MLS-specific fields that we don't map to our standardized data dictionary. The raw fields are original field names and values directly from the MLS, and they are hidden by default but can be easily accessed when needed.
Accessing Raw Fields via the Search Listings Endpoint
To access raw fields for each listing in your search results, simply include the fields=raw parameter in your request. This will return the raw object for each listing.
Example Request:
GET https://api.repliers.io/listings?fields=raw
Example Response:
{
"listings": [
{
"raw": {
"Acres": "50-99.99",
"Addl_mo_fee": "",
"Addr": "4968 Nigh Rd",
"All_inc": "",
"Apt_num": "",
"Ass_year": "",
"Bath_tot": "3",
"Br": "4",
"Br_plus": "",
"Bsmt1_out": "None",
"Bsmt2_out": "",
"Cable": "",
"Cac_inc": "",
"Cd": "",
"Central_vac": "",
"Cndsold_xd": "",
"Com_coopb": "2.0",
"Comel_inc": "",
"Comp_pts": "S"
}
}
]
}
Requesting Specific Raw Fields
If you are only interested in specific raw fields, you can request them individually. For example, to retrieve the Acres field:
Example Request:
GET https://api.repliers.io/listings?fields=raw.Acres
Example Response:
{
"listings": [
{
"raw": {
"Acres": "50-99.99"
}
}
]
}
Combining Raw Fields with Other Fields
You can also combine raw fields with other fields in your request. For example, to retrieve both the mlsNumber and Acres fields:
Example Request:
GET https://api.repliers.io/listings?fields=mlsNumber,raw.Acres
Example Response:
{
"listings": [
{
"mlsNumber": "X9241188",
"raw": {
"Acres": "50-99.99"
}
}
]
}
Accessing Raw Fields via the Get A Single Listing Endpoint
When requesting details for a single listing, you can include raw fields by adding fields=raw to your request URL.
Example Request:
GET https://api.repliers.io/listings/X9241188?fields=raw
Example Response:
{
"mlsNumber": "X9241188",
"resource": "Property:2381",
"status": "A",
"class": "ResidentialProperty",
"type": "Sale",
"listPrice": "3334990.00",
"listDate": "2024-08-25T00:00:00.000Z",
"lastStatus": "New",
"soldPrice": "0.00",
"soldDate": null,
"originalPrice": "3334990.00",
"raw": {
"Acres": "50-99.99",
"Addl_mo_fee": "",
"Addr": "4968 Nigh Rd",
"All_inc": "",
"Apt_num": "",
"Ass_year": "",
"Bath_tot": "3"
}
}
Using Raw Fields in Aggregations
Raw fields can also be used with the aggregates parameter. This is useful for grouping possible values and obtaining aggregate counts.
Example Request:
To get a breakdown of the Laundry field:
GET https://api.repliers.io/listings?aggregates=raw.Laundry
{
"aggregates": {
"raw": {
"Laundry": {
"": 43580,
"ensuite": 19383,
"shared": 632,
"in area": 582,
"none": 510,
"coin operated": 476,
"set usage": 7
}
}
}
}
You can also request multiple raw aggregates or combine raw aggregates with other fields:
Example Request:
GET https://api.repliers.io/listings?aggregates=raw.Laundry,raw.FoundationType,details.propertyType
Filtering by Raw Fields
You can filter listings by raw fields in your search queries. For example, to find listings where Laundry is "coin operated":
Example Request:
GET https://api.repliers.io/listings?raw.Laundry=coin operated
You can also combine raw field filters with other filters:
Example Request:
GET https://api.repliers.io/listings?raw.Laundry=coin operated&maxPrice=500000
Advanced Filtering with Query Operators
The Repliers API supports advanced query operators that provide more sophisticated filtering capabilities beyond simple equality matches.
The :not Operator
The :not operator allows you to exclude listings that match a specific value. This is useful when you want to find listings that do NOT have a particular characteristic.
Syntax:
raw.FieldName=not:value
Example Request: To find all listings that are NOT leasehold:
GET https://api.repliers.io/listings?raw.CommonInterest=not:Leasehold
Example Request: To find listings where the property type is NOT a condo:
GET https://api.repliers.io/listings?raw.PropertyType=not:Condominium
You can combine the :not operator with other filters:
GET https://api.repliers.io/listings?raw.CommonInterest=not:Leasehold&maxPrice=800000
The :notContains Operator
The :notContains operator allows you to exclude listings where a field contains a specific substring. This is particularly useful for text fields where you want to filter out listings containing certain keywords.
Syntax:
raw.FieldName=notContains:substring
Example Request: To find listings that do NOT contain "Mobile" in the property description:
GET https://api.repliers.io/listings?raw.Description=notContains:Mobile
Example Request: To find listings where the address does NOT contain "Highway":
GET https://api.repliers.io/listings?raw.Address=notContains:Highway
You can combine multiple :notContains operators:
GET https://api.repliers.io/listings?raw.Description=notContains:Mobile&raw.Address=notContains:Highway
Combining Query Operators
Query operators can be combined with each other and with standard filters to create sophisticated search queries:
Example Request: Find listings that are NOT leasehold AND do NOT contain "Mobile" in the description, with a maximum price of $500,000:
GET https://api.repliers.io/listings?raw.CommonInterest=not:Leasehold&raw.Description=notContains:Mobile&maxPrice=500000
Query Operator Use Cases
Using :not operator:
Exclude specific property types: raw.PropertyType=not:Manufactured
Filter out certain ownership types: raw.Ownership=not:Leasehold
Exclude listings with specific characteristics: raw.Parking=not:None
Using :notContains operator:
Filter out listings with unwanted keywords: raw.Description=notContains:Foreclosure
Exclude specific street types: raw.Address=notContains:Highway
Remove listings with certain features: raw.Features=notContains:Shared
Watch The Video: Raw MLS Data Access With Repliers
In this video, Co-founder Patrick Arlia provides a quick tutorial on how to work with raw data from the MLS:
https://www.loom.com/share/512930011fe94e30ad27d2a3419c65c9
Conclusion
The raw fields feature gives you the flexibility to access MLS-specific data that isn't normalized in our standard data dictionary. This powerful feature allows you to maintain compatibility with multiple MLSs without sacrificing access to the full range of listing data. Whether you're performing searches, retrieving single listings, aggregating data, or filtering results, raw fields provide the tools you need to get the job done.
If you have any questions or need further assistance, feel free to reach out to our support team. We're here to help!
Updated on: 09/06/2025
Thank you!