Skip to main content
Returns land, structure, and ownership attributes for a single property, keyed by CLIP. Use it for collateral valuation, underwriting checks, and hazard risk profiling on residential or commercial parcels. Once you have one or more CLIPs from the CLIP tools, pass them here to retrieve the full characteristics profile for each property.

Industry solutions and use cases

This tool is designed to support specific persona workflows. Choose your path to understand how property data maps to your business outcomes:
Automate valuation and collateral review
  • Comparable matching — Filter properties using livingSquareFootage and actualYearBuilt to locate geographic comparables for appraisal reviews
  • MISMO compliance — Ensure structural characteristics align with FHFA appraisal datasets and MISMO v3.x container mappings
  • Accessory units — Iterate through the structure array to identify multiple structures (ADUs, guest houses) on the parcel using buildingSequenceNumber
See the full mortgage and valuation solutions guide →

Industry standards alignment

Cotality property data conforms to the dominant industry standards used across mortgage, insurance, and real estate:
  • MISMO residential XML (v3.x) — The nested structure elements map directly to the VALUATION_RESPONSE/VALUATION_ANALYSIS/PROPERTY/STRUCTURE container. livingSquareFootage maps to MISMO’s GrossLivingAreaSquareFeet attribute
  • ACORD P&C standards — universalConstructionTypeCode maps to the ACORD ConstructionCode standard; universalExternalWallCode and universalRoofCoverCode map to ACORD structural rating standards for risk underwriting
  • USPS publication 28 — Address fields (streetNamePrefixDirection, streetNameSuffix, unitType) are pre-standardized using USPS postal addressing standards
  • OGC well-known text (WKT) — Building footprint geometry in the footprint object is returned in WKT format, compatible with ArcGIS, QGIS, PostGIS, and Leaflet

AI agent onboarding guidelines

When integrating this tool into LLM-powered agents or AI workflows, configure your agent’s system instructions with the following rules:
Address fuzzy matching — If a user queries by address, always invoke clip-find_property_by_address first. Use the returned clip to call pd-get_property_characteristics.Structure loop — Parcels can contain multiple structures. If the user asks about “the building,” check whether summaryNumberOfBuildings > 1. If so, iterate through the structure array and ask the user to clarify which building sequence they want.Modeled vs. recorded data — This tool returns actualYearBuilt on each structure from county records. It does not tell you whether a year was modeled. If you need that signal, call at-get_property_roof_age and check attributes.yearBuiltModeledIndicator; a value of 1 means the year is a statistical estimate, not a county record.

This tool takes CLIPs, not addresses. Resolve the address first.
Batch up to 50 CLIPs per call. Fifty CLIPs in one request costs one unit of your quota; fifty single-CLIP requests cost fifty.

pd-get_property_characteristics

Required scope: property:characteristics. Retrieve comprehensive property characteristics data from Cotality for residential and commercial properties using CLIP identifiers. When to use:
  • You need detailed land, structure, or attribute data for one or more properties
  • Performing property valuation or appraisal workflows
  • Conducting real estate market analysis or comparables research
  • Looking up owner information, tax assessments, or zoning details
  • Verifying building specifications, construction details, or amenities
Examples:
  • “Compare characteristics of properties with CLIPs 111111111 and 222222222”
  • “Find building square footage and year built for CLIP 555555555”
  • “Retrieve owner information and land use for CLIP 999999999”

Input schema

Each CLIP must be a non-empty string consisting only of numeric characters (e.g. ["123456789", "987654321"]). The tool supports batch queries with multiple CLIPs.

Example request

Output schema

Each item in data is a flat property record — clip plus promoted scalar fields plus the owner, structure, lot, landDimension, topography, and attributes collections. See Response envelope and Property record.

Response envelope

Both fields are always present in a successful response. There is no success or messages field — failure is signalled by an MCP error carrying a ToolError payload. See Response envelope and MCP tool errors.
A CLIP that matches no property is not an error. You receive a successful response with count of 0 and an empty data array. When you submit several CLIPs, only the ones that matched are returned — compare count against the number you sent.

Property record

Each object in the data array is a flat property record. The upstream propertyCharacteristics, land, and propertyAttributes wrappers are removed before the data reaches you, and their scalar fields are promoted to the top level. All fields are optional and are omitted when no value is available.
Do not look for propertyCharacteristics, land, propertyAttributes, summaryData, propertyRights, exteriorFixtures, map, location, functionalComponents, features, or locationInfluence in the response. Those names belong to the upstream data model, not to the MCP tool output.

Identity and ownership

Building summary

Aggregate counts and square footages across every building on the parcel.

Zoning, pool, and parcel map

Geography

Utilities

Parcel-level utility and service codes.

View and location influence

Land

Nested collections


Land detail arrays

Lot

All fields are optional and are omitted when no value is available.

LandDimension

All fields are optional and are omitted when no value is available.

LandTopography

All fields are optional and are omitted when no value is available.

Structure fields

The structure array contains one record per building on the parcel. Each Structure object carries top-level building attributes and several nested detail objects. All fields are optional and are omitted when no value is available.

Top-level structure fields

All fields are optional and are omitted when no value is available.

Nested structure objects

Each Structure record may contain the following nested objects. All are optional and omitted when no value is available.

Attic

All fields are optional and are omitted when no value is available.

Basement

All fields are optional and are omitted when no value is available.

Bathroom

All fields are optional and are omitted when no value is available.

Ceiling

All fields are optional and are omitted when no value is available.

Commercial

All fields are optional and are omitted when no value is available.

Dimensions

All fields are optional and are omitted when no value is available.

SquareFootageDetail

All fields are optional and are omitted when no value is available.

Footprint

All fields are optional and are omitted when no value is available.

FinishComponents

All fields are optional and are omitted when no value is available.

Fireplace

All fields are optional and are omitted when no value is available.

StructureFunctionalComponents

All fields are optional and are omitted when no value is available.

GarageParking

All fields are optional and are omitted when no value is available.

StructureImprovement

All fields are optional and are omitted when no value is available.

ImprovementFeature

All fields are optional and are omitted when no value is available.

OtherStructureImprovement

All fields are optional and are omitted when no value is available.

PatioPorch

All fields are optional and are omitted when no value is available.

StructureResidential

All fields are optional and are omitted when no value is available.

StructureRooms

All fields are optional and are omitted when no value is available.

StructureStories

All fields are optional and are omitted when no value is available.

StructuralComponents

All fields are optional and are omitted when no value is available.

Owner fields

owner is an array of flattened owner records. The upstream ownerDetails and ownerAddress wrappers are removed: name fields are promoted as-is, and mailing address fields are promoted with an owner prefix — address1 becomes ownerAddress1, city becomes ownerCity, and so on. The nested foreignAddress object is flattened to a single ownerForeignAddressFull string. All fields are optional and are omitted when no value is available.

Niche attributes

The attributes object groups lower-frequency parcel and building fields, most of them commercial or legal. The object is omitted entirely when none of its fields has a value.

Sample response

The record is flat: land, summary, location, and utility fields sit at the top level alongside the owner, structure, lot, landDimension, topography, and attributes collections.

Errors and limits

This tool returns the standard MCP ToolError object on failure — code, message, and retryable. Only retry when retryable is true.
There is no NOT_FOUND code on this tool. A CLIP that matches no property is returned as a successful response with count of 0 — check count, do not wait for an error.
See MCP tool errors for the full contract and input limits, and Rate limits for 429 handling.