ATTOM Property API

Property characteristics, ownership, mortgage, and address resolution.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

attomdata-property-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ATTOM Area All Events Property API
  description: 'ATTOM Area API provides geographic boundary and hierarchy lookup for U.S.

    states, counties, CBSAs, ZIPs, neighborhoods, and school zones. Resolve a

    latitude/longitude to a geographic hierarchy, list counties within a state,

    fetch GeoJSON parcel/area boundaries, and resolve any ATTOM v4 geography

    identifier (geoIdV4) to its location metadata.

    '
  version: v1.0.0
  contact:
    name: ATTOM Data Customer Care
    email: datacustomercare@attomdata.com
    url: https://api.developer.attomdata.com/
  license:
    name: ATTOM Data Terms of Use
    url: https://www.attomdata.com/terms-of-use/
servers:
- url: https://api.gateway.attomdata.com
  description: ATTOM API Production Gateway
security:
- ApiKeyAuth: []
tags:
- name: Property
  description: Property characteristics, ownership, mortgage, and address resolution.
paths:
  /property/address:
    get:
      summary: Search Properties By Address
      description: Search properties matching a postal address.
      operationId: searchPropertyAddress
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AddressQuery'
      - $ref: '#/components/parameters/Address1Query'
      - $ref: '#/components/parameters/Address2Query'
      - $ref: '#/components/parameters/PageQuery'
      - $ref: '#/components/parameters/PageSizeQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyListResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
        '401':
          $ref: '#/components/responses/ErrorResponse'
        '429':
          $ref: '#/components/responses/ErrorResponse'
  /property/snapshot:
    get:
      summary: Get Property Snapshot
      description: Return a summary snapshot of property attributes for the matched property.
      operationId: getPropertySnapshot
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      - $ref: '#/components/parameters/Address1Query'
      - $ref: '#/components/parameters/Address2Query'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
  /property/detail:
    get:
      summary: Get Property Detail
      description: Return a detailed property record including building, lot, area, and identifier blocks.
      operationId: getPropertyDetail
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      - $ref: '#/components/parameters/Address1Query'
      - $ref: '#/components/parameters/Address2Query'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /property/detailwithschools:
    get:
      summary: Get Property Detail With Schools
      description: Property detail plus assigned schools and school district attributes.
      operationId: getPropertyDetailWithSchools
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /property/detailmortgage:
    get:
      summary: Get Property Detail With Mortgage
      description: Property detail enriched with current and historical mortgage records.
      operationId: getPropertyDetailMortgage
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /property/detailowner:
    get:
      summary: Get Property Detail With Owner
      description: Property detail enriched with owner identity, mailing address, and ownership classification.
      operationId: getPropertyDetailOwner
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /property/detailmortgageowner:
    get:
      summary: Get Property Detail With Mortgage And Owner
      description: Property detail enriched with both mortgage and owner records.
      operationId: getPropertyDetailMortgageOwner
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /property/basicprofile:
    get:
      summary: Get Property Basic Profile
      description: Compact property profile (characteristics, last sale, assessed value).
      operationId: getPropertyBasicProfile
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /property/basichistory:
    get:
      summary: Get Property Basic History
      description: Compact history of sales and assessment events for a property.
      operationId: getPropertyBasicHistory
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /property/expandedprofile:
    get:
      summary: Get Property Expanded Profile
      description: Full expanded property record including characteristics, owner, mortgage, and last sale.
      operationId: getPropertyExpandedProfile
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /property/expandedhistory:
    get:
      summary: Get Property Expanded History
      description: Full historical events for a property (sales, assessments, AVMs).
      operationId: getPropertyExpandedHistory
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /property/id:
    get:
      summary: Search By Property ID
      description: Look up properties by AttomID or other ATTOM-issued identifiers with optional search/sort filters.
      operationId: searchPropertyId
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/PageQuery'
      - $ref: '#/components/parameters/PageSizeQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyListResponse'
  /transportationnoise:
    get:
      summary: Get Transportation Noise Score
      description: Return road, air, and rail transportation-noise scores for a property.
      operationId: getTransportationNoise
      tags:
      - Property
      parameters:
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
  /enumerations/detail:
    get:
      summary: Get Enumeration Detail
      description: Return ATTOM enumeration metadata (property-use codes, tax-status codes, etc.).
      operationId: getEnumerationsDetail
      tags:
      - Property
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
components:
  schemas:
    Summary:
      type: object
      properties:
        absenteeInd:
          type: string
        propclass:
          type: string
        propsubtype:
          type: string
        proptype:
          type: string
        yearbuilt:
          type: integer
        propLandUse:
          type: string
    Location:
      type: object
      properties:
        accuracy:
          type: string
        latitude:
          type: string
        longitude:
          type: string
        distance:
          type: number
        geoid:
          type: string
        geoIdV4:
          type: object
    Owner:
      type: object
      properties:
        corporateindicator:
          type: string
        owner1:
          type: object
          properties:
            firstnameandmi:
              type: string
            lastname:
              type: string
        owner2:
          type: object
          properties:
            firstnameandmi:
              type: string
            lastname:
              type: string
        mailingaddressoneline:
          type: string
    Status:
      type: object
      description: ATTOM standard response status block.
      properties:
        version:
          type: string
        code:
          type: integer
        msg:
          type: string
        total:
          type: integer
        page:
          type: integer
        pagesize:
          type: integer
    Property:
      type: object
      properties:
        identifier:
          $ref: '#/components/schemas/Identifier'
        lot:
          $ref: '#/components/schemas/Lot'
        area:
          type: object
        address:
          $ref: '#/components/schemas/Address'
        location:
          $ref: '#/components/schemas/Location'
        summary:
          $ref: '#/components/schemas/Summary'
        building:
          $ref: '#/components/schemas/Building'
        owner:
          $ref: '#/components/schemas/Owner'
        mortgage:
          $ref: '#/components/schemas/Mortgage'
        vintage:
          $ref: '#/components/schemas/Vintage'
    PropertyEnvelope:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/Status'
        property:
          type: array
          items:
            $ref: '#/components/schemas/Property'
    Building:
      type: object
      properties:
        size:
          type: object
          properties:
            bldgsize:
              type: integer
            grosssize:
              type: integer
            livingsize:
              type: integer
            universalsize:
              type: integer
        rooms:
          type: object
          properties:
            bathstotal:
              type: number
            beds:
              type: integer
            roomsTotal:
              type: integer
        construction:
          type: object
          properties:
            condition:
              type: string
            constructionType:
              type: string
            wallType:
              type: string
            roofCover:
              type: string
        summary:
          type: object
          properties:
            yearbuilteffective:
              type: integer
            yearbuilt:
              type: integer
    Mortgage:
      type: object
      properties:
        FirstConcurrent:
          type: object
          properties:
            amount:
              type: integer
            date:
              type: string
            lender:
              type: object
              properties:
                fullName:
                  type: string
            interestRate:
              type: number
            term:
              type: string
            trustDeedDocumentNumber:
              type: string
    PropertyListEnvelope:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/Status'
        property:
          type: array
          items:
            $ref: '#/components/schemas/Property'
    Lot:
      type: object
      properties:
        lotnum:
          type: string
        lotsize1:
          type: number
        lotsize2:
          type: number
        zoningType:
          type: string
    Address:
      type: object
      properties:
        country:
          type: string
        countrySubd:
          type: string
        line1:
          type: string
        line2:
          type: string
        locality:
          type: string
        matchCode:
          type: string
        oneLine:
          type: string
        postal1:
          type: string
        postal2:
          type: string
        postal3:
          type: string
    Identifier:
      type: object
      properties:
        Id:
          type: integer
        fips:
          type: string
        apn:
          type: string
        attomId:
          type: integer
    Vintage:
      type: object
      properties:
        lastModified:
          type: string
        pubDate:
          type: string
    Error:
      type: object
      properties:
        Response:
          type: object
          properties:
            status:
              $ref: '#/components/schemas/Status'
  parameters:
    AttomIDQuery:
      name: AttomID
      in: query
      required: false
      description: ATTOM property identifier.
      schema:
        type: string
      example: '145423726'
    PageSizeQuery:
      name: pagesize
      in: query
      required: false
      description: Records per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    PageQuery:
      name: page
      in: query
      required: false
      description: Page number for paginated result sets.
      schema:
        type: integer
        minimum: 1
        default: 1
    AddressQuery:
      name: address
      in: query
      required: false
      description: Full street address as a single string.
      schema:
        type: string
      example: 4529 Winona Court, Denver, CO 80212
    Address2Query:
      name: address2
      in: query
      required: false
      description: City, state, and ZIP component of the property address.
      schema:
        type: string
      example: Denver, CO 80212
    Address1Query:
      name: address1
      in: query
      required: false
      description: Street component of the property address.
      schema:
        type: string
      example: 4529 Winona Court
  responses:
    PropertyResponse:
      description: Property record envelope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PropertyEnvelope'
    PropertyListResponse:
      description: Paginated list of property records.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PropertyListEnvelope'
    ErrorResponse:
      description: ATTOM error envelope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: apikey
      description: ATTOM-issued API key. Pass on every request via the `apikey` header.