ATTOM Property API

Core property characteristics packages.

OpenAPI Specification

attom-data-property-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ATTOM Area Property API
  description: 'The ATTOM API (delivered as ATTOM Cloud) provides REST access to ATTOM Data Solutions'' national warehouse of property, real estate, and location data covering 158+ million U.S. properties. Resources are queried by address, APN + FIPS, ATTOM ID, radius around coordinates, or geoIdV4, and cover property characteristics, tax assessments, automated valuations (AVM), sales and deed history, mortgage records, area and boundary geographies, schools, community/neighborhood data, points of interest, transportation noise, consolidated all-event history, and home equity.

    Every request requires an API key passed in the `apikey` header. The URI pattern for the classic Property API is `{base}/propertyapi/v1.0.0/{resource}/{package}?{query}`; version 4 (v4) endpoints drop the component name and use a simplified `{base}/v4/{resource}` form. Area geography endpoints live under `areaapi/v2.0.0`.

    Endpoints under `propertyapi/v1.0.0` (property, assessment, avm, sale, saleshistory, salestrend, school, allevents, valuation) are grounded in ATTOM''s published endpoint reference. The v4 community, POI, area/boundary, and transportation-noise operations are modeled from ATTOM''s documented resource groups; confirm exact query parameters against the live docs.'
  version: 1.0.0
  contact:
    name: ATTOM Data Solutions
    url: https://www.attomdata.com
  x-logo:
    url: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
servers:
- url: https://api.gateway.attomdata.com
  description: ATTOM API gateway (production)
security:
- apiKeyAuth: []
tags:
- name: Property
  description: Core property characteristics packages.
