Get the monthly digestSubscribe
UPDATED Oct 27, 2026 10:15 UTC2,524 prices3 clouds · 102 regionsNo list-price changes in the last 30 daysIndependent · not affiliated with Databricks

DBU Watch API and MCP server

Free, read-only access to the same Databricks prices as this site, as JSON or as tools for AI assistants. No key, no sign-up. Data as of 2026-10-27, refreshed daily.

Quick start

curl "https://www.dbuwatch.com/api/v1/prices?cloud=Azure&product=Jobs%20Compute&tier=Premium&limit=5"
curl "https://www.dbuwatch.com/api/v1/compare?product=sql_serverless"
curl "https://www.dbuwatch.com/api/v1/estimate?cloud=AWS&product=jobs&instance=m5d.2xlarge&nodes=4&hours=200"

Every response is JSON, carries as_of (the snapshot date) and a source line to cite, and is cached at the edge for a few hours. CORS is open, so it works from a browser. The full description is the OpenAPI 3.1 document.

Endpoints

EndpointReturns
GET /api/v1/API index. Name, version, data date, links to docs, spec and MCP server, and the endpoint list.
GET /api/v1/metaDataset metadata. Snapshot date, record counts per cloud, sources, price types, caveats, license and citation.
GET /api/v1/pricesList and filter prices. Current Databricks price records for AWS, Azure and GCP.
GET /api/v1/productsList products. Every product per cloud with its tiers, units, price types, region count and price range.
GET /api/v1/familiesList product families. Cross-cloud product families, usable wherever a product is accepted: `jobs` means Jobs Compute on all three clouds.
GET /api/v1/regionsList regions. Regions per cloud with record and product counts.
GET /api/v1/compareCompare one product across clouds. The $/DBU list price for one product on AWS, Azure and GCP side by side, with each cloud's min and max across regions and the cheapest cloud per DBU.
GET /api/v1/estimateEstimate a Databricks bill. DBUs x $/DBU, plus the VM on-demand list price for classic compute when that price is in the data.
GET /api/v1/historyPrice history. Price series with every observation: daily captures since October 2026 plus archived observations back to 2019, each linked to its source.
GET /api/v1/changesDaily change log. One entry per daily run with the price changes, new SKUs and removed SKUs found.
GET /api/v1/openapi.jsonThis API as an OpenAPI 3.1 document.

Base URL: https://www.dbuwatch.com/api/v1. Products can be given by their listed name (Jobs Compute, case-insensitive) or a cross-cloud family key such as jobs, all_purpose_photon or sql_serverless (see /api/v1/families).

Filters for /api/v1/prices

ParameterWhat it does
cloudCloud (case-insensitive).
productProduct name as listed (e.g. `Jobs Compute`, `SQL Serverless Compute`; case-insensitive) or a cross-cloud family key: jobs, jobs_photon, all_purpose, all_purpose_photon, jobs_light, dlt_core, dlt_core_photon, dlt_pro, dlt_pro_photon, dlt_advanced, dlt_advanced_photon, sql_classic, sql_pro, sql_serverless, serverless_jobs, serverless_interactive.
tierPlan tier: Premium, Enterprise (AWS/GCP), Standard (Azure).
regionRegion code or name as listed by /regions (AWS/GCP classic list prices use `all`; Azure uses ARM names such as `eastus`).
unitUnit of measure, e.g. `1 Hour (DBU)`.
price_typeList (databricks.com), Consumption (Azure pay-as-you-go) or Reservation (Azure pre-purchase).
qFree-text filter over product, region and meter names (case- and punctuation-insensitive).
idExact record id from a previous response.
sortSort order.
limitMax records (1-500).
offsetRecords to skip (pagination; use next_offset).

Parameters for /api/v1/estimate

ParameterWhat it does
cloud (required)Cloud.
product (required)Product name or family key (see `product` above).
tierPlan tier (default Premium).
regionAWS/GCP: databricks.com region name (`US East (N. Virginia)`) or region code (`us-east-1`, `us-central1`); Azure: ARM name (`eastus`). Defaults: us-east-1 / us-central1 / eastus.
instanceClassic compute instance type (`m5d.2xlarge`, `n2-standard-8`, `d8dsv5`). Use this or dbu_per_hour.
dbu_per_hourDBUs per hour per node. Use this or instance (required for serverless and SQL).
nodesNodes (driver + workers).
hoursHours in the period (730 = a month always on).

What the numbers mean

MCP server for AI assistants

Add DBU Watch to Claude, ChatGPT, Cursor or any client that supports remote MCP servers, then ask things like “what does Jobs Compute cost on Azure vs AWS?” or “estimate a month of 4 × m5d.2xlarge jobs clusters”. Server URL (Streamable HTTP, no sign-in):

https://www.dbuwatch.com/mcp
ToolInputsWhat it answers
estimate_databricks_billcloud, product, tier, region, instance or dbu_per_hour, nodes, hoursA bill estimate: DBUs times $/DBU, plus the VM list price for classic compute when we have it.
compare_sku_pricesproduct, tier, azure_regionOne product's $/DBU on AWS, Azure and GCP side by side, with each cloud's regional range.
get_price_historyproduct, cloud, tier, region, sinceWhether and when a price changed, with every observation linked to its source.
get_pricecloud, product, tier, region, qCurrent price records matching the filters.

How to connect

claude mcp add --transport http dbu-watch https://www.dbuwatch.com/mcp
{ "mcpServers": { "dbu-watch": { "url": "https://www.dbuwatch.com/mcp" } } }
{ "servers": { "dbu-watch": { "type": "http", "url": "https://www.dbuwatch.com/mcp" } } }

The server is stateless and read-only. It answers JSON-RPC over POST; a GET returns 405 because there's no event stream. Its server card is at /mcp/server-card.

Errors

Errors use RFC 9457 problem details (application/problem+json) with a stable code and a hint:

codeHTTPWhen
not_found404No endpoint at that path.
product_not_found404Unknown product name or family key; the body may include suggestions.
price_not_found404The product has no price for that tier or region; the hint lists the ones that do.
instance_not_found404Unknown instance type for that cloud; the body may include suggestions.
invalid_parameter400A query parameter is missing, out of range or unknown (for example limit=0, an unknown cloud or region, or both instance and dbu_per_hour).
method_not_allowed405Anything but GET, HEAD or OPTIONS on the API, or a GET on /mcp (the MCP server takes POST).
payload_too_large413An MCP request body over 1 MB.
rate_limited429More than 120 requests a minute from one address. Wait for Retry-After seconds.
internal_error500Something broke on our side. Try again later.

Limits, caching and versioning

Discovery files

License and credit

The data is free to reuse under CC BY 4.0. Credit “DBU Watch (https://www.dbuwatch.com/), Databricks list prices as of …” with the as_of date. Questions or a field you need: hello@dbuwatch.com.