{
  "api_status": "preview",
  "generated_at": "2026-10-17T07:51:45.810Z",
  "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 (schedule/1; see evidence.schedule_tier).",
    "evidence counts cover the last 30 days and are as of the latest refresh. missed_30d counts scheduled checks that did not run.",
    "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 registry's payment terms (a known USD stablecoin), for reviewed entries from the operator's stated pricing (a claim, linked on the service page). price_source says which."
  ],
  "query": {
    "host": "data.intel.rallylive.ca",
    "sort": "evidence",
    "limit": 50,
    "offset": 0
  },
  "total": 32,
  "items": [
    {
      "id": "cand_d64f5327e637f6ad",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "air-quality-chicago",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/air-quality/chicago",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "air-quality",
        "aqi",
        "pm2-5",
        "pollution",
        "chicago"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:30:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:20:48.940Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 10
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:20:48.940Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:30:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_d64f5327e637f6ad",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_d64f5327e637f6ad"
      }
    },
    {
      "id": "cand_385c1c26e0e1da5c",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "air-quality-havana",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/air-quality/havana",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "air-quality",
        "aqi",
        "pm2-5",
        "pollution",
        "havana"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:05:59.487Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 31
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:05:59.487Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_385c1c26e0e1da5c",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_385c1c26e0e1da5c"
      }
    },
    {
      "id": "cand_ed3e94a62158af02",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "air-quality-milan",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/air-quality/milan",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "air-quality",
        "aqi",
        "pm2-5",
        "pollution",
        "milan"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:20:47.148Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 16
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:20:47.148Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_ed3e94a62158af02",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_ed3e94a62158af02"
      }
    },
    {
      "id": "cand_5a71c61f9cafbecf",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "air-quality-st-louis",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/air-quality/st-louis",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "air-quality",
        "aqi",
        "pm2-5",
        "pollution",
        "st-louis"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:15:54.615Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 13
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:15:54.615Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_5a71c61f9cafbecf",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_5a71c61f9cafbecf"
      }
    },
    {
      "id": "cand_065617ac49dc1f7c",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "air-quality-vancouver",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/air-quality/vancouver",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "air-quality",
        "aqi",
        "pm2-5",
        "pollution",
        "vancouver"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:01:15.025Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 458
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:01:15.025Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_065617ac49dc1f7c",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_065617ac49dc1f7c"
      }
    },
    {
      "id": "cand_4e8376645cf79984",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "air-quality-victoria",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/air-quality/victoria",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "air-quality",
        "aqi",
        "pm2-5",
        "pollution",
        "victoria"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:15:54.603Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 16
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:15:54.603Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_4e8376645cf79984",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_4e8376645cf79984"
      }
    },
    {
      "id": "cand_4c7740e9f479165f",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "air-quality-windsor",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/air-quality/windsor",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "air-quality",
        "aqi",
        "pm2-5",
        "pollution",
        "windsor"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:11:03.041Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 17
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:11:03.041Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_4c7740e9f479165f",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_4c7740e9f479165f"
      }
    },
    {
      "id": "cand_684b4ff0d9d4d670",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "sunrise-sunset-baltimore",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/sun/baltimore",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "sunrise",
        "sunset",
        "daylight",
        "golden-hour",
        "baltimore"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:15:58.441Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 19
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:15:58.441Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_684b4ff0d9d4d670",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_684b4ff0d9d4d670"
      }
    },
    {
      "id": "cand_e3624efd0341e415",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "sunrise-sunset-belgrade",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/sun/belgrade",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "sunrise",
        "sunset",
        "daylight",
        "golden-hour",
        "belgrade"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:05:46.710Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 16
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:05:46.710Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:20:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_e3624efd0341e415",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_e3624efd0341e415"
      }
    },
    {
      "id": "cand_66285a540702d182",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "sunrise-sunset-bratislava",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/sun/bratislava",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "sunrise",
        "sunset",
        "daylight",
        "golden-hour",
        "bratislava"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:30:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:40:57.760Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 10
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:40:57.760Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:30:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:40:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_66285a540702d182",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_66285a540702d182"
      }
    },
    {
      "id": "cand_feb3b2d1155eee8d",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "sunrise-sunset-cairo",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/sun/cairo",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "sunrise",
        "sunset",
        "daylight",
        "golden-hour",
        "cairo"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:40:57.726Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 11
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:40:57.726Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_feb3b2d1155eee8d",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_feb3b2d1155eee8d"
      }
    },
    {
      "id": "cand_f479f93a92d95f28",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "sunrise-sunset-halifax",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/sun/halifax",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "sunrise",
        "sunset",
        "daylight",
        "golden-hour",
        "halifax"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:05:46.601Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 14
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:05:46.601Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_f479f93a92d95f28",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_f479f93a92d95f28"
      }
    },
    {
      "id": "cand_fbab14ca7c23fee4",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "sunrise-sunset-oshawa",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/sun/oshawa",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "sunrise",
        "sunset",
        "daylight",
        "golden-hour",
        "oshawa"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:35:59.411Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 11
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:35:59.411Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_fbab14ca7c23fee4",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_fbab14ca7c23fee4"
      }
    },
    {
      "id": "cand_4709472984215921",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "sunrise-sunset-stuttgart",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/sun/stuttgart",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "sunrise",
        "sunset",
        "daylight",
        "golden-hour",
        "stuttgart"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:11:02.425Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 497
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:11:02.425Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_4709472984215921",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_4709472984215921"
      }
    },
    {
      "id": "cand_6afc39ebeb557465",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "timezone-info-kitchener",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/timezone/kitchener",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "timezone",
        "local-time",
        "utc-offset",
        "dst",
        "kitchener"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:21:04.092Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 19
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:21:04.092Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_6afc39ebeb557465",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_6afc39ebeb557465"
      }
    },
    {
      "id": "cand_68ad8857eab1fd61",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "timezone-info-london-ontario",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/timezone/london-ontario",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "timezone",
        "local-time",
        "utc-offset",
        "dst",
        "london-ontario"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:01:03.269Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 13
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:01:03.269Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_68ad8857eab1fd61",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_68ad8857eab1fd61"
      }
    },
    {
      "id": "cand_2b5bb01e6558597a",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "timezone-info-new-york",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/timezone/new-york",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "timezone",
        "local-time",
        "utc-offset",
        "dst",
        "new-york"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:05:59.789Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 12
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:05:59.789Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_2b5bb01e6558597a",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_2b5bb01e6558597a"
      }
    },
    {
      "id": "cand_4f607e97f8ef98f7",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "timezone-info-quebec-city",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/timezone/quebec-city",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "timezone",
        "local-time",
        "utc-offset",
        "dst",
        "quebec-city"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:01:03.248Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 33
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:01:03.248Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_4f607e97f8ef98f7",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_4f607e97f8ef98f7"
      }
    },
    {
      "id": "cand_de73591bc2bbe3e5",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "timezone-info-rio-de-janeiro",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/timezone/rio-de-janeiro",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "timezone",
        "local-time",
        "utc-offset",
        "dst",
        "rio-de-janeiro"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:30:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:46:03.322Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 17
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:46:03.322Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:30:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:55:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_de73591bc2bbe3e5",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_de73591bc2bbe3e5"
      }
    },
    {
      "id": "cand_cf8cb6c8191dcb74",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "timezone-info-tel-aviv",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/timezone/tel-aviv",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "timezone",
        "local-time",
        "utc-offset",
        "dst",
        "tel-aviv"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:35:59.342Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 42
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:35:59.342Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_cf8cb6c8191dcb74",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_cf8cb6c8191dcb74"
      }
    },
    {
      "id": "cand_1fe92d60a1cd1e9e",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "timezone-info-toulouse",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/timezone/toulouse",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "timezone",
        "local-time",
        "utc-offset",
        "dst",
        "toulouse"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T02:55:55.850Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 354
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T02:55:55.850Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:20:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_1fe92d60a1cd1e9e",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_1fe92d60a1cd1e9e"
      }
    },
    {
      "id": "cand_e2c400f214615ecc",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-forecast-hamilton",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/forecast/hamilton",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "forecast",
        "weather",
        "7-day",
        "planning",
        "hamilton"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:10:53.919Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 446
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:10:53.919Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_e2c400f214615ecc",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_e2c400f214615ecc"
      }
    },
    {
      "id": "cand_98e00cf57c624159",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-forecast-monterrey",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/forecast/monterrey",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "forecast",
        "weather",
        "7-day",
        "planning",
        "monterrey"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T03:10:53.487Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 34
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T03:10:53.487Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_98e00cf57c624159",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_98e00cf57c624159"
      }
    },
    {
      "id": "cand_7a51fa7c7297829a",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-forecast-montreal",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/forecast/montreal",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "forecast",
        "weather",
        "7-day",
        "planning",
        "montreal"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:25:59.854Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 22
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:25:59.854Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_7a51fa7c7297829a",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_7a51fa7c7297829a"
      }
    },
    {
      "id": "cand_2ad4041664b3998e",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-forecast-sudbury",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/forecast/sudbury",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "forecast",
        "weather",
        "7-day",
        "planning",
        "sudbury"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:01:15.722Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 16
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:01:15.722Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:55:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_2ad4041664b3998e",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_2ad4041664b3998e"
      }
    },
    {
      "id": "cand_ea01a7cc65be7d3e",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-now-bristol",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/weather/bristol",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "weather",
        "current",
        "temperature",
        "conditions",
        "bristol"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T02:20:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T02:55:55.849Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 359
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T02:55:55.849Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T02:20:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T03:25:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_ea01a7cc65be7d3e",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_ea01a7cc65be7d3e"
      }
    },
    {
      "id": "cand_b18428982c902f2a",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-now-indianapolis",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/weather/indianapolis",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "weather",
        "current",
        "temperature",
        "conditions",
        "indianapolis"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:25:59.883Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 14
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:25:59.883Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:40:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_b18428982c902f2a",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_b18428982c902f2a"
      }
    },
    {
      "id": "cand_6180f9ebae7329c1",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-now-new-york",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/weather/new-york",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "weather",
        "current",
        "temperature",
        "conditions",
        "new-york"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:15:59.239Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 15
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:15:59.239Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_6180f9ebae7329c1",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_6180f9ebae7329c1"
      }
    },
    {
      "id": "cand_79d45b40bfe89268",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-now-quebec-city",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/weather/quebec-city",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "weather",
        "current",
        "temperature",
        "conditions",
        "quebec-city"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T03:25:25.000Z",
        "monitoring_days": 0.2,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:21:04.180Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 12
        }
      },
      "registry_usage": {
        "calls_30d": 1,
        "unique_payers_30d": 1,
        "note": "Reported by the registry; not our measurement."
      },
      "payment_terms": {
        "current_since": "2026-10-17T04:21:04.180Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T03:25:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:45:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_79d45b40bfe89268",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_79d45b40bfe89268"
      }
    },
    {
      "id": "cand_7091aa17b3a3439f",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "air-quality-hong-kong",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/air-quality/hong-kong",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "air-quality",
        "aqi",
        "pm2-5",
        "pollution",
        "hong-kong"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T04:40:25.000Z",
        "monitoring_days": 0.1,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:51:10.685Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 228
        }
      },
      "registry_usage": null,
      "payment_terms": {
        "current_since": "2026-10-17T04:51:10.685Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T04:40:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:40:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_7091aa17b3a3439f",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_7091aa17b3a3439f"
      }
    },
    {
      "id": "cand_0355aab9e7d16b7d",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-forecast-london-ontario",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/forecast/london-ontario",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "forecast",
        "weather",
        "7-day",
        "planning",
        "london-ontario"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T04:40:25.000Z",
        "monitoring_days": 0.1,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:46:18.180Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 8
        }
      },
      "registry_usage": null,
      "payment_terms": {
        "current_since": "2026-10-17T04:46:18.180Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T04:40:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:40:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_0355aab9e7d16b7d",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_0355aab9e7d16b7d"
      }
    },
    {
      "id": "cand_decc7b7b6d9f907b",
      "tier": "discovered",
      "type": "api_endpoint",
      "name": "weather-now-pittsburgh",
      "name_source": "registry",
      "host": "data.intel.rallylive.ca",
      "url": "https://data.intel.rallylive.ca/data/weather/pittsburgh",
      "method": "GET",
      "templated_url": false,
      "operator": null,
      "tags": [
        "weather",
        "current",
        "temperature",
        "conditions",
        "pittsburgh"
      ],
      "category": null,
      "price_usd": 0.01,
      "price_source": "registry",
      "provider_endpoints": 32,
      "networks": [
        "eip155:8453",
        "eip155:84532"
      ],
      "networks_source": "observed",
      "payment_protocols": [
        "x402"
      ],
      "mainnet": true,
      "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-10-17T04:40:25.000Z",
        "monitoring_days": 0.1,
        "limited_evidence": true,
        "checks_30d": 1,
        "passed_30d": 1,
        "missed_30d": 0,
        "pass_rate": 1,
        "freshness": "fresh",
        "last_check": {
          "at": "2026-10-17T04:51:10.683Z",
          "result": "payment_required",
          "passed": true,
          "http_status": 402,
          "duration_ms": 370
        }
      },
      "registry_usage": null,
      "payment_terms": {
        "current_since": "2026-10-17T04:51:10.683Z",
        "changes_30d": 0,
        "changes_90d": 0,
        "pay_to_changes_90d": 0,
        "last_change_at": null,
        "last_change_kinds": [],
        "window_start": "2026-10-17T04:40:25.000Z",
        "limited": true
      },
      "registry_listing": {
        "last_seen_at": "2026-10-17T04:40:25.000Z",
        "listed": true
      },
      "links": {
        "page": "https://agentservicedirectory.com/services/cand_decc7b7b6d9f907b",
        "api": "https://agentservicedirectory.com/api/v1/services/cand_decc7b7b6d9f907b"
      }
    }
  ]
}