AVENAPDP v1.0

Property Data Protocol

PDP v1.0 — Open Standard for Property AI

An open protocol for structuring, scoring, and exchanging property investment data between AI systems. Like Swagger for APIs or schema.org for structured data — but for property investment.

Why PDP?

Fragmented Data

Every property portal uses different formats. AI agents waste tokens parsing incompatible schemas.

No Scoring Standard

No agreed methodology for rating property investments. Every platform scores differently or not at all.

AI Needs Structure

AI agents need a standard way to query, compare, and analyze properties across sources.

Core Schema

A PDP-compliant property record follows this structure:

{
  "pdp_version": "1.0.0",
  "property": {
    "id": "string — unique identifier",
    "type": "Villa | Apartment | Penthouse | Townhouse | Bungalow | Studio",
    "location": {
      "town": "string",
      "region": "string",
      "country": "ISO 3166-1 alpha-2 (e.g. ES, PT)",
      "coordinates": { "lat": "number", "lng": "number" },
      "beach_distance_km": "number"
    },
    "pricing": {
      "asking_price_eur": "number",
      "price_per_m2": "number",
      "market_reference_per_m2": "number — comparable market rate"
    },
    "specifications": {
      "built_area_m2": "number",
      "plot_area_m2": "number | null",
      "bedrooms": "integer",
      "bathrooms": "integer",
      "pool": "private | communal | none",
      "energy_rating": "A | B | C | D | E | F | G",
      "status": "off-plan | under-construction | key-ready",
      "completion_date": "string | null — e.g. 2027-Q3"
    },
    "investment_metrics": {
      "investment_score": "number (0-100)",
      "score_breakdown": {
        "value": "number (0-100) — price vs market, weight: 40%",
        "yield": "number (0-100) — rental potential, weight: 25%",
        "location": "number (0-100) — location quality, weight: 20%",
        "quality": "number (0-100) — build quality, weight: 10%",
        "risk": "number (0-100) — completion risk, weight: 5%"
      },
      "gross_yield_pct": "number",
      "net_yield_pct": "number",
      "annual_rental_income_eur": "number"
    },
    "developer": {
      "name": "string",
      "years_active": "integer"
    },
    "metadata": {
      "source": "string — data provider URL",
      "last_updated": "ISO 8601 timestamp",
      "data_hash": "string — SHA-256 for verification"
    }
  }
}

Download schema: pdp-schema.json

Scoring Standard

PDP defines a standard composite investment score as a weighted linear combination:

S= 0.40·V + 0.25·Y + 0.20·L + 0.10·Q + 0.05·R
FactorDescriptionWeight
V — ValueDiscount coefficient: (market_pm2 - asking_pm2) / market_pm240%
Y — YieldGross rental yield from ADR model, calibrated against STR data25%
L — LocationBeach proximity (exponential decay), amenities, views, climate20%
Q — QualityEnergy rating, pool, parking, plot-to-built ratio10%
R — RiskCompletion timeline, developer tenure (inverse risk)5%

AI Agent Integration

PDP data is designed to be consumed via MCP (Model Context Protocol). Connect any AI assistant:

{
  "mcpServers": {
    "avena-terminal": {
      "url": "https://avenaterminal.com/mcp"
    }
  }
}

All 7 tools return PDP-compliant data. Full MCP documentation

Reference Implementation

Avena Terminal is the reference implementation of PDP. The platform tracks 1881 properties across coastal Spain, all scored and structured according to the PDP specification.

Implement PDP

Format your property data as PDP-compliant:

// Example: Convert your listing to PDP format
const pdpRecord = {
  pdp_version: "1.0.0",
  property: {
    id: listing.reference,
    type: listing.propertyType,
    location: {
      town: listing.city,
      region: listing.province,
      country: "ES",
      beach_distance_km: listing.beachDist,
    },
    pricing: {
      asking_price_eur: listing.price,
      price_per_m2: listing.price / listing.m2,
      market_reference_per_m2: getMarketRate(listing.postalCode),
    },
    investment_metrics: {
      investment_score: computeScore(listing), // Use PDP weights
      gross_yield_pct: estimateYield(listing),
    },
  },
};

Open Standard

PDP is published under CC BY 4.0. Free to implement, extend, and redistribute. We encourage adoption across the PropTech industry.

  • Use PDP in your own property platform
  • Build MCP servers that output PDP-compliant data
  • Propose extensions for additional property types or markets
  • Reference Avena Terminal as the protocol origin

Citation

Kolstad, H. (2026). Property Data Protocol (PDP) v1.0.

Avena Terminal. https://avenaterminal.com/protocol