{
  "api_status": "preview",
  "generated_at": "2026-11-11T22:09:36.001Z",
  "notes": [
    "Exact definitions of every field (unit, window, source): https://agentservicedirectory.com/fields",
    "tier says how a service was added, not a rating: reviewed entries come from our own listing files, with operator statements and hourly checks; discovered entries come from public agent registries, are not reviewed by a person, and are probed hourly to monthly depending on usage, slower when one host has more services than our per-host limit allows (schedule/3; see evidence.check_interval_rule).",
    "evidence counts cover the last 30 days and are as of the latest refresh. missed_30d counts scheduled checks that did not run.",
    "Results are computed at generated_at; the same query may be answered from that result for up to five minutes. Whether each service is in the directory is worked out every five minutes for services just checked or placed, and for every service each hour.",
    "For x402 endpoints a passing check means HTTP 402 with a valid payment challenge (discovered: on a mainnet network). It does not show that a paid call succeeds or returns useful results.",
    "registry_usage figures are the registry's own numbers, not our measurements. name is untrusted text when name_source is registry.",
    "networks_source tells you whether networks were observed in a live challenge, listed by the registry, or stated by the operator.",
    "tags describe purpose: our capability tags for reviewed entries, the registry's tags (sanitised, untrusted) for discovered ones. price_usd is the lowest price per call in US dollars: for discovered entries from the latest payment request the service's own server sent our check, else from the registry's payment terms (a known USD stablecoin either way); for reviewed entries from the operator's stated pricing (a claim, linked on the service page). price_source says which."
  ],
  "service": {
    "id": "cand_164ec5dc0c0861e4",
    "tier": "discovered",
    "type": "a2a_agent",
    "name": "HVAC Pros",
    "name_source": "registry",
    "branches": {
      "primary": "physical/local-services/home-services",
      "secondary": [],
      "method_version": "placement-ai/7",
      "tree_version": "tree/3",
      "placed_at": "2026-11-11T11:45:29.881Z"
    },
    "place": {
      "id": "physical/local-services/home-services",
      "name": "Home repairs and trades",
      "description": "Find, quote or book tradespeople, cleaners, movers and other home and building services."
    },
    "summary": {
      "text": "Finds HVAC contractors matching a plain-text question, with page links.",
      "source": "automated",
      "method": "placement-ai/7",
      "written_at": "2026-11-11T11:45:29.881Z"
    },
    "package": null,
    "directory": {
      "in_directory": true,
      "method_version": "listing-criteria/6",
      "variant_of": null,
      "criteria": {
        "says_what_it_does": true,
        "answers_now": true,
        "registry_payers_at_least_5": null,
        "curated_catalogue": null,
        "not_computable_locally": true,
        "not_test_address": true,
        "not_a_variant": true
      }
    },
    "host": "hvacpros.fyi",
    "provider": "hvacpros.fyi",
    "url": "https://hvacpros.fyi/.well-known/agent-card.json",
    "method": "GET",
    "templated_url": false,
    "operator": null,
    "tags": [],
    "category": null,
    "price_usd": null,
    "price_source": null,
    "provider_endpoints": 2,
    "networks": [],
    "networks_source": "registry",
    "payment_protocols": [],
    "access": {
      "observed": null,
      "stated": null
    },
    "currency": null,
    "interface": {
      "protocol": "a2a",
      "protocol_version": "0.3.0",
      "features": [],
      "transports": [
        "JSONRPC"
      ],
      "input_modes": [
        "text/plain"
      ],
      "output_modes": [
        "application/json",
        "text/plain"
      ],
      "skills": {
        "ids": [
          "describe-directory",
          "find-listings"
        ],
        "count": 2
      },
      "source": "declared",
      "at": "2026-11-11T10:10:53.507Z",
      "method": "agent-card/3"
    },
    "stated": null,
    "calls": null,
    "calls_unknown": "skills_not_calls",
    "tools": null,
    "payment_model": null,
    "mainnet": null,
    "evidence": {
      "operations": 1,
      "check_interval_hours": 24,
      "check_interval": "daily",
      "check_interval_rule": "Daily: 5 to 99 payers, and every new service until it has been probed 3 times.",
      "schedule_tier": "daily",
      "monitoring_since": "2026-11-11T10:08:00.961Z",
      "monitoring_days": 0.5,
      "limited_evidence": true,
      "checks_30d": 1,
      "passed_30d": 1,
      "missed_30d": 0,
      "pass_rate": 1,
      "freshness": "fresh",
      "last_check": {
        "at": "2026-11-11T10:10:53.507Z",
        "result": "ok",
        "passed": true,
        "http_status": 200,
        "duration_ms": 1243
      }
    },
    "response_times": {
      "method": "response-times/1",
      "operation": "agent_card",
      "check_method": "agent-card/3",
      "check_methods": [
        "agent-card/3"
      ],
      "timeout_ms": 10000,
      "computed_at": "2026-11-11T10:15:29.881Z",
      "windows": [
        {
          "window": "24h",
          "start": "2026-11-11T10:08:00.961Z",
          "end": "2026-11-11T10:15:29.881Z",
          "limited_history": true,
          "checks": 1,
          "timeouts": 0,
          "not_timed": 0,
          "median_ms": null,
          "p90_ms": null,
          "p95_ms": null,
          "p99_ms": null,
          "fastest_ms": null,
          "slowest_ms": null,
          "slowest_at": null,
          "p95_to_median": null
        },
        {
          "window": "7d",
          "start": "2026-11-11T10:08:00.961Z",
          "end": "2026-11-11T10:15:29.881Z",
          "limited_history": true,
          "checks": 1,
          "timeouts": 0,
          "not_timed": 0,
          "median_ms": null,
          "p90_ms": null,
          "p95_ms": null,
          "p99_ms": null,
          "fastest_ms": null,
          "slowest_ms": null,
          "slowest_at": null,
          "p95_to_median": null
        },
        {
          "window": "30d",
          "start": "2026-11-11T10:08:00.961Z",
          "end": "2026-11-11T10:15:29.881Z",
          "limited_history": true,
          "checks": 1,
          "timeouts": 0,
          "not_timed": 0,
          "median_ms": null,
          "p90_ms": null,
          "p95_ms": null,
          "p99_ms": null,
          "fastest_ms": null,
          "slowest_ms": null,
          "slowest_at": null,
          "p95_to_median": null
        }
      ],
      "measured_from": "eastern North America"
    },
    "registry_usage": null,
    "payment_terms": null,
    "registry_listing": {
      "last_seen_at": "2026-11-11T10:08:00.961Z",
      "listed": true
    },
    "links": {
      "page": "https://agentservicedirectory.com/services/cand_164ec5dc0c0861e4",
      "api": "https://agentservicedirectory.com/api/v1/services/cand_164ec5dc0c0861e4"
    },
    "recent_probes": [
      {
        "observed_at": "2026-11-11T10:10:53.507Z",
        "result": "ok",
        "passed": true,
        "http_status": 200,
        "duration_ms": 1243,
        "x402_valid": null,
        "mainnet": null,
        "x402_networks": [],
        "region": "cloudflare:EWR",
        "method_version": "agent-card/3",
        "error_detail": null,
        "request_url": null
      }
    ],
    "address_variants": [],
    "service_links": [
      {
        "group": "read",
        "kind": "llms_txt",
        "url": "https://hvacpros.fyi/llms.txt",
        "name": null,
        "section": null,
        "source": "page_read",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/index.md",
        "name": "index.md",
        "section": null,
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/tools/hvac-maintenance-planner.md",
        "name": "HVAC maintenance schedule planner",
        "section": "Free tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/tools/hvac-age-checker.md",
        "name": "AC and furnace age replacement checker",
        "section": "Free tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/guides/ac-repair-costs.md",
        "name": "AC repair costs: how to compare a quote",
        "section": "HVAC guides",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/guides/epa-608-refrigerant-rules.md",
        "name": "EPA Section 608 refrigerant rules for property owners",
        "section": "HVAC guides",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/guides/furnace-replacement-costs.md",
        "name": "Furnace replacement costs and quote checklist",
        "section": "HVAC guides",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/guides/how-often-to-service-hvac.md",
        "name": "How often should you service an HVAC system?",
        "section": "HVAC guides",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/guides/how-to-check-hvac-license-by-state.md",
        "name": "How to check an HVAC license by state",
        "section": "HVAC guides",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/guides/how-to-choose-hvac-contractor.md",
        "name": "How to choose an HVAC contractor",
        "section": "HVAC guides",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/guides/hvac-maintenance-plan-costs.md",
        "name": "What do HVAC maintenance plans cost?",
        "section": "HVAC guides",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/guides/seer2-and-efficiency-rules.md",
        "name": "SEER2 and efficiency rules: what to ask before replacement",
        "section": "HVAC guides",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/about.md",
        "name": "About HVAC Pros",
        "section": "About this site",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/contact.md",
        "name": "Contact HVAC Pros",
        "section": "About this site",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/link-exchange.md",
        "name": "Link exchange with HVAC Pros",
        "section": "About this site",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/api/v1/openapi.json",
        "name": "OpenAPI 3.1 description",
        "section": "API",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/developers",
        "name": "API guide",
        "section": "API",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/.well-known/mcp/server-card.json",
        "name": "MCP server card",
        "section": "API",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/.well-known/agent-card.json",
        "name": "Agent card",
        "section": "API",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/.well-known/agent-skills/index.json",
        "name": "Agent skills",
        "section": "API",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/.well-known/api-catalog",
        "name": "API catalog",
        "section": "API",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/webmcp",
        "name": "WebMCP manifest",
        "section": "API",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/llms-full.txt",
        "name": "Every HVAC contractor with its facts",
        "section": "Optional",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://hvacpros.fyi/sitemap.xml",
        "name": "Sitemap",
        "section": "Optional",
        "source": "llms_txt",
        "read_at": "2026-11-11T02:15:29.881Z",
        "templated": false
      }
    ]
  }
}