azure-retail-prices

Guides authoring and reviewing callers of the Azure Retail Prices REST API.

Updated Apr 11, 2026
One-click install
npx skills add https://github.com/lurodrisilva/personal-skills --skill azure-retail-prices-lurodrisilva
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: azure-retail-prices
Source: https://github.com/lurodrisilva/personal-skills/tree/main/platform-engineering/azure-retail-prices
Command: npx skills add https://github.com/lurodrisilva/personal-skills --skill azure-retail-prices-lurodrisilva

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams integrating Azure's public pricing endpoint ship callers that silently undercount SKUs, miss savings-plan rates, or reconcile reference-only currency prices against invoices. This Skill encodes the full API contract and operational discipline so pricing callers return defensible, reproducible results. ## Core Features & Use Cases - API Contract Reference: Endpoint, both API versions, case-sensitive $filter rules, the small OData operator surface, priceType and 26-value serviceFamily enums, and the complete response schema. - Pagination & Hardening Patterns: Walk NextPageLink to null (1,000 records/page), exponential backoff on 429/5xx, and 24-hour cache TTL keyed on filter, currency, and API version. - Anti-Pattern Detection: Flags production traps like lowercase filter values returning empty results, reservation retailPrice treated as hourly, and mixing Consumption with DevTestConsumption rows. - Use Case: Build a monthly cron that snapshots Compute prices per region, diffs them to detect Azure price drift, and feeds a FinOps budget model — without ever mistaking catalog prices for invoiced billing. ## Quick Start Ask the AI to write a Python caller that fetches all eastus Consumption prices for Standard_D4s_v5 from the Azure Retail Prices API with full pagination and backoff.

Frequently Asked Questions about azure-retail-prices

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get Azure VM prices programmatically via API?▼

Call GET https://prices.azure.com/api/retail/prices with an OData $filter like serviceName eq 'Virtual Machines' and armRegionName eq 'eastus'. The endpoint is anonymous and returns up to 1,000 records per page, so follow NextPageLink until it is null.

How to get Azure savings plan rates from the Retail Prices API?▼

Pin ?api-version=2023-01-01-preview on every request; the savingsPlan[] block only appears on the preview API. Each element contains unitPrice, retailPrice, and a term of 1 Year or 3 Years for eligible meters.

Why does my Azure prices API filter return zero rows?▼

On api-version 2023-01-01-preview, $filter values are case sensitive: 'Virtual Machines' works but 'virtual machines' returns an empty Items array with HTTP 200. Match the exact casing Microsoft uses for serviceName, serviceFamily, and priceType.

Does the Azure Retail Prices API support EUR or other currencies?▼

Yes, pass currencyCode='EUR' to get reference prices in other currencies. However, USD is the only currency Microsoft actually bills in, so non-USD prices are estimates and must never be reconciled against an invoice.

Can I use the Azure Retail Prices API for invoice reconciliation?▼

No. The Retail Prices API is a catalog, not a billing source, and has no SLA. For invoice reconciliation, showback, or chargeback, use the Cost Management Usage Details or Exports APIs, which carry actual billed effectivePrice.

What OData operators does the Azure prices filter support?▼

Only eq, and, and contains(field, 'substring') are officially supported. Operators like or, ne, gt, lt, and startswith return 400 errors or empty results; issue separate calls and merge client-side for OR semantics.