Preview Changes will not be visible to customers until published.

Upgrading to Sales Trends V4

Introduction

ATTOM is pleased to announce a series of enhancements to the Sales Trends endpoint making it possible to get sales trends for a lot more use-cases.

  • We have expanded the number of geography types supported to include:
    • County (CO)
    • Macro Neighborhood (N1)
    • Neighborhood (N2)
    • Postal City (CI); and
    • Sub Neighborhood (N3)
  • It is now possible to request sales trends for specific property types e.g. SINGLE FAMILY RESIDENTIAL
  • It is now possible to request sales trends for specific types of transactions e.g. CONSTRUCTION SALE

New Search Parameters

endquarter

Can be used in conjunction with quarterly intervals to specify the last quarter to be included (01 - 04). This is an alternative to specifying a value for endmonth. A value for endyear should also be provided.

geoIdV4

As with many of our endpoints, the old geocodes (geoid) have been replaced with the new geocodes (geoIdV4).  For more details see Geocodes.

propertytype

Can be a list that includes up to three of the following (separated by commas): - 

  • (blank)
  • ALL
  • CONDO/TOWNHOME
  • COOPERATIVE
  • FARM/RANCH
  • INDUSTRIAL
  • MANUFACTURED
  • MISCELLANEOUS
  • MULTI (2-4 Units)
  • MULTI 5+
  • OFFICE
  • OTHER
  • RETAIL
  • SINGLE FAMILY RESIDENCE
  • VACANT LAND

If no value is provided for propertytype, the sales statistics returned will be an accumulation of all properties. If the value provided is 'ALL' then the endpoint will return a collection of sales statistics, one for each property type.

Note: It is only possible to select one of propertytytpe or transactiontype in any one request.

startquarter

Can be used in conjunction with quarterly intervals to specify the first quarter to be included (01 - 04). This is an alternative to specifying a value for startmonth. A value for startyear should also be provided.

transactiontype

Can be a list that includes up to three of the following (separated by commas): - 

  • (blank)
  • ALL
  • CONSTRUCTION SALE
  • FORECLOSURE
  • MORTGAGE
  • TRANSFER
  • SUBDIVISION RELATED TRANSFER
  • TIMESHARE TRANSFER

If no value is provided for transfertype, the sales statistics returned will be an accumulation of all properties. If the value provided is 'ALL' then the endpoint will return a collection of sales statistics, one for each transfer type.

Note: It is only possible to select one of propertytytpe or transactiontype in any one request.

Endpoints Affected

The existing version of this endpoint supported geoid as a search parameterdefining the geography to be returned.

Name Original Endpoint New Endpoint
Sales Trend Snapshot /propertyapi/v1.0.0/salestrend/snapshot /v4/transaction/salestrends

Example

The following query could be used to get sales trends for Zip Code 48317 (GeoIdV4: 6828b00047035292dd47fe020e636bb3) with stats being reported quarterly from Q1 2022 to Q4 2022 for property types of SINGLE FAMILY RESIDENCE and Vacant Land.

