Direct answer: at Azure Health Data Services public list prices on 11 November 2026 (eastus, USD, excluding tax and discounts), the core FHIR meters are: Structured Storage $0.39/GB/month (first 1 GB/month free), BLOB Storage $0.023/GB/month (first 1 GB free), API Requests $0.54/100,000 (first 50,000 free), FHIR Transformations $1.14/GB (first 0.5 GB free), Structured De-identification $1.14/GB (first 0.5 GB free), Unstructured De-identification $0.05/MB (first 50 MB free), Export batch from $0.19/GB, and Events $0.59/million (first 100,000 free). For 100 GB structured storage + 10M API requests + 100 GB FHIR transformation: $38.61 + $53.73 + $113.43 = $205.77/month; 1 TB + 100M API + 1 TB transformation = $2,105.49/month. The budget risks are clinical data volume, API polling/batch operations, de-identification and repeated transformations.

This guide is for healthcare IT, data platform, integration architects, finance and procurement building FHIR interoperability/health data platforms, comparing Azure Health Data Services with a self-hosted FHIR server, or budgeting storage/API/transformation. It separates official prices, editorial calculations and exclusions, covering free allowances, storage/API/transformation/de-identification/export/events, monthly TCO, hidden costs and a 90-day checklist. Prices come from the Health Data Services pricing page and Microsoft Learn FHIR/service overviews (11 November 2026). This is not procurement or medical-compliance advice.

Three rules to remember

(1) Storage, API, transformation, de-identification, export and events bill separately; monthly free allowances include 1 GB storage, 50K API calls, 0.5 GB transformation/structured de-id, 50 MB unstructured de-id, 1 GB export and 100K events. (2) Storage counts ingested data + indexes; DICOM pays both Structured and BLOB storage. (3) De-identification is expensive: unstructured $0.05/MB (about $50/GB), so 100 GB is about $5,117; structured de-id is $1.14/GB. API 500+/429 and initial import are not billed.

Meters and free allowances

HDS is usage-based PaaS: storage per GB/month of ingested data and indexes; API Requests per 100,000; FHIR Transformations and Structured De-identification per GB; Unstructured De-identification per MB; Export batch per GB; Events per million. Monthly free allowances: 1 GB storage, 50K API calls, 0.5 GB FHIR transformation, 0.5 GB structured de-id, 50 MB unstructured de-id, 1 GB export, 100K events. Microsoft also states: API responses 500+ or 429 are not billed; initial mode import is not billed; in a Batch, successful operations bill, while a Transaction bills as a whole.

MeterPriceFree/monthNote
Structured Storage$0.39/GB1 GBIngested data + indexes
BLOB Storage$0.023/GB1 GBDICOM images etc.
API Requests$0.54/100K50K500+/429 not billed
FHIR Transformations$1.14/GB0.5 GBTransformation operations
Structured De-identification$1.14/GB0.5 GBStructured de-id
Unstructured De-identification$0.05/MB50 MBUnstructured de-id
Export batchFrom $0.19/GB1 GBBulk export
Events$0.59/million100KEvents

Source: Health Data Services pricing page (eastus, 11 November 2026). USD; excludes tax/discounts; allowances monthly; Batch/Transaction billing follows the official notes.

Storage: 10 GB / 100 GB / 1 TB

Structured Storage is free for the first 1 GB/month, then $0.39/GB: 10 GB = 9×0.39 = $3.51/month; 100 GB = 99×0.39 = $38.61; 1 TB (1,024 GB) = 1,023×0.39 = $398.97. BLOB Storage is cheaper ($0.023/GB): 100 GB = $2.28, 1 TB = $23.53; DICOM pays both Structured (metadata) and BLOB (images). FHIR resources mainly use Structured; images/large objects use BLOB.

CapacityStructured/monthBLOB/monthNote
10 GB$3.51$0.21First 1 GB free
100 GB$38.61$2.28FHIR resources/indexes
1 TB (1,024 GB)$398.97$23.53DICOM pays both
10 TB (10,240 GB)$3,993.21$235.50Tier long-term archives

