ATTOM POI API

Points of interest (v4).

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/attom-data-poi-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

attom-data-poi-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ATTOM Area POI 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: POI
  description: Points of interest (v4).
paths:
  /v4/neighborhood/poi:
    get:
      operationId: getPoiSearch
      tags:
      - POI
      summary: POI search
      description: Points-of-interest search returning nearby businesses and amenities within a radius of coordinates or an address. Modeled from ATTOM's POI API v4.
      parameters:
      - $ref: '#/components/parameters/Address'
      - $ref: '#/components/parameters/Latitude'
      - $ref: '#/components/parameters/Longitude'
      - $ref: '#/components/parameters/Radius'
      - name: categoryName
        in: query
        schema:
          type: string
        description: One or more POI category names to filter by.
      - name: recordLimit
        in: query
        schema:
          type: integer
          default: 20
        description: Maximum number of POI records to return.
      responses:
        '200':
          $ref: '#/components/responses/AreaResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v4/neighborhood/poi/category/lookup:
    get:
      operationId: getPoiCategoryLookup
      tags:
      - POI
      summary: POI category lookup
      description: Returns the supported POI business categories. Modeled from ATTOM's POI API v4.
      responses:
        '200':
          $ref: '#/components/responses/AreaResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    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
    StatusEnvelope:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/Status'
  parameters:
    Address:
      name: address
      in: query
      schema:
        type: string
      description: Full one-line street address (e.g. "4529 Winona Court, Denver, CO").
    Radius:
      name: radius
      in: query
      schema:
        type: number
        format: double
        default: 5
        maximum: 20
      description: Search radius in miles (default 5, maximum 20).
    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.
  responses:
    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'
  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).'