https://api.gateway.attomdata.com/v4/transaction/salestrend?geoIdV4=da9746929ae4cd076d70f29d7ef12da4&interval=quarterly&startyear=2022&endyear=2022&startquarter=01&endquarter=04&propertytype=SINGLE FAMILY RESIDENCE,Vacant Land
{
  "status": {
    "version": "4",
    "code": 0,
    "msg": "SuccessWithResult",
    "total": 20,
    "page": 1,
    "pageSize": 100,
    "transactionID": "8d9090805d6f499fe27af41f484ea02e"
  },
  "salesTrends": [
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q1-2018",
        "end": "Q1-2018"
      },
      "salesTrend": {
        "homeSaleCount": 109,
        "avgSalePrice": 223098,
        "medSalePrice": 200000
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q2-2018",
        "end": "Q2-2018"
      },
      "salesTrend": {
        "homeSaleCount": 135,
        "avgSalePrice": 216334,
        "medSalePrice": 195000
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q3-2018",
        "end": "Q3-2018"
      },
      "salesTrend": {
        "homeSaleCount": 128,
        "avgSalePrice": 231703,
        "medSalePrice": 204750
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q4-2018",
        "end": "Q4-2018"
      },
      "salesTrend": {
        "homeSaleCount": 101,
        "avgSalePrice": 211633,
        "medSalePrice": 176000
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q1-2019",
        "end": "Q1-2019"
      },
      "salesTrend": {
        "homeSaleCount": 88,
        "avgSalePrice": 206005,
        "medSalePrice": 190500
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q2-2019",
        "end": "Q2-2019"
      },
      "salesTrend": {
        "homeSaleCount": 110,
        "avgSalePrice": 218884,
        "medSalePrice": 183500
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q3-2019",
        "end": "Q3-2019"
      },
      "salesTrend": {
        "homeSaleCount": 141,
        "avgSalePrice": 229660,
        "medSalePrice": 215000
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q4-2019",
        "end": "Q4-2019"
      },
      "salesTrend": {
        "homeSaleCount": 114,
        "avgSalePrice": 235878,
        "medSalePrice": 199900
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q1-2020",
        "end": "Q1-2020"
      },
      "salesTrend": {
        "homeSaleCount": 86,
        "avgSalePrice": 206028,
        "medSalePrice": 200000
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q2-2020",
        "end": "Q2-2020"
      },
      "salesTrend": {
        "homeSaleCount": 58,
        "avgSalePrice": 197289,
        "medSalePrice": 185000
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q3-2020",
        "end": "Q3-2020"
      },
      "salesTrend": {
        "homeSaleCount": 133,
        "avgSalePrice": 223461,
        "medSalePrice": 212000
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q4-2020",
        "end": "Q4-2020"
      },
      "salesTrend": {
        "homeSaleCount": 136,
        "avgSalePrice": 235316,
        "medSalePrice": 221000
      },
      "vintage": {
        "pubDate": "2022-02-12"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q1-2021",
        "end": "Q1-2021"
      },
      "salesTrend": {
        "homeSaleCount": 95,
        "avgSalePrice": 253558,
        "medSalePrice": 229900
      },
      "vintage": {
        "pubDate": "2022-02-10"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q2-2021",
        "end": "Q2-2021"
      },
      "salesTrend": {
        "homeSaleCount": 122,
        "avgSalePrice": 263295,
        "medSalePrice": 241750
      },
      "vintage": {
        "pubDate": "2022-02-10"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q3-2021",
        "end": "Q3-2021"
      },
      "salesTrend": {
        "homeSaleCount": 129,
        "avgSalePrice": 280265,
        "medSalePrice": 235000
      },
      "vintage": {
        "pubDate": "2022-02-10"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q4-2021",
        "end": "Q4-2021"
      },
      "salesTrend": {
        "homeSaleCount": 138,
        "avgSalePrice": 265899,
        "medSalePrice": 249500
      },
      "vintage": {
        "pubDate": "2022-02-10"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q1-2022",
        "end": "Q1-2022"
      },
      "salesTrend": {
        "homeSaleCount": 113,
        "avgSalePrice": 249896,
        "medSalePrice": 234000
      },
      "vintage": {
        "pubDate": "2022-02-10"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q2-2022",
        "end": "Q2-2022"
      },
      "salesTrend": {
        "homeSaleCount": 85,
        "avgSalePrice": 294946,
        "medSalePrice": 260000
      },
      "vintage": {
        "pubDate": "2022-05-08"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q3-2022",
        "end": "Q3-2022"
      },
      "salesTrend": {
        "homeSaleCount": 106,
        "avgSalePrice": 305966,
        "medSalePrice": 280000
      },
      "vintage": {
        "pubDate": "2022-08-07"
      }
    },
    {
      "location": {
        "geoIdV4": "6828b00047035292dd47fe020e636bb3",
        "geographyName": "48317"
      },
      "dateRange": {
        "interval": "quarterly",
        "start": "Q4-2022",
        "end": "Q4-2022"
      },
      "salesTrend": {
        "homeSaleCount": 67,
        "avgSalePrice": 265810,
        "medSalePrice": 249000
      },
      "vintage": {
        "pubDate": "2022-11-07"
      }
    }
  ]
}

Migration Process

The following outlines the series of steps necessary to upgrade applications from previous versions of sales trends snapshot endpoint. It is important these changes be made as soon as possible as the older versions are being deprecated. It is likely that the older versions will stop working after June 30, 2023. Please plan accordingly.

1

Identify calls to Endpoints

Identify all the places in your code in which a call is made to any of the two school endpoints: -

  • /propertyapi/v1.0.0/salestrend/snapshot
2

Identify calls to other endpoints

Identify any other calls to ATTOM API that might be generating geocodes (geoid) that are used in calls to the sales trend endpoint.

3

Change endpoint path

The endpoint paths should be changed to v4 (or higher) and the endpoint names should be mapped to the new names.

Original Endpoint New Endpoint
/propertyapi/v1.0.0/salestrend/snapshot /v4/transaction/salestrends


4

Change geocodes

Replace the geoid parameter with the new geoIdV4 parameter, using the new geocode values returned from other endpoints.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.