~ · home · developer-tools-infra legacy-code-modernization · 8

Legacy Code Modernization

Query this niche via MCPmarket_report({ query: "Legacy Code Modernization", response_mode: "summary" })
active marketmarket pulse 27/1000 new builders in 30d8 listings
basis: all observed monthly plans · commercial-form-v2
Agents · median
None priced — too few for a Agents median.
MCP servers · median
None priced — too few for a MCP servers median.

All plans — Agents vs MCPs

each dot = one provider · log scale
No providers priced at the All tier yet.

All plans

0 priced
Providervs its cohort medianMonthly
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 Legacy Code Modernization (latest observation 2026-09-25T05:12:16.014Z). 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": "legacy-code-modernization",
  "parent_sector": "developer-tools-infra",
  "provider_type_pricing": {
    "slug": "legacy-code-modernization",
    "pricing_basis": "lowest_observed_monthly_usd",
    "provider_type_methodology": "commercial-form-v2",
    "provider_type_methodology_published_at": "2026-07-31",
    "blended": {
      "median": 33.28,
      "p25": null,
      "p75": null,
      "providers": 1
    },
    "by_provider_type": {
      "agent": {
        "median": null,
        "p25": null,
        "p75": null,
        "providers": 1,
        "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": [
    "ai-frontend-coding",
    "mcp-platform-provider",
    "incident-response-sre",
    "on-call-management-agent",
    "infrastructure-provisioning-iac",
    "database-query-agent"
  ],
  "market_pulse": {
    "pulse": 27,
    "drivers": [
      "18% of listings unresponsive"
    ],
    "price_move_30d_pct": null,
    "money_share": null,
    "entry_rate": 0,
    "alive_share": 0.8181818181818182
  },
  "price_move": {
    "d_pct": 0,
    "w_pct": 0,
    "m_pct": 0,
    "comparable_agents": 1,
    "quarantined_agents": 0,
    "confidence": "insufficient",
    "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
      ],
      "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
      ],
      "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
      ],
      "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
      ]
    },
    "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": 1,
      "pro": 0,
      "team_sme": 1,
      "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": 8,
    "observed": 1,
    "byPersona": {
      "free": {
        "n": 0,
        "nPriced": 0,
        "reliability": "none",
        "median": null,
        "p25": null,
        "p75": null,
        "min": null,
        "max": null,
        "mean": null,
        "stdev": null,
        "usageShare": 0
      },
      "individual": {
        "n": 1,
        "nPriced": 1,
        "reliability": "none",
        "median": 29,
        "p25": 29,
        "p75": 29,
        "min": 29,
        "max": 29,
        "mean": 29,
        "stdev": 0,
        "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": 1,
        "nPriced": 1,
        "reliability": "none",
        "median": 49,
        "p25": 49,
        "p75": 49,
        "min": 49,
        "max": 49,
        "mean": 49,
        "stdev": 0,
        "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": 1,
        "p25": null,
        "median": null,
        "p75": null,
        "confidence": "none",
        "usageShare": 0,
        "mixedBilling": false,
        "monthlyComparable": false
      },
      "pro": {
        "nMonthly": 0,
        "p25": null,
        "median": null,
        "p75": null,
        "confidence": "none",
        "usageShare": 0,
        "mixedBilling": false,
        "monthlyComparable": false
      },
      "team_sme": {
        "nMonthly": 1,
        "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": "insufficient",
      "cohorts": [],
      "rejected": {
        "ambiguous_cadence": 1
      },
      "evidence": {
        "status": "single_observation",
        "single_observations": [
          {
            "tier": "individual",
            "unit": "per_seat",
            "provider": "nanoapi",
            "monthly_usd": 33.06
          },
          {
            "tier": "team_sme",
            "unit": "per_seat",
            "provider": "nanoapi",
            "monthly_usd": 55.86
          }
        ],
        "observed_offers": [
          {
            "billing": "monthly",
            "unit": "per_seat",
            "count": 2,
            "offers": [
              {
                "provider": "nanoapi",
                "tier": "individual",
                "billing": "monthly",
                "unit": "per_seat",
                "price": "€29per seat / month",
                "monthly_usd": 33.06
              },
              {
                "provider": "nanoapi",
                "tier": "team_sme",
                "billing": "monthly",
                "unit": "per_seat",
                "price": "€49per seat / month",
                "monthly_usd": 55.86
              }
            ]
          },
          {
            "billing": "unspecified_period",
            "unit": "flat",
            "count": 1,
            "offers": [
              {
                "provider": "nanoapi",
                "tier": "enterprise",
                "billing": "unspecified_period",
                "unit": "flat",
                "price": "Custom",
                "monthly_usd": null
              }
            ]
          }
        ],
        "coverage": {
          "priced_providers": 1,
          "normalized_observations": 2,
          "comparable_providers": 1,
          "strict_cohorts": 0,
          "exclusion_reasons": {
            "ambiguous_cadence": 1
          }
        }
      }
    },
    "quoteOnlyProvidersByTier": {
      "individual": 0,
      "team_sme": 0,
      "enterprise": 1
    },
    "billingMix": {
      "freemium": 1
    },
    "freeTierShare": 1,
    "medianLowestUsd": 38.2
  },
  "movement": null,
  "index_series": {
    "series": [
      {
        "day": "2026-08-27",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-08-28",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-08-29",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-08-30",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-08-31",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-01",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-02",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-03",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-04",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-05",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-06",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-07",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-08",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-09",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-10",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-11",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-12",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-13",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-14",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-15",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-16",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-17",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-18",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-19",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-20",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-21",
        "index": 100,
        "pairs": 3,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-22",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-23",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-24",
        "index": 100,
        "pairs": 1,
        "dayChangePct": 0
      },
      {
        "day": "2026-09-25",
        "index": 100,
        "pairs": 1,
        "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": "zsh52013148087_metabase_mcp",
      "name": "Metabase Analytics Integration Server",
      "url": "https://smithery.ai/server/zsh52013148087/metabase-mcp",
      "short_summary": "Enable AI assistants to seamlessly interact with your Metabase analytics platform. Access dashboards, cards, databases, and execute queries directly through co…",
      "price": {
        "observed": false,
        "billing": "not_found",
        "lowest_monthly_usd": null,
        "monthly_usd": null,
        "headline": "No public price found",
        "summary": "No public pricing is shown for this Metabase analytics integration server."
      },
      "evidence_quality": "low",
      "upvotes": 0
    },
    {
      "agent_id": "codedebrief",
      "name": "Codedebrief",
      "url": "https://ferdinandobons.github.io/CodeDebrief/",
      "short_summary": "MCP server that generates source-grounded workflow diagrams from local codebases for coding agents. Enables agents to query bounded workflow slices with source…",
      "price": {
        "observed": false,
        "billing": "not_found",
        "lowest_monthly_usd": null,
        "monthly_usd": null,
        "headline": "No public price found",
        "summary": "No public price found on the vendor site."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    },
    {
      "agent_id": "codelogic",
      "name": "Codelogic",
      "url": "https://codelogic.com/",
      "short_summary": "AI-powered autonomous agent that automates library and framework upgrades for software teams, handling discovery, implementation, testing, and iteration at sca…",
      "price": {
        "observed": false,
        "billing": "failed_to_load",
        "lowest_monthly_usd": null,
        "monthly_usd": null,
        "headline": "No public price found",
        "summary": "No public price found on the vendor site."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    },
    {
      "agent_id": "legacy_modernization_agents",
      "name": "Legacy Modernization Agents",
      "url": "https://github.com/Azure-Samples/Legacy-Modernization-Agents",
      "short_summary": "AI-powered agents for converting legacy COBOL code to Java Quarkus or C# .NET. Uses Microsoft Agent Framework with multi-provider architecture to analyze depen…",
      "price": {
        "observed": false,
        "billing": "not_found",
        "lowest_monthly_usd": null,
        "monthly_usd": null,
        "headline": "No public price found",
        "summary": "No public SaaS pricing plans are shown for this GitHub repository."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    },
    {
      "agent_id": "nanoapi",
      "name": "Nanoapi",
      "url": "https://nanoapi.io",
      "short_summary": "Enterprise software architecture platform with AI Solution Architect agent (Saul) that visualizes codebases, predicts outages, and coordinates deployments for…",
      "price": {
        "commercial": {
          "currency": "EUR",
          "notes": [
            "prices in EUR as published; USD figures are conversions at 2026-10-14"
          ],
          "lines": [
            {
              "name": "Open Source",
              "price": "Freeforever",
              "kind": "unknown"
            },
            {
              "name": "Developer",
              "price": "€29per seat / month",
              "kind": "unknown"
            },
            {
              "name": "Business",
              "price": "€49per seat / month",
              "kind": "unknown"
            },
            {
              "name": "Enterprise",
              "price": "Custom",
              "kind": "custom"
            }
          ]
        },
        "observed": true,
        "billing": "freemium",
        "lowest_monthly_usd": null,
        "monthly_usd": null,
        "headline": "Contact sales (no public price)",
        "summary": "Contact sales (no public price). NanoAPI offers a free open-source plan, €29-per-seat monthly Developer and €49-per-seat monthly Business plans, plus custom Enterprise pricing."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    },
    {
      "agent_id": "php_modernization_skill",
      "name": "Php Modernization Skill",
      "url": "https://github.com/netresearch/php-modernization-skill",
      "short_summary": "Agent skill for modernizing PHP applications to PHP 8.x with type safety, static analysis, and architecture compliance. Provides executable tools, structured v…",
      "price": {
        "observed": false,
        "billing": "not_found",
        "lowest_monthly_usd": null,
        "monthly_usd": null,
        "headline": "No public price found",
        "summary": "No public pricing is shown for the PHP Modernization Skill repository."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    },
    {
      "agent_id": "senior_architect_agent",
      "name": "Senior Architect Agent",
      "url": "https://github.com/aetox-skills/senior-architect-agent",
      "short_summary": "AI architecture skill for mapping existing systems, documenting software architecture, generating Mermaid diagrams, and enabling agent handoff. Performs eviden…",
      "price": {
        "observed": false,
        "billing": "not_found",
        "lowest_monthly_usd": null,
        "monthly_usd": null,
        "headline": "No public price found",
        "summary": "No public pricing was observed in the supplied homepage content."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    },
    {
      "agent_id": "zentis_code_modernization",
      "name": "Zentis Code Modernization",
      "url": "https://zentis.ai/code-modernization",
      "short_summary": "Agentic AI platform that automates legacy code modernization for enterprises. Scans codebases, identifies modernization opportunities, generates updated code,…",
      "price": {
        "observed": false,
        "billing": "not_found",
        "lowest_monthly_usd": null,
        "monthly_usd": null,
        "headline": "No public price found",
        "summary": "No public price found on the vendor site."
      },
      "evidence_quality": "unclear",
      "upvotes": 0
    }
  ],
  "platforms_also_here": [],
  "page_url": "https://agentery.com/market/legacy-code-modernization",
  "summary": {
    "niche": "legacy-code-modernization",
    "sector": "developer-tools-infra",
    "pricing_by_provider_type": {
      "headline": "No published benchmark for legacy-code-modernization yet — too few comparable priced providers.",
      "benchmarks": [],
      "warnings": [
        "No priced providers meet the benchmark bar for this scope."
      ],
      "full_pricing_via": {
        "tool": "price_benchmark",
        "arguments": {
          "niche": "legacy-code-modernization"
        },
        "note": "add provider_type + buyer_tier for a specific cohort"
      }
    },
    "page_url": "https://agentery.com/market/legacy-code-modernization",
    "counts": {
      "listings_with_price_capture": 8,
      "listings_with_observed_public_price": 1,
      "providers_with_numeric_monthly_price_latest_scan": null,
      "like_for_like_comparable_pairs": null
    },
    "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": "single_observation",
    "pricing_by_tier": null,
    "single_observations": [
      {
        "tier": "individual",
        "unit": "per_seat",
        "provider": "nanoapi",
        "monthly_usd": 33.06
      },
      {
        "tier": "team_sme",
        "unit": "per_seat",
        "provider": "nanoapi",
        "monthly_usd": 55.86
      }
    ],
    "pricing_coverage": {
      "listings_with_price_capture": 8,
      "listings_with_observed_public_price": 1,
      "normalized_observations": 2,
      "comparable_providers": 1,
      "strict_cohorts": 0,
      "exclusion_reasons": {
        "ambiguous_cadence": 1
      }
    },
    "pricing_note": "Only ONE provider in this market publishes a comparable price — returned as a single observation, NOT a benchmark, median or fair price. See adjacent_pricing or confirm the market to widen the sample.",
    "pricing_excluded_observations": {
      "ambiguous_cadence": 1
    },
    "billing_mix": {
      "freemium": 1
    },
    "free_tier_share": 1,
    "top_providers": [
      {
        "agent_id": "zsh52013148087_metabase_mcp",
        "name": "Metabase Analytics Integration Server",
        "price": {
          "observed": false,
          "billing": "not_found",
          "lowest_monthly_usd": null,
          "monthly_usd": null,
          "headline": "No public price found",
          "summary": "No public pricing is shown for this Metabase analytics integration server."
        },
        "observed": false
      },
      {
        "agent_id": "codedebrief",
        "name": "Codedebrief",
        "price": {
          "observed": false,
          "billing": "not_found",
          "lowest_monthly_usd": null,
          "monthly_usd": null,
          "headline": "No public price found",
          "summary": "No public price found on the vendor site."
        },
        "observed": false
      },
      {
        "agent_id": "codelogic",
        "name": "Codelogic",
        "price": {
          "observed": false,
          "billing": "failed_to_load",
          "lowest_monthly_usd": null,
          "monthly_usd": null,
          "headline": "No public price found",
          "summary": "No public price found on the vendor site."
        },
        "observed": false
      },
      {
        "agent_id": "legacy_modernization_agents",
        "name": "Legacy Modernization Agents",
        "price": {
          "observed": false,
          "billing": "not_found",
          "lowest_monthly_usd": null,
          "monthly_usd": null,
          "headline": "No public price found",
          "summary": "No public SaaS pricing plans are shown for this GitHub repository."
        },
        "observed": false
      },
      {
        "agent_id": "nanoapi",
        "name": "Nanoapi",
        "price": {
          "commercial": {
            "currency": "EUR",
            "notes": [
              "prices in EUR as published; USD figures are conversions at 2026-10-14"
            ],
            "lines": [
              {
                "name": "Open Source",
                "price": "Freeforever",
                "kind": "unknown"
              },
              {
                "name": "Developer",
                "price": "€29per seat / month",
                "kind": "unknown"
              },
              {
                "name": "Business",
                "price": "€49per seat / month",
                "kind": "unknown"
              },
              {
                "name": "Enterprise",
                "price": "Custom",
                "kind": "custom"
              }
            ]
          },
          "observed": true,
          "billing": "freemium",
          "lowest_monthly_usd": null,
          "monthly_usd": null,
          "headline": "Contact sales (no public price)",
          "summary": "Contact sales (no public price). NanoAPI offers a free open-source plan, €29-per-seat monthly Developer and €49-per-seat monthly Business plans, plus custom Enterprise pricing."
        },
        "observed": true
      }
    ],
    "suggested_next_calls": [
      {
        "tool": "price_benchmark",
        "arguments": {
          "niche": "legacy-code-modernization"
        },
        "purpose": "full observed price distribution + per-tier medians for this niche"
      },
      {
        "tool": "niche_report",
        "arguments": {
          "niche": "legacy-code-modernization",
          "response_mode": "full"
        },
        "purpose": "the complete report incl. index series and tier decomposition"
      },
      {
        "tool": "suggest_alternatives",
        "arguments": {
          "agent_id": "zsh52013148087_metabase_mcp"
        },
        "purpose": "comparable (optionally cheaper) providers to a named agent"
      },
      {
        "tool": "get_agent_profile",
        "arguments": {
          "agent_id": "zsh52013148087_metabase_mcp"
        },
        "purpose": "full profile, integrations and pricing for one provider"
      }
    ]
  }
}
Full market

1 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.