Editorial calculation: (capacity−1 GB)×price; 1 TB=1,024 GB; excludes requests/transformation/export/events, tax/discounts; DICOM pays Structured+BLOB.

API: 50K free, then $0.54/100K

API Requests are free for the first 50,000/month, then $0.54/100,000 (i.e., $5.40/million): 1M = 950K/100K×0.54 = $5.13; 10M = $53.73; 100M = $539.73; 1B = $5,399.73. Microsoft states 500+ and 429 responses are not billed and initial import is not billed; polling, batch reads and Bundle operations bill normally. In FHIR Batch/Transaction, Batch bills successful operations; Transaction bills as a whole.

API requests/monthBilled requestsCost/month
50K0$0
1M950K$5.13
10M9.95M$53.73
100M99.95M$539.73
1B999.95M$5,399.73

Editorial calculation: (requests−50K)/100K×$0.54; 500+/429 and initial import are not billed; excludes tax/discounts.

Transformation, de-identification, export and events

FHIR Transformations and Structured De-identification are both $1.14/GB (first 0.5 GB free): 100 GB = $113.43, 1 TB = $1,166.79. Unstructured De-identification is $0.05/MB (first 50 MB free)—100 GB=102,400 MB, about $5,117.50, the most expensive transformation. Export batch is free for the first 1 GB, then $0.19/GB in the first tier and $0.139992/GB after; 100 GB about $14.05, 1 TB about $143.40. Events are free for the first 100K, then $0.59/million: 1M about $0.53, 10M about $5.84.

Item100 GB/month1 TB/monthNote
FHIR Transformations$113.43$1,166.79First 0.5 GB free
Structured De-id$113.43$1,166.79First 0.5 GB free
Unstructured De-id$5,117.50About $52,426.30$0.05/MB
Export batchAbout $14.05About $143.40First tier $0.19/GB
Events (10M)$5.84$5.84$0.59/million, first 100K free

Editorial calculation: transformation/structured de-id=(GB−0.5)×1.14; unstructured=(MB−50)×0.05; export first+later tier; events=(million−0.1)×0.59; excludes tax/discounts.

Monthly TCO: small/medium/large

Stack the core items: small 10 GB storage + 1M API + 10 GB transformation = 3.51 + 5.13 + 10.83 = $19.47/month; medium 100 GB + 10M API + 100 GB transformation = 38.61 + 53.73 + 113.43 = $205.77; large 1 TB + 100M API + 1 TB transformation = 398.97 + 539.73 + 1,166.79 = $2,105.49. Add de-identification/export/events/DICOM BLOB; re-running full transformations monthly adds linearly, so transform only new/changed data.

ScaleStorageAPITransformationTotal/month
Small10 GB = $3.511M = $5.1310 GB = $10.83$19.47
Medium100 GB = $38.6110M = $53.73100 GB = $113.43$205.77
Large1 TB = $398.97100M = $539.731 TB = $1,166.79$2,105.49
Medium + 100 GB de-id100 GB10M100 GB transform + 100 GB de-id$319.20
Medium + 100 GB unstructured de-id100 GB10M+$5,117.50$5,323.27

Editorial calculation: core items summed; de-id structured/unstructured separately; excludes BLOB/export/events/DICOM, tax/discounts.

Hidden costs and 90-day checklist

Seven hidden costs: storage counts ingested data + indexes (not compressed), DICOM pays twice, API polling/batch, transformation/de-identification per GB and potentially repeated, unstructured de-id at $0.05/MB, export/events, and workspace/network/downstream analytics. Microsoft maintains/backs up the FHIR servers, but long-term archives, analytics, integration and labour bill separately. 90 days: weeks 1–2 inventory data volume, resource types and DICOM/unstructured share; weeks 2–3 count API calls and Batch/Transaction; weeks 3–4 price storage/API/transformation/de-id; weeks 4–6 optimize incremental transforms, caching and paging; weeks 6–8 load-test import/query/export; weeks 8–10 reconcile BLOB/export/events; weeks 10–12 set storage/API/transformation alerts.

