AzureAzure API ManagementNetworking

azurerm_api_management cost estimation

Full API gateway with developer portal, rate limiting, transformations. Consumption ($3.50/M calls), Developer ($48/month, no SLA), Basic ($147/month), Standard ($686/month), Premium ($2,795/month per unit).

Azure API Management (APIM) is the full-featured API gateway service. The azurerm_api_management resource creates the service instance. Pricing tiers differ dramatically in features, capacity, and price.

Consumption tier: - $3.50 per million calls (after first 1M/month free) - Pay-per-use, scales to zero - Subset of features (no developer portal, no custom domains in some configs) - Right for variable/low-volume APIs

Developer tier: - $48/month flat - No SLA (testing/dev only) - All features available - Single instance

Basic tier: - $147/month per unit - 1,000 requests/sec per unit - 1 GB cache - 99.95% SLA - All features

Standard tier: - $686/month per unit - 2,500 requests/sec per unit - Available zones (some regions) - All features

Premium tier: - $2,795/month per unit - 4,000 requests/sec per unit - Multi-region, VNet integration, availability zones - For enterprise/regulated workloads

A typical mid-size deployment: Standard tier with 1 unit = $686/month base. For larger workloads, scale to multiple units or move to Premium.

Common gotcha: Premium pricing is for the smallest 1-unit configuration. Production Premium often has multiple units (2-4), pushing to $5K-$11K/month per region.

Compared to Azure API Management vs raw Application Gateway + custom auth: APIM provides built-in developer portal, OAuth, policy engine, monetization. Justified when you need API as a product (external developers, SaaS partner integration). Overkill for internal-only APIs.

c3x estimates APIM based on sku_name (which encodes tier and capacity). For Consumption, expected call volume comes from c3x-usage.yml.

Terraform example

A minimal but realistic configuration that C3X can estimate.

resource "azurerm_api_management" "main" {
  name                = "prod-apim"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name
  publisher_name      = "Example Corp"
  publisher_email     = "api-team@example.com"

  sku_name = "Standard_1"  # Standard tier, 1 unit

  identity {
    type = "SystemAssigned"
  }

  tags = {
    Environment = "production"
  }
}

Pricing dimensions

What you actually pay for when you provision azurerm_api_management.

DimensionUnitWhat's being charged
Consumption tierper million callsPay-per-call for low/variable volume APIs. First 1M calls/month free.
$3.50 per 1M calls
Developer tierper monthSingle-instance for development. No SLA.
$48/month
Basic tierper unit-month1000 req/sec per unit. SLA-backed.
$147/month per unit
Standard tierper unit-month2500 req/sec per unit. Production default.
$686/month per unit
Premium tierper unit-month4000 req/sec per unit. Multi-region, VNet, AZ.
$2,795/month per unit

Optimization tips

Common ways to reduce azurerm_api_management cost without changing the workload.

Use Consumption for low/variable traffic

Up to 99% on low-volume APIs

Below ~200K calls/day, Consumption ($3.50/M) is cheaper than Developer ($48/month flat). For variable workloads with idle periods, Consumption scales to zero.

Right-size unit count

$686/month per removed unit

Each Standard unit handles 2,500 req/sec. Many teams provision multiple units 'just in case'. Monitor actual peak QPS; size to peak + 20% buffer, not 200%.

Skip Premium unless VNet/Multi-region is required

75% vs Premium

Premium is 4x more expensive than Standard. Justified only for VNet isolation, multi-region active-active, or availability zones. Most production workloads run fine on Standard.

Cache aggressively

APIM has built-in response caching. Cacheable responses (GET endpoints with TTL) reduce calls to backend services and improve response time. Free feature; just configure cache policies.

Consolidate gateways across teams

Varies based on team count

Multiple APIM instances across teams cost N × $686/month. A single shared APIM instance with workspace separation (Premium tier) can be cheaper at scale. Right at 3+ team instances.

FAQ

When should I use APIM vs Application Gateway?

Application Gateway is L7 LB + WAF, ~$0.10/hour base. APIM is a full API gateway with developer portal, OAuth, rate limiting, policy engine, ~$686/month. Use AppGW for routing/WAF only; use APIM when you need API-as-a-product features (external dev portal, OAuth flows, monetization, rate limits per consumer).

Does Consumption tier really scale to zero?

Yes. Consumption has no base fee. If you make zero calls in a month, you pay $0 (after the free tier of 1M/month). Cold start latency is 100-500ms for the first call after idle, then warm. Right for irregular traffic patterns.

How many requests/sec can I actually handle?

Listed RPS per unit (1K Basic, 2.5K Standard, 4K Premium) is sustained. Bursts can exceed briefly. Real-world capacity depends on policy complexity — heavy transformations reduce effective RPS. Test with realistic policies before sizing units.

Is APIM cheaper than AWS API Gateway?

Different pricing models. AWS API Gateway (HTTP API) is $1/M requests with no base fee. APIM Consumption is $3.50/M. For pure request handling, AWS HTTP API is cheaper. APIM's value is the developer portal + policy engine + management features bundled in.

Related resources

Estimate this resource in your own Terraform

Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including azurerm_api_management.