openapi: 3.0.3
info:
title: ATTOM Area School 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: School
description: Schools, school districts, and attendance zones.
paths:
/propertyapi/v1.0.0/property/detailwithschools:
get:
operationId: getPropertyDetailWithSchools
tags:
- School
summary: Property detail with schools
description: Property characteristics plus the school attendance zones and schools serving the 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'
/propertyapi/v1.0.0/school/search:
get:
operationId: getSchoolSearch
tags:
- School
summary: School search
description: Search for schools within a radius of coordinates or within a school attendance area / geoIdV4.
parameters:
- $ref: '#/components/parameters/GeoIdV4'
- $ref: '#/components/parameters/Latitude'
- $ref: '#/components/parameters/Longitude'
- $ref: '#/components/parameters/Radius'
responses:
'200':
$ref: '#/components/responses/AreaResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/propertyapi/v1.0.0/school/profile:
get:
operationId: getSchoolProfile
tags:
- School
summary: School profile
description: Profile for an individual school - grades, enrollment, ratings, and location.
parameters:
- $ref: '#/components/parameters/GeoIdV4'
responses:
'200':
$ref: '#/components/responses/AreaResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/propertyapi/v1.0.0/school/district:
get:
operationId: getSchoolDistrict
tags:
- School
summary: School district
description: Information about a school district, including boundaries and enrollment.
parameters:
- $ref: '#/components/parameters/GeoIdV4'
responses:
'200':
$ref: '#/components/responses/AreaResponse'
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
PropertyResponse:
description: A status envelope plus an array of property records.
content:
application/json:
schema:
$ref: '#/components/schemas/PropertyResponse'
AreaResponse:
description: A status envelope plus an array of area, school, community, or POI records.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
Unauthorized:
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/StatusEnvelope'
schemas:
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
GenericResponse:
type: object
description: Generic envelope for area, school, community, POI, and boundary responses.
properties:
status:
$ref: '#/components/schemas/Status'
additionalProperties: true
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'
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).
Longitude:
name: longitude
in: query
schema:
type: number
format: double
description: Longitude of the search center.
Latitude:
name: latitude
in: query
schema:
type: number
format: double
description: Latitude of the search center.
Address1:
name: address1
in: query
schema:
type: string
description: First line of the street address (house number and street).
AttomId:
name: attomid
in: query
schema:
type: string
description: ATTOM-assigned property identifier.
GeoIdV4:
name: geoIdV4
in: query
schema:
type: string
description: 32-character geoIdV4 area identifier (required by v4-and-above endpoints).
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 School 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.