Skip to main content
Glama

ATTOM — Property and Real Estate Data

ATTOM (formerly Onboard) is a commercial property data provider covering 99% of US single- and multi-family parcels. The data behind tax records, valuations (AVMs), comparables, ownership history, neighborhood demographics, and risk overlays (flood, wildfire). It's what most real-estate analytics products sit on top of.

Part of Pipeworx — an MCP gateway connecting AI agents to 1863+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.

Why this matters for AI agents

Anything about a specific US property — its value, taxes, sale history, who owns it, what it sold for last — flows from ATTOM. Commercial-grade data with national coverage; competing public sources (Zillow public data, county assessor sites) have spotty coverage and inconsistent schemas.

Common use cases:

  • AVM lookup. "What's 123 Main St worth?" → attom_avm({address1, address2}) → automated valuation with confidence band.

  • Tax history. "What's the property tax been?" → attom_tax_history → annual tax assessments.

  • Comps. "What have similar homes sold for nearby?" → attom_comps.

  • Market context. "What's typical for this metro?" → attom_market_stats.

For a one-call combined view, use the Housing Vertical's housing_property_report compound — wraps ATTOM AVM + tax + Altos market + FEMA flood.

Related MCP server: mcp-server-attom

Auth

ATTOM is a paid commercial API. Two options:

  1. BYO key: get an ATTOM key directly at https://api.developer.attomdata.com, pass via _apiKey:

    attom_avm({
      address1: "123 Main St",
      address2: "Denver, CO 80202",
      _apiKey: "your-attom-api-key"
    })
  2. Pipeworx Housing Vertical: subscribe at pipeworx.io/account and Pipeworx fronts the ATTOM relationship. No _apiKey needed; calls bill against your Pipeworx account.

The vertical option is simpler if you're using ATTOM alongside FRED, BLS, Altos, and FEMA — they're all packaged.

Coverage and freshness

  • Coverage: ~155M residential parcels, plus commercial records in major metros. National.

  • Update cadence: County assessor data updates as counties update their records (varies — most update annually, some more often). AVMs recalibrate monthly. ATTOM is the lag, not Pipeworx.

  • Address normalization: ATTOM is finicky about addresses. Use address1 for the street part and address2 for "City, ST ZIP" — works most consistently. Apartment numbers, abbreviations, and PO boxes all behave subtly differently.

Common pitfalls

  • AVM bands matter. A point estimate without the confidence band is misleading. Always report both. ATTOM gives you valueLow / valueHigh — pass both through to the user.

  • Tax history isn't always current-year. Counties report at different cadences. The most-recent year in attom_tax_history may be 6–18 months behind reality.

  • Comps need filters. Default attom_comps returns recent sales near the address but doesn't filter by similarity. Filter client-side by sqft, beds, baths, and date range to make comps useful.

  • Commercial vs. residential. Most ATTOM tools default to residential. Commercial properties have different schemas; use the dedicated commercial endpoints (or the Housing Vertical's compound, which handles both).

  • Rural and tribal land. Coverage gaps exist for some rural counties and tribal lands. If a valid-looking address returns no match, the parcel may not be in ATTOM's coverage.

Quick Start

Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):

{
  "mcpServers": {
    "attom": {
      "url": "https://gateway.pipeworx.io/attom/mcp"
    }
  }
}

What this endpoint actually serves

tools/list at https://gateway.pipeworx.io/attom/mcp returns the tools in the table above plus the shared Pipeworx meta-tools — ask_pipeworx, discover_tools, search_within, remember/recall and the rest of the gateway-wide set. So the tool count you see is larger than this table: a single-pack endpoint currently lists roughly 30 shared tools alongside the pack's own. The connection's initialize response states its exact scope, and is the authoritative answer for a given day.

This is deliberate, not multiplexing by accident. The meta-tools are what let a scoped connection answer a question this pack does not cover — via ask_pipeworx, which routes across the whole catalog — without you adding a second MCP server. There is currently no way to mount a pack endpoint without them; if the extra schemas cost you more context than the routing is worth, connect to the full gateway once rather than to several pack endpoints.

Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

Both URLs reach the same gateway and the same 1863+ data sources. The only difference is which pack's tools are listed directly; ask_pipeworx reaches all of them from either one.

No MCP client? Call it over HTTP

This pack takes your own API key (_apiKey) — we don't front one for it, so there's no curl here that would run without it. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/attom_property_detail. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.

Run it from npm

@pipeworx/mcp-attom is a local stdio bridge to the Pipeworx gateway: your MCP client starts it with npx, and it forwards every call to the same https://gateway.pipeworx.io/attom/mcp endpoint shown above. It needs network access; there is no offline mode.

{
  "mcpServers": {
    "attom": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-attom"]
    }
  }
}

Without a key it calls anonymously, capped at 50 calls a day. A free account raises that to 200 a day: get a key at https://pipeworx.io/signup and add "env": { "PIPEWORX_API_KEY": "<your key>" } to the server entry. The key is sent as a Bearer token, the same way a hosted connection sends it, so calls are metered and billed exactly as they are there.

It lists only this pack's tools by default. Set PIPEWORX_META_TOOLS=1 to also list ask_pipeworx and the other gateway-wide tools.

Behind an HTTPS proxy: Node's built-in fetch does not read HTTPS_PROXY by default. Newer Node releases honour it when NODE_USE_ENV_PROXY=1 is set; check your Node version's documentation.

Using with ask_pipeworx

Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:

ask_pipeworx({ question: "your question about Attom data" })

The gateway picks the right tool and fills the arguments automatically.

More

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Property intelligence API for US real estate. Returns 16+ data points for any US address: noise levels, wetlands, slope, natural light, powerline proximity, crime rates, property facing direction, zoning, public record, radon risk, natural hazards (earthquake, flood, wildfire), neighborhood demographics, falling tree risk, RF/cell tower exposure, and nearby school.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Exposes ATTOM's real estate API as MCP tools, enabling property details, valuations, assessments, sales, and area data via natural language.
    2
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables property-data lookups by address, attribute-based property searches across 155M+ records, and skip-tracing to resolve owner contact information via the BatchData API.
    130 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables US address verification and standardization, validating deliverability and returning USPS-standardized data, plus property enrichment with 350+ tax assessor and deed attributes for a given address.
    9 npm
    MIT