{
  "generated": "2026-10-28",
  "currency": "EUR",
  "fx": {
    "date": "2026-10-28",
    "usdPerEur": 1.1133,
    "source": "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"
  },
  "method": [
    "Prices are list prices in EUR per month, excluding VAT, without discounts, commitments or free tiers unless stated.",
    "A month is 730 hours, or the provider's monthly cap when it bills less (UpCloud 672 hours).",
    "USD prices are converted at the ECB reference rate of the date shown.",
    "Server baskets pick the cheapest x86 server with at least the stated vCPU and memory from general-purpose, compute- or memory-optimised ranges. Shared-core and burstable servers are excluded; vCPUs are compared one to one.",
    "Server lists come from each provider's price API. Other unit prices come from data/manual.json, each with the page it was taken from."
  ],
  "providers": [
    {
      "id": "aws",
      "name": "AWS",
      "euOwned": false,
      "region": "eu-central-1",
      "location": "Frankfurt",
      "sourceCurrency": "USD",
      "serverSource": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/eu-central-1/index.json",
      "serversFetched": "2026-10-28"
    },
    {
      "id": "azure",
      "name": "Azure",
      "euOwned": false,
      "region": "germanywestcentral",
      "location": "Frankfurt (Germany West Central)",
      "sourceCurrency": "EUR",
      "serverSource": "https://prices.azure.com/api/retail/prices",
      "serversFetched": "2026-10-28",
      "note": "Memory is derived from the VM size name and Azure's published ratio per series; check sizes marked estimated."
    },
    {
      "id": "gcp",
      "name": "Google Cloud",
      "euOwned": false,
      "region": "europe-west3",
      "location": "Frankfurt",
      "sourceCurrency": "USD",
      "serverSource": "https://raw.githubusercontent.com/Cyclenerd/google-cloud-pricing-cost-calculator/master/pricing.yml",
      "serversFetched": "2026-10-28",
      "note": "Generated from the Google Cloud Billing Catalog API by github.com/Cyclenerd/google-cloud-pricing-cost-calculator on Thu Oct 22 08:56:36 2026."
    },
    {
      "id": "upcloud",
      "name": "UpCloud",
      "euOwned": true,
      "region": "de-fra1",
      "location": "Frankfurt",
      "sourceCurrency": "EUR",
      "serverSource": "https://api.upcloud.com/1.3/price",
      "serversFetched": "2026-10-28",
      "note": "Monthly price is 672 hours, UpCloud's monthly cap."
    },
    {
      "id": "hetzner",
      "name": "Hetzner",
      "euOwned": true,
      "region": "fsn1",
      "location": "Falkenstein",
      "sourceCurrency": "EUR",
      "serverSource": "https://www.hetzner.com/cloud/cost-optimized/",
      "serversFetched": "manual",
      "note": "Plan list checked by hand on the Hetzner website (no API token in this run). A primary IPv4 address is billed separately."
    },
    {
      "id": "scaleway",
      "name": "Scaleway",
      "euOwned": true,
      "region": "fr-par-1",
      "location": "Paris",
      "sourceCurrency": "EUR",
      "serverSource": "https://api.scaleway.com/instance/v1/zones/fr-par-1/products/servers",
      "serversFetched": "2026-10-28"
    },
    {
      "id": "ovhcloud",
      "name": "OVHcloud",
      "euOwned": true,
      "region": "DE",
      "location": "Europe",
      "sourceCurrency": "EUR",
      "serverSource": "https://eu.api.ovh.com/v1/order/catalog/public/cloud?ovhSubsidiary=DE",
      "serversFetched": "2026-10-28",
      "note": "Hourly price x 730. OVHcloud also offers cheaper monthly billing for some ranges."
    }
  ],
  "baskets": [
    {
      "id": "server-2-8",
      "label": "Server, 2 vCPU, 8 GB",
      "prices": {
        "aws": {
          "monthly": 67.86,
          "detail": "m6a.large"
        },
        "azure": {
          "monthly": 66.8,
          "detail": "Standard_D2a_v4"
        },
        "gcp": {
          "monthly": 56.61,
          "detail": "e2-standard-2"
        },
        "hetzner": {
          "monthly": 42.99,
          "detail": "CCX13"
        },
        "ovhcloud": {
          "monthly": 37.38,
          "detail": "b3-8"
        },
        "scaleway": {
          "monthly": 40.95,
          "detail": "PRO2-XXS"
        },
        "upcloud": {
          "monthly": 38,
          "detail": "PREMIUM-2xCPU-8GB"
        }
      }
    },
    {
      "id": "server-4-16",
      "label": "Server, 4 vCPU, 16 GB",
      "prices": {
        "aws": {
          "monthly": 135.73,
          "detail": "m6a.xlarge"
        },
        "azure": {
          "monthly": 133.59,
          "detail": "Standard_D4a_v4"
        },
        "gcp": {
          "monthly": 113.22,
          "detail": "e2-standard-4"
        },
        "hetzner": {
          "monthly": 85.99,
          "detail": "CCX23"
        },
        "ovhcloud": {
          "monthly": 74.68,
          "detail": "b3-16"
        },
        "scaleway": {
          "monthly": 67.76,
          "detail": "GP1-XS"
        },
        "upcloud": {
          "monthly": 92,
          "detail": "PREMIUM-4xCPU-16GB"
        }
      }
    },
    {
      "id": "server-8-32",
      "label": "Server, 8 vCPU, 32 GB",
      "prices": {
        "aws": {
          "monthly": 271.46,
          "detail": "m6a.2xlarge"
        },
        "azure": {
          "monthly": 267.25,
          "detail": "Standard_D8a_v4"
        },
        "gcp": {
          "monthly": 226.44,
          "detail": "e2-standard-8"
        },
        "hetzner": {
          "monthly": 138.49,
          "detail": "CCX33"
        },
        "ovhcloud": {
          "monthly": 149.36,
          "detail": "b3-32"
        },
        "scaleway": {
          "monthly": 139.24,
          "detail": "GP1-S"
        },
        "upcloud": {
          "monthly": 192,
          "detail": "PREMIUM-8xCPU-32GB"
        }
      }
    },
    {
      "id": "server-16-64",
      "label": "Server, 16 vCPU, 64 GB",
      "prices": {
        "aws": {
          "monthly": 542.93,
          "detail": "m6a.4xlarge"
        },
        "azure": {
          "monthly": 534.43,
          "detail": "Standard_D16a_v4"
        },
        "gcp": {
          "monthly": 452.89,
          "detail": "e2-standard-16"
        },
        "hetzner": {
          "monthly": 275.99,
          "detail": "CCX43"
        },
        "ovhcloud": {
          "monthly": 298.72,
          "detail": "b3-64"
        },
        "scaleway": {
          "monthly": 279.97,
          "detail": "GP1-M"
        },
        "upcloud": {
          "monthly": 384,
          "detail": "PREMIUM-16xCPU-64GB"
        }
      }
    },
    {
      "id": "block-1tb",
      "label": "Block storage, 1 TB SSD",
      "prices": {
        "aws": {
          "monthly": 85.5,
          "detail": "EBS gp3"
        },
        "azure": {
          "monthly": 85.2,
          "detail": "Premium SSD v2 (Premium LRS provisioned capacity)"
        },
        "gcp": {
          "monthly": 107.8,
          "detail": "Persistent Disk Balanced (pd-balanced), zonal"
        },
        "hetzner": {
          "monthly": 44,
          "detail": "Volumes"
        },
        "ovhcloud": {
          "monthly": 86,
          "detail": "Block Storage high-speed"
        },
        "scaleway": {
          "monthly": 94.9,
          "detail": "Block Storage 5K"
        },
        "upcloud": {
          "monthly": 220,
          "detail": "MaxIOPS"
        }
      }
    },
    {
      "id": "object-1tb",
      "label": "Object storage, 1 TB",
      "prices": {
        "aws": {
          "monthly": 22,
          "detail": "S3 Standard"
        },
        "azure": {
          "monthly": 17.6,
          "detail": "Blob Storage, General Block Blob v2, Hot LRS"
        },
        "gcp": {
          "monthly": 20.7,
          "detail": "Cloud Storage Standard, regional europe-west3"
        },
        "hetzner": {
          "monthly": 6.4,
          "detail": "Object Storage"
        },
        "ovhcloud": {
          "monthly": 14,
          "detail": "Object Storage Standard (S3 API), 3-AZ"
        },
        "scaleway": {
          "monthly": 16.1,
          "detail": "Object Storage Standard Multi-AZ"
        },
        "upcloud": {
          "monthly": 20,
          "detail": "Managed Object Storage"
        }
      }
    },
    {
      "id": "egress-1tb",
      "label": "Internet egress, 1 TB from one server",
      "prices": {
        "aws": {
          "monthly": 72.72,
          "detail": "Tiers from AWS price list API (EU (Frankfurt) -> External, usagetype EUC1-DataTransfer-Out-Bytes); first tier described as 'beyond the global free tier'. 100 GB free tier quoted on https://aws.amazon.com/ec2/pricing/on-demand/. Excl. tax."
        },
        "azure": {
          "monthly": 70.29,
          "detail": "Tiers apply above the 100 GB free allowance (API tier boundaries minus 100 GB). Default routing via Microsoft Premium Global Network ('Rtn Preference: MGN', 'Standard Data Transfer Out'). Tier boundaries are the API's tierMinimumUnits; the pricing page states First 100 GB / Next 10 TB / Next 40 TB / Next 100 TB / Next 350 TB (1 TB = 1,000 GB), contact sales over 500 TB. Routing preference 'Internet' is cheaper: 0.08/0.065/0.06/0.04. Pricing page: https://azure.microsoft.com/en-us/pricing/details/bandwidth/"
        },
        "gcp": {
          "monthly": 107.8,
          "detail": "Premium Tier (default), destination Europe. Destination North America/Asia: 0.12/0.11/0.085; Australia, Indonesia, Korea, South America, Saudi Arabia: 0.19/0.18/0.15; Middle East/Africa: 0.15/0.13/0.11; China: 0.23/0.22/0.20. Read from the Frankfurt table embedded in the page."
        },
        "hetzner": {
          "monthly": 0,
          "detail": "Page: 'For each additional TB at EU-Central locations we charge € 1.00' (the page labels it 'per hour', an apparent template glitch; price API item CLOUD_66 = €1.00). TB->GB conversion assumes 1 TB = 1,000 GB. Tiers apply to traffic above the included 20 TB."
        },
        "ovhcloud": {
          "monthly": 0,
          "detail": "Catalog for subsidiary DE (taxRate 19, prices excl. VAT). Bandwidth caps per instance not captured."
        },
        "scaleway": {
          "monthly": 0,
          "detail": "Public IPv4 and storage are extra. Per-instance bandwidth limits not captured."
        },
        "upcloud": {
          "monthly": 0,
          "detail": "No excess fees by default: above the share UpCloud may limit bandwidth to 100 Mbps for the rest of the month, or you can opt into a paid transfer model at €0.01/GB for the excess."
        }
      }
    },
    {
      "id": "egress-10tb",
      "label": "Internet egress, 10 TB from one server",
      "prices": {
        "aws": {
          "monthly": 799.92,
          "detail": "Tiers from AWS price list API (EU (Frankfurt) -> External, usagetype EUC1-DataTransfer-Out-Bytes); first tier described as 'beyond the global free tier'. 100 GB free tier quoted on https://aws.amazon.com/ec2/pricing/on-demand/. Excl. tax."
        },
        "azure": {
          "monthly": 773.19,
          "detail": "Tiers apply above the 100 GB free allowance (API tier boundaries minus 100 GB). Default routing via Microsoft Premium Global Network ('Rtn Preference: MGN', 'Standard Data Transfer Out'). Tier boundaries are the API's tierMinimumUnits; the pricing page states First 100 GB / Next 10 TB / Next 40 TB / Next 100 TB / Next 350 TB (1 TB = 1,000 GB), contact sales over 500 TB. Routing preference 'Internet' is cheaper: 0.08/0.065/0.06/0.04. Pricing page: https://azure.microsoft.com/en-us/pricing/details/bandwidth/"
        },
        "gcp": {
          "monthly": 997.22,
          "detail": "Premium Tier (default), destination Europe. Destination North America/Asia: 0.12/0.11/0.085; Australia, Indonesia, Korea, South America, Saudi Arabia: 0.19/0.18/0.15; Middle East/Africa: 0.15/0.13/0.11; China: 0.23/0.22/0.20. Read from the Frankfurt table embedded in the page."
        },
        "hetzner": {
          "monthly": 0,
          "detail": "Page: 'For each additional TB at EU-Central locations we charge € 1.00' (the page labels it 'per hour', an apparent template glitch; price API item CLOUD_66 = €1.00). TB->GB conversion assumes 1 TB = 1,000 GB. Tiers apply to traffic above the included 20 TB."
        },
        "ovhcloud": {
          "monthly": 0,
          "detail": "Catalog for subsidiary DE (taxRate 19, prices excl. VAT). Bandwidth caps per instance not captured."
        },
        "scaleway": {
          "monthly": 0,
          "detail": "Public IPv4 and storage are extra. Per-instance bandwidth limits not captured."
        },
        "upcloud": {
          "monthly": 0,
          "detail": "No excess fees by default: above the share UpCloud may limit bandwidth to 100 Mbps for the rest of the month, or you can opt into a paid transfer model at €0.01/GB for the excess."
        }
      }
    },
    {
      "id": "load-balancer",
      "label": "Managed load balancer",
      "prices": {
        "aws": {
          "monthly": 17.7,
          "detail": "Application Load Balancer"
        },
        "azure": {
          "monthly": 16.39,
          "detail": "Standard Load Balancer"
        },
        "gcp": {
          "monthly": 16.39,
          "detail": "Cloud Load Balancing forwarding rule (first 5 rules)"
        },
        "hetzner": {
          "monthly": 7.49,
          "detail": "LB11"
        },
        "ovhcloud": {
          "monthly": 6,
          "detail": "Octavia Load Balancer Small"
        },
        "scaleway": {
          "monthly": 16.79,
          "detail": "LB-S"
        },
        "upcloud": {
          "monthly": 30,
          "detail": "Managed Load Balancer Production S (2 nodes, 50,000 sessions/node)"
        }
      }
    },
    {
      "id": "kubernetes",
      "label": "Managed Kubernetes control plane",
      "prices": {
        "aws": {
          "monthly": 65.57,
          "detail": "Amazon EKS cluster (standard support)"
        },
        "azure": {
          "monthly": 65.57,
          "detail": "AKS Standard tier (Uptime SLA)"
        },
        "gcp": {
          "monthly": 65.57,
          "detail": "GKE cluster management fee"
        },
        "hetzner": null,
        "ovhcloud": {
          "monthly": 65.7,
          "detail": "Managed Kubernetes Service Standard"
        },
        "scaleway": {
          "monthly": 80.3,
          "detail": "Kapsule Dedicated-4"
        },
        "upcloud": {
          "monthly": 60,
          "detail": "Managed Kubernetes Production control plane (up to 120 nodes)"
        }
      }
    },
    {
      "id": "postgres-2-8",
      "label": "Managed PostgreSQL, 2 vCPU, 8 GB",
      "prices": {
        "aws": {
          "monthly": 131.14,
          "detail": "db.m7g.large"
        },
        "azure": {
          "monthly": 139.01,
          "detail": "D2ds_v5 (General Purpose)"
        },
        "gcp": {
          "monthly": 109.11,
          "detail": "db-custom-2-8192 (Cloud SQL Enterprise edition, General Purpose)"
        },
        "hetzner": null,
        "ovhcloud": {
          "monthly": 143.15,
          "detail": "Essential B3-8"
        },
        "scaleway": {
          "monthly": 80.3,
          "detail": "DB-PRO2-XXS"
        },
        "upcloud": {
          "monthly": 60,
          "detail": "rdb.standard.2CPU-8GB (Standard, 1 node)"
        }
      }
    },
    {
      "id": "stack",
      "label": "Example stack",
      "prices": {
        "aws": {
          "monthly": 774.3,
          "detail": "managed PostgreSQL"
        },
        "azure": {
          "monthly": 764.76,
          "detail": "managed PostgreSQL"
        },
        "gcp": {
          "monthly": 746.58,
          "detail": "managed PostgreSQL"
        },
        "hetzner": {
          "monthly": 336.85,
          "detail": "no managed PostgreSQL: self-run on a 2 vCPU 8 GB server"
        },
        "ovhcloud": {
          "monthly": 430.19,
          "detail": "managed PostgreSQL"
        },
        "scaleway": {
          "monthly": 363.92,
          "detail": "managed PostgreSQL"
        },
        "upcloud": {
          "monthly": 496,
          "detail": "managed PostgreSQL"
        }
      }
    }
  ],
  "services": {
    "aws": {
      "blockStorageGBMonth": {
        "price": 0.0855,
        "product": "EBS gp3",
        "source": "https://b0.p.awsstatic.com/pricing/2.0/meteredUnitMaps/ec2/USD/current/ebs.json"
      },
      "objectStorageGBMonth": {
        "price": 0.022,
        "product": "S3 Standard",
        "source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonS3/current/eu-central-1/index.json"
      },
      "loadBalancerMonthly": {
        "price": 17.7041,
        "product": "Application Load Balancer",
        "source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSELB/current/eu-central-1/index.json"
      },
      "kubernetesMonthly": {
        "price": 65.5708,
        "product": "Amazon EKS cluster (standard support)",
        "source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEKS/current/eu-central-1/index.json"
      },
      "postgres2vCPU8GBMonthly": {
        "price": 131.1417,
        "product": "db.m7g.large",
        "source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/eu-central-1/index.csv"
      }
    },
    "azure": {
      "blockStorageGBMonth": {
        "price": 0.0852,
        "product": "Premium SSD v2 (Premium LRS provisioned capacity)",
        "source": "https://prices.azure.com/api/retail/prices?$filter=armRegionName eq 'germanywestcentral' and contains(productName,'Premium SSD v2')"
      },
      "objectStorageGBMonth": {
        "price": 0.0176,
        "product": "Blob Storage, General Block Blob v2, Hot LRS",
        "source": "https://prices.azure.com/api/retail/prices?$filter=armRegionName eq 'germanywestcentral' and productName eq 'General Block Blob v2' and skuName eq 'Hot LRS'"
      },
      "loadBalancerMonthly": {
        "price": 16.3927,
        "product": "Standard Load Balancer",
        "source": "https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Load Balancer' and skuName eq 'Standard'"
      },
      "kubernetesMonthly": {
        "price": 65.5708,
        "product": "AKS Standard tier (Uptime SLA)",
        "source": "https://prices.azure.com/api/retail/prices?$filter=armRegionName eq 'germanywestcentral' and serviceName eq 'Azure Kubernetes Service'"
      },
      "postgres2vCPU8GBMonthly": {
        "price": 139.0102,
        "product": "D2ds_v5 (General Purpose)",
        "source": "https://prices.azure.com/api/retail/prices?$filter=armRegionName eq 'germanywestcentral' and serviceName eq 'Azure Database for PostgreSQL'"
      }
    },
    "gcp": {
      "blockStorageGBMonth": {
        "price": 0.1078,
        "product": "Persistent Disk Balanced (pd-balanced), zonal",
        "source": "https://cloud.google.com/compute/disks-image-pricing"
      },
      "objectStorageGBMonth": {
        "price": 0.0207,
        "product": "Cloud Storage Standard, regional europe-west3",
        "source": "https://cloud.google.com/storage/pricing"
      },
      "loadBalancerMonthly": {
        "price": 16.3927,
        "product": "Cloud Load Balancing forwarding rule (first 5 rules)",
        "source": "https://cloud.google.com/load-balancing/pricing"
      },
      "kubernetesMonthly": {
        "price": 65.5708,
        "product": "GKE cluster management fee",
        "source": "https://cloud.google.com/kubernetes-engine/pricing"
      },
      "postgres2vCPU8GBMonthly": {
        "price": 109.1081,
        "product": "db-custom-2-8192 (Cloud SQL Enterprise edition, General Purpose)",
        "source": "https://cloud.google.com/sql/pricing"
      }
    },
    "hetzner": {
      "blockStorageGBMonth": {
        "price": 0.044,
        "product": "Volumes",
        "source": "https://www.hetzner.com/cloud/block-storage/"
      },
      "objectStorageGBMonth": {
        "price": 0.0064,
        "product": "Object Storage",
        "source": "https://www.hetzner.com/storage/object-storage/"
      },
      "loadBalancerMonthly": {
        "price": 7.49,
        "product": "LB11",
        "source": "https://www.hetzner.com/cloud/load-balancer/"
      },
      "kubernetesMonthly": null,
      "postgres2vCPU8GBMonthly": null
    },
    "ovhcloud": {
      "blockStorageGBMonth": {
        "price": 0.086,
        "product": "Block Storage high-speed",
        "source": "https://eu.api.ovh.com/v1/order/catalog/public/cloud?ovhSubsidiary=DE"
      },
      "objectStorageGBMonth": {
        "price": 0.014,
        "product": "Object Storage Standard (S3 API), 3-AZ",
        "source": "https://eu.api.ovh.com/v1/order/catalog/public/cloud?ovhSubsidiary=DE"
      },
      "loadBalancerMonthly": {
        "price": 6,
        "product": "Octavia Load Balancer Small",
        "source": "https://eu.api.ovh.com/v1/order/catalog/public/cloud?ovhSubsidiary=DE"
      },
      "kubernetesMonthly": {
        "price": 65.7,
        "product": "Managed Kubernetes Service Standard",
        "source": "https://eu.api.ovh.com/v1/order/catalog/public/cloud?ovhSubsidiary=DE"
      },
      "postgres2vCPU8GBMonthly": {
        "price": 143.15,
        "product": "Essential B3-8",
        "source": "https://eu.api.ovh.com/v1/order/catalog/public/cloud?ovhSubsidiary=DE"
      }
    },
    "scaleway": {
      "blockStorageGBMonth": {
        "price": 0.0949,
        "product": "Block Storage 5K",
        "source": "https://www.scaleway.com/en/pricing/storage/"
      },
      "objectStorageGBMonth": {
        "price": 0.0161,
        "product": "Object Storage Standard Multi-AZ",
        "source": "https://www.scaleway.com/en/pricing/storage/"
      },
      "loadBalancerMonthly": {
        "price": 16.79,
        "product": "LB-S",
        "source": "https://www.scaleway.com/en/pricing/network/"
      },
      "kubernetesMonthly": {
        "price": 80.3,
        "product": "Kapsule Dedicated-4",
        "source": "https://www.scaleway.com/en/pricing/containers/"
      },
      "postgres2vCPU8GBMonthly": {
        "price": 80.3,
        "product": "DB-PRO2-XXS",
        "source": "https://www.scaleway.com/en/pricing/managed-databases/"
      }
    },
    "upcloud": {
      "blockStorageGBMonth": {
        "price": 0.22,
        "product": "MaxIOPS",
        "source": "https://upcloud.com/pricing/"
      },
      "objectStorageGBMonth": {
        "price": 0.02,
        "product": "Managed Object Storage",
        "source": "https://upcloud.com/pricing/"
      },
      "loadBalancerMonthly": {
        "price": 30,
        "product": "Managed Load Balancer Production S (2 nodes, 50,000 sessions/node)",
        "source": "https://upcloud.com/pricing/"
      },
      "kubernetesMonthly": {
        "price": 60,
        "product": "Managed Kubernetes Production control plane (up to 120 nodes)",
        "source": "https://upcloud.com/pricing/"
      },
      "postgres2vCPU8GBMonthly": {
        "price": 60,
        "product": "rdb.standard.2CPU-8GB (Standard, 1 node)",
        "source": "https://upcloud.com/pricing/"
      }
    }
  },
  "egress": {
    "aws": {
      "source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/eu-central-1/index.json",
      "note": "Tiers from AWS price list API (EU (Frankfurt) -> External, usagetype EUC1-DataTransfer-Out-Bytes); first tier described as 'beyond the global free tier'. 100 GB free tier quoted on https://aws.amazon.com/ec2/pricing/on-demand/. Excl. tax."
    },
    "azure": {
      "source": "https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Bandwidth' and armRegionName eq 'germanywestcentral'",
      "note": "Tiers apply above the 100 GB free allowance (API tier boundaries minus 100 GB). Default routing via Microsoft Premium Global Network ('Rtn Preference: MGN', 'Standard Data Transfer Out'). Tier boundaries are the API's tierMinimumUnits; the pricing page states First 100 GB / Next 10 TB / Next 40 TB / Next 100 TB / Next 350 TB (1 TB = 1,000 GB), contact sales over 500 TB. Routing preference 'Internet' is cheaper: 0.08/0.065/0.06/0.04. Pricing page: https://azure.microsoft.com/en-us/pricing/details/bandwidth/"
    },
    "gcp": {
      "source": "https://cloud.google.com/vpc/network-pricing",
      "note": "Premium Tier (default), destination Europe. Destination North America/Asia: 0.12/0.11/0.085; Australia, Indonesia, Korea, South America, Saudi Arabia: 0.19/0.18/0.15; Middle East/Africa: 0.15/0.13/0.11; China: 0.23/0.22/0.20. Read from the Frankfurt table embedded in the page."
    },
    "hetzner": {
      "source": "https://www.hetzner.com/cloud/general-purpose/",
      "note": "Page: 'For each additional TB at EU-Central locations we charge € 1.00' (the page labels it 'per hour', an apparent template glitch; price API item CLOUD_66 = €1.00). TB->GB conversion assumes 1 TB = 1,000 GB. Tiers apply to traffic above the included 20 TB."
    },
    "ovhcloud": {
      "source": "https://eu.api.ovh.com/v1/order/catalog/public/cloud?ovhSubsidiary=DE",
      "note": "Catalog for subsidiary DE (taxRate 19, prices excl. VAT). Bandwidth caps per instance not captured."
    },
    "scaleway": {
      "source": "https://www.scaleway.com/en/pricing/virtual-instances/",
      "note": "Public IPv4 and storage are extra. Per-instance bandwidth limits not captured."
    },
    "upcloud": {
      "source": "https://upcloud.com/fair-transfer-policy/",
      "note": "No excess fees by default: above the share UpCloud may limit bandwidth to 100 Mbps for the rest of the month, or you can opt into a paid transfer model at €0.01/GB for the excess."
    }
  }
}