paths:
  /propertyapi/v1.0.0/property/id:
    get:
      operationId: getPropertyId
      tags:
      - Property
      summary: Property ID lookup
      description: Returns the ATTOM-assigned property ID and minimal identity fields for matching properties.
      parameters:
      - $ref: '#/components/parameters/Address'
      - $ref: '#/components/parameters/Address1'
      - $ref: '#/components/parameters/Address2'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /propertyapi/v1.0.0/property/basicprofile:
    get:
      operationId: getPropertyBasicProfile
      tags:
      - Property
      summary: Property basic profile
      description: Essential property profile - address, location, lot, and building basics - for a specific address or APN/FIPS.
      parameters:
      - $ref: '#/components/parameters/Address'
      - $ref: '#/components/parameters/Address1'
      - $ref: '#/components/parameters/Address2'
      - $ref: '#/components/parameters/Apn'
      - $ref: '#/components/parameters/Fips'
      - $ref: '#/components/parameters/AttomId'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /propertyapi/v1.0.0/property/detail:
    get:
      operationId: getPropertyDetail
      tags:
      - Property
      summary: Property detail
      description: Comprehensive property characteristics for a property or list of properties.
      parameters:
      - $ref: '#/components/parameters/Address'
      - $ref: '#/components/parameters/Address1'
      - $ref: '#/components/parameters/Address2'
      - $ref: '#/components/parameters/AttomId'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /propertyapi/v1.0.0/property/expandedprofile:
    get:
      operationId: getPropertyExpandedProfile
      tags:
      - Property
      summary: Property expanded profile
      description: Extended property profile combining characteristics, most-recent sale, assessment, and AVM in one call.
      parameters:
      - $ref: '#/components/parameters/Address'
      - $ref: '#/components/parameters/Address1'
      - $ref: '#/components/parameters/Address2'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /propertyapi/v1.0.0/property/address:
    get:
      operationId: getPropertyAddress
      tags:
      - Property
      summary: Property address radius search
      description: Radius search returning all properties within a given radius (miles) of coordinates or a postal code.
      parameters:
      - $ref: '#/components/parameters/Latitude'
      - $ref: '#/components/parameters/Longitude'
      - $ref: '#/components/parameters/Radius'
      - $ref: '#/components/parameters/PostalCode'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /propertyapi/v1.0.0/property/snapshot:
    get:
      operationId: getPropertySnapshot
      tags:
      - Property
      summary: Property snapshot
      description: Returns properties in an area matching characteristic filters such as beds, baths, size, value, and lot size.
      parameters:
      - $ref: '#/components/parameters/PostalCode'
      - $ref: '#/components/parameters/Latitude'
      - $ref: '#/components/parameters/Longitude'
      - $ref: '#/components/parameters/Radius'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /propertyapi/v1.0.0/property/detailowner:
    get:
      operationId: getPropertyDetailOwner
      tags:
      - Property
      summary: Property detail with owner
      description: Property characteristics plus current owner names and mailing information.
      parameters:
      - $ref: '#/components/parameters/Address1'
      - $ref: '#/components/parameters/Address2'
      - $ref: '#/components/parameters/AttomId'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /propertyapi/v1.0.0/property/buildingpermits:
    get:
      operationId: getPropertyBuildingPermits
      tags:
      - Property
      summary: Property building permits
      description: Building permit records for a property.
      parameters:
      - $ref: '#/components/parameters/Address1'
      - $ref: '#/components/parameters/Address2'
      - $ref: '#/components/parameters/AttomId'
      responses:
        '200':
          $ref: '#/components/responses/PropertyResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    Radius:
      name: radius
      in: query
      schema:
        type: number
        format: double
        default: 5
        maximum: 20
      description: Search radius in miles (default 5, maximum 20).
    Address2:
      name: address2
      in: query
      schema:
        type: string
      description: Second line of the address (city, state).
    Fips:
      name: fips
      in: query
      schema:
        type: string
      description: County FIPS code; use with apn.
    Longitude:
      name: longitude
      in: query
      schema:
        type: number
        format: double
      description: Longitude of the search center.
    AttomId:
      name: attomid
      in: query
      schema:
        type: string
      description: ATTOM-assigned property identifier.
    PageSize:
      name: pagesize
      in: query
      schema:
        type: integer
        default: 10
        maximum: 100
      description: Number of records per page (maximum 100).
    Page:
      name: page
      in: query
      schema:
        type: integer
        default: 1
      description: Page number for paginated results.
    Address1:
      name: address1
      in: query
      schema:
        type: string
      description: First line of the street address (house number and street).
    PostalCode:
      name: postalcode
      in: query
      schema:
        type: string
      description: 5-digit ZIP / postal code to scope the search.
    Apn:
      name: apn
      in: query
      schema:
        type: string
      description: Assessor parcel number; use with fips.
    Address:
      name: address
      in: query
      schema:
        type: string
      description: Full one-line street address (e.g. "4529 Winona Court, Denver, CO").
    Latitude:
      name: latitude
      in: query
      schema:
        type: number
        format: double
      description: Latitude of the search center.
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StatusEnvelope'
    BadRequest:
      description: The request was missing required parameters or was malformed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StatusEnvelope'
    PropertyResponse:
      description: A status envelope plus an array of property records.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PropertyResponse'
  schemas:
    Status:
      type: object
      description: The status block returned on every ATTOM response.
      properties:
        version:
          type: string
        code:
          type: integer
        msg:
          type: string
        total:
          type: integer
        page:
          type: integer
        pagesize:
          type: integer
    PropertyResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/Status'
        property:
          type: array
          items:
            $ref: '#/components/schemas/Property'
    StatusEnvelope:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/Status'
    Property:
      type: object
      description: A property record. ATTOM returns a rich, package-dependent object; key groups are summarized here.
      properties:
        identifier:
          type: object
          properties:
            obPropId:
              type: string
            attomId:
              type: integer
            fips:
              type: string
            apn:
              type: string
        address:
          type: object
          properties:
            line1:
              type: string
            line2:
              type: string
            locality:
              type: string
            countrySubd:
              type: string
            postal1:
              type: string
        location:
          type: object
          properties:
            latitude:
              type: string
            longitude:
              type: string
            geoIdV4:
              type: object
              additionalProperties:
                type: string
        summary:
          type: object
          additionalProperties: true
        building:
          type: object
          additionalProperties: true
        assessment:
          type: object
          additionalProperties: true
        avm:
          type: object
          additionalProperties: true
        sale:
          type: object
          additionalProperties: true
        mortgage:
          type: object
          additionalProperties: true
        owner:
          type: object
          additionalProperties: true
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: apikey
      description: 'Your unique ATTOM API key, assigned by ATTOM and passed in the `apikey` request header. Also send `Accept: application/json` (or application/xml).'
Where this information came from

This is an independent, third-party profile of ATTOM Property API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.