TCO example

When your workload sends data out to the internet, egress costs can dwarf compute costs. Provide your data source location and estimated traffic to unlock a full cost breakdown.

⚠ Run make ingest-egress first — egress rates must be ingested before TCO params work.
Request
curl -X POST http://localhost:8000/api/recommendations \
  -H "Content-Type: application/json" \
  -d '{
    "min_vcpu": 2,
    "min_ram_gb": 4,
    "arch": "x86_64",
    "region_constraint": "EU",
    "max_price_eur_per_hour": 1.0,
    "limit": 5,
    "data_source_provider": "azure",
    "data_source_region": "westeurope",
    "estimated_egress_gb_per_hour": 1.0
  }'
Response
{
  "recommendations": [
    {
      "instance_type_name": "Standard_B2s",
      "provider_slug": "azure",
      "region_slug": "westeurope",
      "vcpu": 2,
      "ram_gb": 4.0,
      "price_eur_per_hour": 0.04,
      "score": 0.95,
      "explain": {
        "resource_fit": 1.0,
        "normalized_price": 0.92,
        "price_weight": 0.5,
        "fit_weight": 0.5,
        "region_is_eu": true,
        "tco_eur_per_hour": 0.06,
        "egress_cost_eur_per_hour": 0.02,
        "storage_cost_eur_per_hour": null,
        "public_ip_cost_eur_per_hour": null,
        "os_license_cost_eur_per_hour": null,
        "cross_az_cost_eur_per_hour": null
      }
    }
  ]
}

Same provider+region as data source yields egress_cost_eur_per_hour: 0. Cross-provider or cross-region adds egress cost.

← All examples