~ · home · engineering-construction quantity-surveying · 3

Quantity Surveying

Query this niche via MCPmarket_report({ query: "Quantity Surveying", response_mode: "summary" })
active marketmarket pulse 44/100commercial money present0 new builders in 30d3 listings
basis: all observed monthly plans · commercial-form-v2
Agents · median
$19/mo
2 providers · median of every priced plan point, all tiers · thin evidence
MCP servers · median
None priced — too few for a MCP servers median.

All plans — Agents vs MCPs

each dot = one provider · log scale
Agents $19
Beam Ai 2 · $2
Quantity Surveyor Health · $19
$5
$10
AgentsMCP serversshaded = middle half · line = median

All plans

2 priced
Providervs its cohort medianMonthly
Beam Ai 2agent
$2 below
Quantity Surveyor Healthagent
$19 ~median
Position is relative to the provider's own delivery-type median at this tier — never a blended one.
What the figures on this page are. This page is Agentery's fixed-niche view of Quantity Surveying (latest observation 2026-10-15T03:43:03.005Z). The headline medians above are computed from that data per delivery type and buyer-tier tab: on a tier tab, the median of each provider's plan at that tier; on “All”, every priced plan point across tiers pooled. Small cohorts show as “too few” rather than a median. The embedded response below is the broader fixed-niche report: its by_provider_type.*.median pools all tiers, pricing.byPersona.* is per buyer tier, and the unit cohorts (e.g. Pro flat) are per tier and billing unit — so those blocks legitimately differ from one headline figure. Over MCP today the advertised tools are market_report (a semantic neighbourhood for your query, not this fixed niche) and price_benchmark (query/task); niche_report stays callable as a legacy alias. Their cohorts are defined differently, so their numbers can differ from this page.
market_reportprice_benchmark
See the MCP response behind this pagefixed-niche report (legacy niche_report alias, full mode) — broader than the headline figure
{
  "niche": "quantity-surveying",
  "parent_sector": "engineering-construction",
  "provider_type_pricing": {
    "slug": "quantity-surveying",
    "pricing_basis": "lowest_observed_monthly_usd",
    "provider_type_methodology": "commercial-form-v2",
    "provider_type_methodology_published_at": "2026-07-31",
    "blended": {
      "median": 10.55,
      "p25": null,
      "p75": null,
      "providers": 2
    },
    "by_provider_type": {
      "agent": {
        "median": null,
        "p25": null,
        "p75": null,
        "providers": 2,
        "publishable": false,
        "confidence": "insufficient",
        "reason": "Fewer than three comparable priced Agent-economy products are available."
      },
      "mcp": {
        "median": null,
        "p25": null,
        "p75": null,
        "providers": 0,
        "publishable": false,
        "confidence": "insufficient",
        "reason": "Fewer than three comparable priced MCP servers are available."
      }
    },
    "recommended_cohort": null,
    "recommendation_reason": "Choose the cohort according to the commercial delivery type being assessed.",
    "fallback_context": null,
    "context_note": null
  },
  "crowding_level": "empty",
  "observed_node_count": 0,
  "adjacent_niches": [
    "construction-estimating-takeoff",
    "bim-coordination",
    "subcontractor-bid-comparison",
    "ai-construction-pm",
    "change-order-management",
    "building-inspection"
  ],
  "market_pulse": {
    "pulse": 44,
    "drivers": [
      "enterprise money present"
    ],
    "price_move_30d_pct": null,
    "money_share": 0.3333333333333333,
    "entry_rate": 0,
    "alive_share": 1
  },
  "price_move": {
    "d_pct": 0,
    "w_pct": 0,
    "m_pct": 0,
    "comparable_agents": 2,
    "quarantined_agents": 0,
    "confidence": "thin",
    "published": {
      "d": false,
      "w": false,
      "m": false
    },
    "held_reason": {
      "d": null,
      "w": null,
      "m": null
    },
    "driver": {
      "d": null,
      "w": null,
      "m": null
    },
    "tier_contribution": {
      "d": {
        "individual": 0,
        "pro": 0,
        "team_sme": 0,
        "enterprise": 0
      },
      "w": {
        "individual": 0,
        "pro": 0,
        "team_sme": 0,
        "enterprise": 0
      },
      "m": {
        "individual": 0,
        "pro": 0,
        "team_sme": 0,
        "enterprise": 0
      }
    },
    "tier_series": {
      "individual": [
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100
      ],
      "pro": [
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100
      ],
      "team_sme": [
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100
      ],
      "enterprise": [
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100,
        100
      ]
    },
    "tier_own_move": {
      "d": {
        "individual": 0,
        "pro": 0,
        "team_sme": 0,
        "enterprise": 0
      },
      "w": {
        "individual": 0,
        "pro": 0,
        "team_sme": 0,
        "enterprise": 0
      },
      "m": {
        "individual": 0,
        "pro": 0,
        "team_sme": 0,
        "enterprise": 0
      }
    },
    "tier_agents": {
      "individual": 2,
      "pro": 0,
      "team_sme": 0,
      "enterprise": 0
    },
    "obs_range": {
      "d": null,
      "w": null,
      "m": null
    },
    "tier_obs_range": {
      "d": {
        "individual": null,
        "pro": null,
        "team_sme": null,
        "enterprise": null
      },
      "w": {
        "individual": null,
        "pro": null,
        "team_sme": null,
        "enterprise": null
      },
      "m": {
        "individual": null,
        "pro": null,
        "team_sme": null,
        "enterprise": null
      }
    }
  },
  "pricing": {
    "sampleSize": 3,
    "observed": 3,
    "byPersona": {
      "free": {
        "n": 1,
        "nPriced": 0,
        "reliability": "none",
        "median": null,
        "p25": null,
        "p75": null,
        "min": null,
        "max": null,
        "mean": null,
        "stdev": null,
        "usageShare": 0
      },
      "individual": {
        "n": 4,
        "nPriced": 4,
        "reliability": "low",
        "median": 1.46,
        "p25": 0.79,
        "p75": 5.81,
        "min": 0.67,
        "max": 17,
        "mean": 5.15,
        "stdev": 7.93,
        "usageShare": 0
      },
      "pro": {
        "n": 0,
        "nPriced": 0,
        "reliability": "none",
        "median": null,
        "p25": null,
        "p75": null,
        "min": null,
        "max": null,
        "mean": null,
        "stdev": null,
        "usageShare": 0
      },
      "team_sme": {
        "n": 0,
        "nPriced": 0,
        "reliability": "none",
        "median": null,
        "p25": null,
        "p75": null,
        "min": null,
        "max": null,
        "mean": null,
        "stdev": null,
        "usageShare": 0
      },
      "enterprise": {
        "n": 1,
        "nPriced": 0,
        "reliability": "none",
        "median": null,
        "p25": null,
        "p75": null,
        "min": null,
        "max": null,
        "mean": null,
        "stdev": null,
        "usageShare": 0
      }
    },
    "byPersonaMonthly": {
      "free": {
        "nMonthly": 0,
        "p25": null,
        "median": null,
        "p75": null,
        "confidence": "none",
        "usageShare": 0,
        "mixedBilling": false,
        "monthlyComparable": false
      },
      "individual": {
        "nMonthly": 4,
        "p25": 0.79,
        "median": 1.46,
        "p75": 5.81,
        "confidence": "low",
        "usageShare": 0,
        "mixedBilling": false,
        "monthlyComparable": true
      },
      "pro": {
        "nMonthly": 0,
        "p25": null,
        "median": null,
        "p75": null,
        "confidence": "none",
        "usageShare": 0,
        "mixedBilling": false,
        "monthlyComparable": false
      },
      "team_sme": {
        "nMonthly": 0,
        "p25": null,
        "median": null,
        "p75": null,
        "confidence": "none",
        "usageShare": 0,
        "mixedBilling": false,
        "monthlyComparable": false
      },
      "enterprise": {
        "nMonthly": 0,
        "p25": null,
        "median": null,
        "p75": null,
        "confidence": "none",
        "usageShare": 0,
        "mixedBilling": false,
        "monthlyComparable": false
      }
    },
    "byTierCohorts": {
      "status": "ok",
      "cohorts": [
        {
          "tier": "individual",
          "currency": "USD",
          "period": "month",
          "unit": "flat",
          "median": 10.73,
          "provider_count": 2,
          "plan_observation_count": 2,
          "data_confidence": 0.15,
          "data_confidence_basis": {
            "provider_component": 0.17,
            "observation_component": 0.1,
            "provider_count": 2,
            "plan_observation_count": 2
          },
          "reliability": "low",
          "members": [
            {
              "provider": "beam_ai_2",
              "usd": 2.08
            },
            {
              "provider": "quantity_surveyor_health",
              "usd": 19.38
            }
          ]
        }
      ],
      "rejected": {
        "unrankable_or_unparseable": 2,
        "ambiguous_cadence": 1
      },
      "evidence": {
        "status": "ok",
        "single_observations": [],
        "observed_offers": [
          {
            "billing": "monthly",
            "unit": "flat",
            "count": 2,
            "offers": [
              {
                "provider": "beam_ai_2",
                "tier": "individual",
                "billing": "monthly",
                "unit": "flat",
                "price": "$25K annual license",
                "monthly_usd": 2.08
              },
              {
                "provider": "quantity_surveyor_health",
                "tier": "individual",
                "billing": "monthly",
                "unit": "flat",
                "price": "€17",
                "monthly_usd": 19.38
              }
            ]
          },
          {
            "billing": "unspecified_period",
            "unit": "flat",
            "count": 1,
            "offers": [
              {
                "provider": "beam_ai_2",
                "tier": "enterprise",
                "billing": "unspecified_period",
                "unit": "flat",
                "price": "Talk to us for custom pricing",
                "monthly_usd": null
              }
            ]
          }
        ],
        "coverage": {
          "priced_providers": 2,
          "normalized_observations": 2,
          "comparable_providers": 2,
          "strict_cohorts": 1,
          "exclusion_reasons": {
            "unrankable_or_unparseable": 2,
            "ambiguous_cadence": 1
          }
        }
      }
    },
    "quoteOnlyProvidersByTier": {
      "individual": 0,
      "enterprise": 1
    },
    "billingMix": {
      "subscription": 2,
      "free": 1
    },
    "freeTierShare": 0.33,
    "medianLowestUsd": 11.67
  },
  "movement": {
    "niche": "quantity-surveying",
    "sector": "engineering-construction",
    "pricedNow": 2,
    "pairs": 2,
    "repriced": [
      {
        "handle": "quantity_surveyor_health",
        "from": 19.04,
        "to": 19.01,
        "pct": -0.2
      }
    ],
    "newlyPriced": [],
    "droppedFromPriced": [],
    "likeForLikePct": -0.1,
    "kind": "repricing",
    "narrative": "Genuine repricing: 1 agent repriced — all down (avg -0.1%)."
  },
  "index_series": {
    "series": [
      {
        "day": "2026-09-16",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-17",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-18",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-19",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-20",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-21",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-22",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-23",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-24",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-25",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-26",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-27",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-28",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-29",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-30",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-01",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-02",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-03",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-04",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-05",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-06",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-07",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-08",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-09",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-10",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-11",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-12",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-13",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-14",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      },
      {
        "day": "2026-10-15",
        "index": 100,
        "pairs": 2,
        "dayChangePct": 0
      }
    ],
    "latest": 100,
    "day_change_pct": 0,
    "methodology": "Chained daily price index, base 100 on the first priced scan day (29 Jun 2026). The overall index is the COMPOSITE of the four buyer-tier indices (individual / pro / team&sme / enterprise): each day it moves by the equal-weighted average of the tiers' moves. Each tier index is like-for-like — only agents priced on both consecutive scan days (per-agent ratios, geometric mean, clipped to [0.2, 5]) — so composition changes (agents revealing or hiding prices) can never move it."
  },
  "top_agents": [
    {
      "agent_id": "beam_ai_2",
      "name": "Beam Ai 2",
      "url": "https://ibeam.ai/ai-quantity-surveying-software",
      "short_summary": "AI-powered quantity surveying software that automates construction takeoffs. Extracts material quantities from project plans and specs, delivering QA-reviewed…",
      "price": {
        "commercial": {
          "entry_offer": {
            "line": "Do It Yourself - Construction plans",
            "monthly_native": 666.67,
            "monthly_usd": 666.6666666666666,
            "commitment": "annual",
            "basis": "$667 per trade/month × 1"
          },
          "currency": "USD",
          "lines": [
            {
              "name": "Do It Yourself - Construction plans",
              "price": "$8K annual license per trade",
              "kind": "base_subscription",
              "unit": "trade",
              "billed": "annually"
            },
            {
              "name": "Done For You - Construction plans",
              "price": "$25K annual license",
              "kind": "base_subscription",
              "billed": "annually"
            },
            {
              "name": "Done For You - Aerial images",
              "price": "$10K annual license per trade",
              "kind": "base_subscription",
              "unit": "trade",
              "billed": "annually"
            },
            {
              "name": "Enterprise plan",
              "price": "Talk to us for custom pricing",
              "kind": "custom"
            }
          ]
        },
        "observed": true,
        "billing": "subscription",
        "lowest_monthly_usd": 666.6666666666666,
        "monthly_usd": 666.6666666666666,
        "headline": "From $667/mo ($667 per trade/month × 1)",
        "summary": "From $667/mo ($667 per trade/month × 1). Public pricing starts at $8K per year per trade for DIY construction-plan takeoffs, with higher annual plans and custom enterprise pricing also available."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    },
    {
      "agent_id": "qs_ai_agent",
      "name": "Qs Ai Agent",
      "url": "https://gatherinsights.com/en/qs-ai-agent",
      "short_summary": "AI quantity surveying agent for construction projects that analyzes site diaries to automatically detect compensation events, early warnings, and contract comp…",
      "price": {
        "commercial": {
          "currency": "GBP",
          "notes": [
            "prices in GBP as published; USD figures are conversions at 2026-10-14"
          ],
          "lines": [
            {
              "name": "Unnamed offer",
              "price": "0GBP",
              "kind": "free",
              "billed": "monthly"
            }
          ]
        },
        "observed": true,
        "billing": "free",
        "lowest_monthly_usd": null,
        "monthly_usd": null,
        "headline": "Free",
        "summary": "Free. Structured data lists an offer at 0GBP, but no plan name, billing period, or additional pricing details are publicly shown."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    },
    {
      "agent_id": "quantity_surveyor_health",
      "name": "Quantity Surveyor Health",
      "url": "https://trustur.ai/skills/quantity-surveyor-practice-health-check/",
      "short_summary": "An AI-powered business health audit for quantity surveying firms that analyzes profitability, estimating workflows, fee leakage, operational capacity, and cont…",
      "price": {
        "commercial": {
          "entry_offer": {
            "line": "Quantity Surveyor Practice Health Check",
            "monthly_native": 17,
            "monthly_usd": 19.03,
            "commitment": "monthly",
            "basis": "€17/month",
            "billing_verified": true
          },
          "currency": "EUR",
          "notes": [
            "prices in EUR as published; USD figures are conversions at 2026-10-14"
          ],
          "lines": [
            {
              "name": "Quantity Surveyor Practice Health Check",
              "price": "€17",
              "kind": "base_subscription",
              "billed": "monthly"
            }
          ]
        },
        "observed": true,
        "billing": "subscription",
        "lowest_monthly_usd": 19.03,
        "monthly_usd": 19.03,
        "headline": "From €17/mo",
        "summary": "From €17/mo. The Quantity Surveyor Practice Health Check is advertised at €17 for one month."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    }
  ],
  "platforms_also_here": [],
  "page_url": "https://agentery.com/market/quantity-surveying",
  "summary": {
    "niche": "quantity-surveying",
    "sector": "engineering-construction",
    "pricing_by_provider_type": {
      "headline": "No published benchmark for quantity-surveying yet — too few comparable priced providers. Observed offers are listed.",
      "benchmarks": [
        {
          "provider_type": "agent",
          "provider_type_label": "Agents",
          "buyer_tier": "individual",
          "buyer_tier_label": "Individual",
          "pricing_unit": "flat",
          "pricing_unit_label": "flat monthly",
          "comparable_provider_count": 2,
          "reliability": "low",
          "median": null,
          "p25": null,
          "p75": null,
          "status": "observed_offers_only",
          "observed_offers": [
            2.08,
            19.38
          ]
        }
      ],
      "warnings": [],
      "full_pricing_via": {
        "tool": "price_benchmark",
        "arguments": {
          "niche": "quantity-surveying"
        },
        "note": "add provider_type + buyer_tier for a specific cohort"
      }
    },
    "page_url": "https://agentery.com/market/quantity-surveying",
    "counts": {
      "listings_with_price_capture": 3,
      "listings_with_observed_public_price": 3,
      "providers_with_numeric_monthly_price_latest_scan": 2,
      "like_for_like_comparable_pairs": 2
    },
    "movement": {
      "d": {
        "published": false,
        "value_pct": null,
        "held_reason": null
      },
      "w": {
        "published": false,
        "value_pct": null,
        "held_reason": null
      },
      "m": {
        "published": false,
        "value_pct": null,
        "held_reason": null
      }
    },
    "pricing_version": "cohorts-1",
    "pricing_status": "ok",
    "pricing_by_tier": [
      {
        "tier": "individual",
        "currency": "USD",
        "period": "month",
        "unit": "flat",
        "median": 10.73,
        "provider_count": 2,
        "plan_observation_count": 2,
        "data_confidence": 0.15,
        "data_confidence_basis": {
          "provider_component": 0.17,
          "observation_component": 0.1,
          "provider_count": 2,
          "plan_observation_count": 2
        },
        "reliability": "low",
        "members": [
          {
            "provider": "beam_ai_2",
            "usd": 2.08
          },
          {
            "provider": "quantity_surveyor_health",
            "usd": 19.38
          }
        ]
      }
    ],
    "pricing_coverage": {
      "listings_with_price_capture": 3,
      "listings_with_observed_public_price": 3,
      "normalized_observations": 2,
      "comparable_providers": 2,
      "strict_cohorts": 1,
      "exclusion_reasons": {
        "unrankable_or_unparseable": 2,
        "ambiguous_cadence": 1
      }
    },
    "pricing_note": "Provider-deduped, FX-normalized monthly medians, separated by buyer tier AND billing unit (flat/per_seat/per_user/per_agent) — incompatible units are never blended. Ranges (p25/p75) only at >=5 providers; data_confidence is provider-count-weighted. Usage-metered, promo, range, one-time and ambiguous-cadence plans are excluded.",
    "pricing_excluded_observations": {
      "unrankable_or_unparseable": 2,
      "ambiguous_cadence": 1
    },
    "billing_mix": {
      "subscription": 2,
      "free": 1
    },
    "free_tier_share": 0.33,
    "top_providers": [
      {
        "agent_id": "beam_ai_2",
        "name": "Beam Ai 2",
        "price": {
          "commercial": {
            "entry_offer": {
              "line": "Do It Yourself - Construction plans",
              "monthly_native": 666.67,
              "monthly_usd": 666.6666666666666,
              "commitment": "annual",
              "basis": "$667 per trade/month × 1"
            },
            "currency": "USD",
            "lines": [
              {
                "name": "Do It Yourself - Construction plans",
                "price": "$8K annual license per trade",
                "kind": "base_subscription",
                "unit": "trade",
                "billed": "annually"
              },
              {
                "name": "Done For You - Construction plans",
                "price": "$25K annual license",
                "kind": "base_subscription",
                "billed": "annually"
              },
              {
                "name": "Done For You - Aerial images",
                "price": "$10K annual license per trade",
                "kind": "base_subscription",
                "unit": "trade",
                "billed": "annually"
              },
              {
                "name": "Enterprise plan",
                "price": "Talk to us for custom pricing",
                "kind": "custom"
              }
            ]
          },
          "observed": true,
          "billing": "subscription",
          "lowest_monthly_usd": 666.6666666666666,
          "monthly_usd": 666.6666666666666,
          "headline": "From $667/mo ($667 per trade/month × 1)",
          "summary": "From $667/mo ($667 per trade/month × 1). Public pricing starts at $8K per year per trade for DIY construction-plan takeoffs, with higher annual plans and custom enterprise pricing also available."
        },
        "observed": true
      },
      {
        "agent_id": "qs_ai_agent",
        "name": "Qs Ai Agent",
        "price": {
          "commercial": {
            "currency": "GBP",
            "notes": [
              "prices in GBP as published; USD figures are conversions at 2026-10-14"
            ],
            "lines": [
              {
                "name": "Unnamed offer",
                "price": "0GBP",
                "kind": "free",
                "billed": "monthly"
              }
            ]
          },
          "observed": true,
          "billing": "free",
          "lowest_monthly_usd": null,
          "monthly_usd": null,
          "headline": "Free",
          "summary": "Free. Structured data lists an offer at 0GBP, but no plan name, billing period, or additional pricing details are publicly shown."
        },
        "observed": true
      },
      {
        "agent_id": "quantity_surveyor_health",
        "name": "Quantity Surveyor Health",
        "price": {
          "commercial": {
            "entry_offer": {
              "line": "Quantity Surveyor Practice Health Check",
              "monthly_native": 17,
              "monthly_usd": 19.03,
              "commitment": "monthly",
              "basis": "€17/month",
              "billing_verified": true
            },
            "currency": "EUR",
            "notes": [
              "prices in EUR as published; USD figures are conversions at 2026-10-14"
            ],
            "lines": [
              {
                "name": "Quantity Surveyor Practice Health Check",
                "price": "€17",
                "kind": "base_subscription",
                "billed": "monthly"
              }
            ]
          },
          "observed": true,
          "billing": "subscription",
          "lowest_monthly_usd": 19.03,
          "monthly_usd": 19.03,
          "headline": "From €17/mo",
          "summary": "From €17/mo. The Quantity Surveyor Practice Health Check is advertised at €17 for one month."
        },
        "observed": true
      }
    ],
    "suggested_next_calls": [
      {
        "tool": "price_benchmark",
        "arguments": {
          "niche": "quantity-surveying"
        },
        "purpose": "full observed price distribution + per-tier medians for this niche"
      },
      {
        "tool": "niche_report",
        "arguments": {
          "niche": "quantity-surveying",
          "response_mode": "full"
        },
        "purpose": "the complete report incl. index series and tier decomposition"
      },
      {
        "tool": "suggest_alternatives",
        "arguments": {
          "agent_id": "beam_ai_2"
        },
        "purpose": "comparable (optionally cheaper) providers to a named agent"
      },
      {
        "tool": "get_agent_profile",
        "arguments": {
          "agent_id": "beam_ai_2"
        },
        "purpose": "full profile, integrations and pricing for one provider"
      }
    ]
  }
}
Full market

3 providers, one sortable view

Dense enough for many listings; progressive disclosure keeps mobile usable.

Showing only providers with a published price or a free plan. $29 = lowest observed monthly · Free = free to use · Free tier = free plan + paid options.