ScenarioFirst choiceCheck first
FHIR resources/indexesStructured StorageIngested + indexed volume
DICOM/large objectsBLOB StorageAlso pays Structured
API polling/batchPaging/caching500+/429 free
Incremental transformationOnly new/changed data$1.14/GB
Structured de-idOn demand$1.14/GB
Unstructured de-idSample/mask first$0.05/MB
Export/eventsBatch/on demandFrom $0.19/GB, $0.59/million

Editorial summary, not a vendor recommendation; features/prices follow official pages; workspace/network/analytics/labour are not estimated.

FAQ

How is Azure Health Data Services billed?

Usage-based: Structured Storage $0.39/GB/month, BLOB $0.023/GB/month, API $0.54/100K, FHIR transformation/structured de-id $1.14/GB, unstructured de-id $0.05/MB, export from $0.19/GB, events $0.59/million; monthly free allowances apply.

What does 100 GB of storage cost per month?

Structured 99×$0.39=$38.61; BLOB 99×$0.023=$2.28. DICOM pays both Structured (metadata) and BLOB (images), not one or the other.

How are API requests counted?

First 50K/month free, then $0.54/100K ($5.40/million); 1M=$5.13, 10M=$53.73, 100M=$539.73. 500+/429 and initial import are not billed.

How much are transformation and de-identification?

FHIR transformation and structured de-id are both $1.14/GB (first 0.5 GB free); 100 GB=$113.43. Unstructured de-id is $0.05/MB, so 100 GB is about $5,117.50—the most expensive.

How is DICOM billed?

DICOM images bill BLOB Storage ($0.023/GB) while metadata bills Structured Storage ($0.39/GB); both charges apply. Transcoding has a separate per-GB meter.

Is there a free tier?

Monthly: 1 GB storage, 50K API, 0.5 GB FHIR transformation, 0.5 GB structured de-id, 50 MB unstructured de-id, 1 GB export, 100K events; overages bill per meter.

HDS or a self-hosted FHIR server?

HDS removes server/patch/backup/compliance operations and bills by usage; self-hosting needs VMs/database/storage/security/HA/labour. Small data with a strong team may self-host; managed FHIR/PHI capabilities and elasticity favor HDS.

How do I reduce cost?

Five steps: (1) transform only new/changed data; (2) page/cache API calls to cut polling; (3) use BLOB for large DICOM and trim metadata; (4) sample/mask before unstructured de-id; (5) export/events on demand and tier long-term archives.

Research method and limitations

Official facts (HDS pricing page, Learn FHIR/service overviews): storage/API/transformation/de-id/export/event prices and free allowances, DICOM double storage, 500+/429 and initial import not billed, Batch/Transaction billing. Editorial calculations: capacity−1 GB; API−50K; transformation−0.5 GB; unstructured−50 MB; export first tier; events−0.1M; small/medium/large TCO.

Seven limitations: (1) eastus USD list prices only, excluding tax/contract discounts/regional differences; (2) data volume, API volume and transformation/de-id ratios are editorial assumptions; (3) excludes workspace/network/analytics/long-term archive/labour; (4) no real import/query/export benchmark; (5) DICOM/Transcode/Export tier details follow the bill; (6) legacy Azure API for FHIR runtime/throughput billing is not covered; (7) prices/free allowances change—recheck official pages and bills before purchase.

Sources and basis

Data cut-off 11 November 2026; prices/features follow Microsoft official pages and bills; this is not procurement, medical-compliance or legal advice.

Turn FHIR storage, APIs, transformation and de-identification into a checkable budget

Bring data volume, FHIR/DICOM mix, API calls, transformation/de-identification and export/event needs; we turn Health Data Services cost into a checkable budget.

Book a Health Data Services cost review