price api v1

Storage pricing, as JSON

Everything the site renders is available over HTTP. CORS is open, responses are cached for 30 minutes, and the free tier needs no key. Rate limit: keep it under one request per second and we will never have a conversation about it.

$ curl
https://uglyhd.com/api/v1/drives?type=HDD&interface=SAS&sort=per_tb&limit=5
endpoints
GET/api/v1/drives

List drives with their cheapest current offer.

params: type, interface, brand, condition, min_tb, max_tb, min_price, max_price, min_per_tb, max_per_tb, in_stock, sort, limit, offset

type: HDD, SSD, RAM · interface: SATA, SAS, NVMe U.2, NVMe M.2, DDR4, DDR5 · condition: new, renewed, used (case-insensitive; anything else 400s) · min_price/max_price/min_per_tb/max_per_tb are USD, non-negative (negative or non-numeric 400s)

GET/api/v1/drives/{slug}

One drive: full specs, every current offer, and price history (pro).

params: history_days

history_days: how many days back to return, default 90. Price history starts on 11 September 2026, so a larger value returns no more than exists.

GET/api/v1/categories

Category rollups — SKU counts, best and average cost per TB.

params: —

GET/api/v1/best-prices

The cheapest drive in each category and how far it beats the average.

params: —

GET/api/v1/search

Search by brand, series or manufacturer part number.

params: q (min 2 chars)

Removed 2026-10-02: the Tape drive type and the LTO-7, LTO-8 and LTO-9 interfaces. A request for them now returns a 400 (they are no longer valid values), and no tape drive appears in any response. Added: a nas entry in /api/v1/categories and /api/v1/best-prices. NAS-rated drives are also SATA HDDs, so the nas and sata-hdd counts overlap; don't sum them.

tiers

Current prices are free. History isn't.

Today's number is cheap for us to serve. The history is the part that has to be collected one day at a time. We have tracked prices since August 2026. The history this API serves starts on 11 September 2026 (we do not trust the days before it) and is 33 days long today, one day longer every day. That is the part that costs money.

Free$0
  • ▸50 results per request
  • ▸Current prices
  • ▸No key required
Pro$29/mo
  • ▸1,000 results per request
  • ▸Price history since 11 September 2026 (33 days, growing daily)
  • ▸Commercial use
Request a key
Bulk$99/mo
  • ▸10,000 results per request
  • ▸Price history since 11 September 2026 (33 days, growing daily)
  • ▸Commercial use
Request a key

Send your key as X-API-Key or ?api_key=. buy_url points at our own redirect on this domain, not at a merchant tracking link. Republish it freely — the click routes through us, which is what keeps the attribution correct for both of us. Please don’t try to resolve it server-side and publish whatever it lands on; that breaks the attribution and our agreements with the affiliate networks.