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.