Choose which platform to sign into.

 

ATTOM Data recently launched its BETA version of a Property Search Engine API and Developer Platform. Today, we wanted to share a tool we use internally as part of our testing suite that can help make your life easier when consuming APIs. This post will walk you through how to use one our favorite tools, the Postman Chrome extensionWhat is Postman? Postman helps you be more efficient by allowing you to construct complex HTTP requests quickly, organize them in collections and share them. We will walk you through how to use Postman and make some basic requests. As always, if you have any questions, feel free to contact us.

 

1.  Install Postman  

Postman is a Chrome App. To use Postman, you will first need to install Google Chrome. If you already have Chrome installed, head over to the Postman website which provides a link to the Chrome web store where you can download and add the Postman Chrome extension. The Postman website also includes documentation and features of the app if you’re not familiar.

postman

 

Once Postman has been added to your browser, we can use the Postman interface to make calls to the Property Search Engine API.

2. Get your API Key

You’ll need to include your API Key in the header in order for your requests to work. You can find your API Key under the Registered Apps tab once you’ve logged into the developer platform.

registered apps

3.  Using Postman

The Postman default response is XML, you can also include the Accept Header with a value of application/json to get a JSON response. You’ll see this used in our other guides as well.

4.  Make Some Requests

Use Case 1: Allow a user to view all properties within a radius of a particular point.

In this example, I will be using the /property resource and the /snapshot package and adding latitude, longitude and radius parameters.

code

Here is some of the JSON response:

