ATTOM Sale API

Sales transactions, sales history, and comparable sales.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

attomdata-sale-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ATTOM Area All Events Sale 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: Sale
  description: Sales transactions, sales history, and comparable sales.
paths:
  /sale/snapshot:
    get:
      summary: Get Sale Snapshot
      description: Most-recent sale event for a property (compact).
      operationId: getSaleSnapshot
      tags:
      - Sale
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/SaleResponse'
  /sale/detail:
    get:
      summary: Get Sale Detail
      description: Most-recent sale event with full transaction, deed, and recording attributes.
      operationId: getSaleDetail
      tags:
      - Sale
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/SaleResponse'
  /saleshistory/snapshot:
    get:
      summary: Get Sales History Snapshot
      description: Compact list of historical sale events for a property.
      operationId: getSalesHistorySnapshot
      tags:
      - Sale
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/SaleResponse'
  /saleshistory/detail:
    get:
      summary: Get Sales History Detail
      description: Detailed list of historical sale events for a property.
      operationId: getSalesHistoryDetail
      tags:
      - Sale
      parameters:
      - $ref: '#/components/parameters/AttomIDQuery'
      - $ref: '#/components/parameters/AddressQuery'
      responses:
        '200':
          $ref: '#/components/responses/SaleResponse'
  /salescomparables/address/{street}/{citystatezip}:
    get:
      summary: Get Sales Comparables
      description: Return comparable sales (comps) for a subject property by street and city/state/ZIP.
      operationId: getSalesComparables
      tags:
      - Sale
      parameters:
      - name: street
        in: path
        required: true
        description: Street component of the subject address.
        schema:
          type: string
      - name: citystatezip
        in: path
        required: true
        description: City, state, and ZIP component of the subject address.
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/SaleResponse'
components:
  schemas:
    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
    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
    SaleEnvelope:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/Status'
        property:
          type: array
          items:
            type: object
            properties:
              identifier:
                $ref: '#/components/schemas/Identifier'
              address:
                $ref: '#/components/schemas/Address'
              sale:
                $ref: '#/components/schemas/Sale'
    Sale:
      type: object
      properties:
        amount:
          type: object
          properties:
            saleamt:
              type: integer
            salecode:
              type: string
            saledisclosuretype:
              type: integer
            saledocnum:
              type: string
            saledocType:
              type: string
            saletranstype:
              type: string
        calculation:
          type: object
          properties:
            pricepersizeunit:
              type: number
        salesearchdate:
          type: string
        saleTransDate:
          type: string
  responses:
    SaleResponse:
      description: Sale envelope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SaleEnvelope'
  parameters:
    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
    AttomIDQuery:
      name: AttomID
      in: query
      required: false
      description: ATTOM property identifier.
      schema:
        type: string
      example: '145423726'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: apikey
      description: ATTOM-issued API key. Pass on every request via the `apikey` header.