Articles on: Market Reports & Analytics

Real-Time Market Statistics Implementation Guide

Our Real Estate API offers a powerful feature that allows you to request real-time market statistics. This capability is invaluable for creating data visualizations, providing users with deep market insights to make more informed decisions. The feature offers a high level of granularity, enabling you to request specific scopes of market data just as you would when filtering listings.

How to Request Statistics



Step 1: Provide the Scope of Data



Begin by defining the scope of the data you wish to analyze using the GET /listings endpoint. This scope is defined in the same way you would filter for listings. For example, if you want statistics for 4-bedroom homes in New York City that have sold in the past 2 years, your request URL will look like this:

https://api.repliers.io/listings?city=New York&minBeds=4&maxBeds=4&status=U&lastStatus=Sld&minSoldDate=2022-07-01

Step 2: Specify the Statistics



To retrieve specific statistics, use the statistics parameter. For example, if you're interested in the average sold price, add &statistics=avg-soldPrice to your request. The full request URL would be:

https://api.repliers.io/listings?city=New York&minBeds=4&maxBeds=4&status=U&lastStatus=Sld&minSoldDate=2022-07-01&statistics=avg-soldPrice

This request will return all relevant listings along with a statistics object containing the average sold price:

{
  "statistics": {
    "soldPrice": {
      "avg": 823702
    }
  }
}


Requesting Only Statistics


If you do not need the listings and only require the statistics, add &listings=false to your request. This can significantly reduce response time. For instance:

https://api.repliers.io/listings?city=New York&minBeds=4&maxBeds=4&status=U&lastStatus=Sld&minSoldDate=2022-07-01&statistics=avg-soldPrice&listings=false

Popular Statistics



avg-soldPrice - Average sold price
med-soldPrice - Median sold price
avg-daysOnMarket - Average days on market
avg-listPrice - Average list price
cnt-new - Number of new listings that entered the market
cnt-closed - Number of listings that closed

For a complete list of supported statistics, please refer to our Search & Filter API reference, specifically the statistics parameter.

Grouping Statistics



You can group statistics by different time periods to analyze trends. For example, to see how the average sold price has changed month-to-month over the past 2 years, use the grp-mth grouping:

https://api.repliers.io/listings?city=New York&minBeds=4&maxBeds=4&status=U&lastStatus=Sld&minSoldDate=2022-07-01&statistics=avg-soldPrice,grp-mth&listings=false

The response will include monthly data points:

{
  "statistics": {
    "soldPrice": {
      "avg": 823702,
      "mth": {
        "2022-07": {
          "avg": 743897,
          "count": 13303
        },
        "2022-08": {
          "avg": 759084,
          "count": 25539
        },
        "2022-09": {
          "avg": 739097,
          "count": 22919
        },
        ...
      }
    }
  }
}


Supported Groupings



grp-day - By day
grp-mth - By month
grp-yr - By year
grp-{x}-days - Rolling statistics, where x is the number of days for each grouping

Rolling Statistics


Rolling statistics provide a moving average over a specified period, smoothing out fluctuations to reveal underlying trends. For instance, to get a rolling average of the sold price over 30 days:

https://api.repliers.io/listings?city=New York&minBeds=4&maxBeds=4&status=U&lastStatus=Sld&minSoldDate=2022-07-01&statistics=avg-soldPrice,grp-30-days&listings=false

Requesting Multiple Statistics



You can request multiple statistics in a single API call. For example, to retrieve both the average sold price and average days on market:

https://api.repliers.io/listings?city=New York&minBeds=4&maxBeds=4&status=U&lastStatus=Sld&minSoldDate=2022-07-01&statistics=avg-daysOnMarket,avg-soldPrice,grp-mth&listings=false

Aggregating Statistics



Aggregating statistics allows you to compare different segments within your data. To enable aggregation, add &aggregateStatistics=true and specify the field to aggregate by. For instance, to compare average sold prices by neighborhood:

https://api.repliers.io/listings?city=New York&minBeds=4&maxBeds=4&status=U&lastStatus=Sld&minSoldDate=2022-07-01&statistics=avg-soldPrice,grp-mth&listings=false&aggregateStatistics=true&aggregates=address.neighborhood

The response will be grouped by neighborhood:

{
  "statistics": {
    "soldPrice": {
      "avg": 986486,
      "mth": {
        "2022-07": {
          "avg": 949437,
          "count": 4600,
          "aggregates": {
            "address": {
              "neighborhood": {
                "Waterfront Communities C1": {
                  "count": 74,
                  "avg": 805367
                },
               "Waterfront Communities C2": {
                  "count": 60,
                  "avg": 709361
                },
                ...
              }
            }
          }
        }
      }
    }
  }
}


You can aggregate statistics by various fields. For example, to compare sold prices across different property types:

https://api.repliers.io/listings?city=New York&minBeds=4&maxBeds=4&status=U&lastStatus=Sld&minSoldDate=2022-07-01&statistics=avg-soldPrice,grp-mth&listings=false&aggregateStatistics=true&aggregates=details.propertyType

The response will include data segmented by property type:

{
  "statistics": {
    "soldPrice": {
      "avg": 986486,
      "mth": {
        "2022-07": {
          "avg": 949437,
          "count": 4600,
          "aggregates": {
            "details": {
              "propertyType": {
                "Detached": {
                  "count": 2526,
                  "avg": 1090041
                },
                "Condo Apt": {
                  "count": 844,
                  "avg": 696919
                },
                ...
              }
            }
          }
        }
      }
    }
  }
}


Summary



Our real-time market statistics feature empowers you to create insightful data visualizations that help users understand market trends and make informed decisions. By leveraging granular filters, diverse statistics, and powerful aggregation capabilities, you can customize data to suit specific needs. For detailed documentation and further customization options, please refer to our API Reference.

Updated on: 29/11/2024

Was this article helpful?

Share your feedback

Cancel

Thank you!