{
  "status": {
    "version": "1.0.0",
    "code": 0,
    "msg": "SuccessWithResult",
    "total": 10000,
    "page": 1,
    "pagesize": 10
  },
  "property": [
    {
      "identifier": {
        "obPropId": 2271335808059,
        "fips": "08059",
        "apn": "067436",
        "apnOrig": "067436"
      },
      "lot": {
        "lotSize1": 0.1998
      },
      "address": {
        "country": "US",
        "countrySubd": "CO",
        "line1": "2178 S DUDLEY ST",
        "line2": "LAKEWOOD, CO 80227",
        "locality": "Lakewood",
        "matchCode": "ExaStr",
        "oneLine": "2178 S DUDLEY ST, LAKEWOOD, CO 80227",
        "postal1": "80227",
        "postal2": "2318",
        "postal3": "C012"
      },
      "location": {
        "accuracy": "Street",
        "elevation": 0,
        "latitude": "39.677396",
        "longitude": "-105.094016",
        "distance": 2,
        "geoid": "PL0843000,SD67692,SS154407,SS174645,SS203256"
      },
      "summary": {
        "propclass": "Single Family Residence / Townhouse",
        "proptype": "SFR",
        "yearbuilt": 1967,
        "propLandUse": "SFR"
      },
      "building": {
        "size": {
          "universalsize": 1540
        },
        "rooms": {
          "bathstotal": 3,
          "beds": 4
        }
      },
      "vintage": {
        "lastModified": "2015-4-3",
        "pubDate": "2015-5-9"
      }
    },

 

You’ll notice above, that pagesize= 10. This is the default but can be changed by adding a page size parameter to the end of your request.

Now, let’s dig deeper into a specific property.

Use Case 2: Allow a user to see all characteristics of a specific property.

We’ll still be using the /property resource but will now use the /detail package and grabbing the “obPropId” from our previous response.

Your JSON response should look similar to this:

{
  "status": {
    "version": "1.0.0",
    "code": 0,
    "msg": "SuccessWithResult",
    "total": 1,
    "page": 1,
    "pagesize": 10
  },
  "property": [
    {
      "identifier": {
        "obPropId": 2276838208059,
        "fips": "08059",
        "apn": "085894",
        "apnOrig": "085894"
      },
      "lot": {
        "depth": 0,
        "frontage": 0,
        "lotnum": "2",
        "lotsize1": 0.1856,
        "lotsize2": 8085
      },
      "area": {
        "blockNum": "4",
        "countrysecsubd": "Jefferson County",
        "countyuse1": "1112",
        "srvyRange": "69",
        "srvySection": "25",
        "srvyTownship": "04",
        "subdname": "LAKEWOOD ESTATES FLG 1",
        "taxcodearea": "7015"
      },
      "address": {
        "country": "US",
        "countrySubd": "CO",
        "line1": "2008 S GRAY DR",
        "line2": "LAKEWOOD, CO 80227",
        "locality": "Lakewood",
        "matchCode": "ExaStr",
        "oneLine": "2008 S GRAY DR, LAKEWOOD, CO 80227",
        "postal1": "80227",
        "postal2": "2504",
        "postal3": "C009"
      },
      "location": {
        "accuracy": "Street",
        "elevation": 0,
        "latitude": "39.680203",
        "longitude": "-105.061333",
        "distance": 0,
        "geoid": "NH00000180,NH00018168,PL0843000,SD67692,SS153869,SS153895,SS153896"
      },
      "summary": {
        "absenteeInd": "OWNER OCCUPIED",
        "propclass": "Single Family Residence / Townhouse",
        "proptype": "SFR",
        "yearbuilt": 1982,
        "propLandUse": "SFR"
      },
      "utilities": {
        "coolingtype": "AC.CENTRAL",
        "sewertype": "Type Unknown"
      },
      "building": {
        "size": {
          "bldgsize": 4321,
          "grosssize": 0,
          "grosssizeadjusted": 3892,
          "groundfloorsize": 1421,
          "livingsize": 2579,
          "sizeInd": "LIVING SQFT ",
          "universalsize": 2579
        },
        "rooms": {
          "bathfixtures": 0,
          "baths1qtr": 0,
          "baths3qtr": 1,
          "bathscalc": 3,
          "bathsfull": 2,
          "bathshalf": 1,
          "bathstotal": 3,
          "beds": 4,
          "roomsTotal": 0
        },
        "interior": {
          "bsmtsize": 1313,
          "fplccount": 1,
          "fplcind": "Y",
          "fplctype": "TYPE UNKNOWN"
        },
        "construction": {
          "constructiontype": "FRAME/MASONRY",
          "roofcover": "WOOD SHAKE/SHINGLE"
        },
        "parking": {
          "garagetype": "ATTACHED GARAGE",
          "prkgSize": 429,
          "prkgSpaces": "0",
          "prkgType": "ATTACHED GARAGE"
        },
        "summary": {
          "bldgsNum": 1,
          "bldgType": "RESIDENTIAL",
          "imprType": "TYPE UNKNOWN",
          "levels": 2,
          "quality": "GOOD",
          "storyDesc": "RESIDENTIAL",
          "unitsCount": "1",
          "yearbuilteffective": 1982
        }
      },
      "vintage": {
        "lastModified": "2015-4-3",
        "pubDate": "2015-5-9"
      }
    }
  ]
}

There is a lot of detail in this response! The /detail package provides us with building characteristics such as: basement size, number of fireplaces, parking structure and even heating/cooling and water services available.

Finally, let’s look at Use Case 3: View a property’s last assessment and tax liability.

We’ll access the /assessment resource to get this information.

 

Learn More

Create a Collection in Postman and add this request to see additional HTTP requests:

The examples we’ve walked through can be used to build out property pages, giving end users detail at the house level. But, that’s just the beginning of what you can do, combined with ATTOM’s other content, you can display lifestyle aspects and the cultural offerings of a property’s surrounding neighborhood, giving end users a complete picture of an area

What’s Next?

If you’d like to use postman to develop your next project using our property or community data, get your free API key on our developer platform.  If you would like more information on using an API building your next real estate application or tool, fill out the form below and we can answer your questions.

 

Interested in purchasing the data cited in our articles?

Or learn more about how businesses are leveraging ATTOM’s property and real estate data? Please complete the form below to connect with a data expert.