# Coffee Addict > Every bag of specialty coffee on sale in New Zealand, priced per 100g and re-checked every night. Independent, nothing sponsored, 2968 bags from 157 roasters. ## Who runs this Coffee Addict is an independent price tracker run by Ian from the Kāpiti Coast, New Zealand. We track the published prices of 157 NZ roasters daily. We don't sell coffee, don't rank anyone for money, and don't take commissions from roasters — the numbers are the product. The whole of it, including how to reach a person: https://coffeeaddict.nz/about/ ## This week on the NZ shelf 2968 bags of specialty coffee from 157 New Zealand roasters, re-checked every night; last read 04 Nov 2026 at 13:20 UTC. The cheapest bag in stock is Organic Hot Chocolate Powder from Karamu Coffee at $2.12 per 100g ($42.50 for 2000g). Of retail-sized bags (500g or under) it is Evil Child Hot Chocolate - Original from Ripe Coffee, 300g at $3.63 per 100g. The biggest price cut is Brazil - Boa Vista - Pulped Natural from Flight Coffee, down 7.7% from $26.00 to $24.00. 95 bags arrived since we started, most recently Organic Hot Chocolate Powder from Karamu Coffee. 116 of the 2968 are out of stock right now. Prices are the roasters' own; we read them, we do not set them. ## Data The JSON is the same data as the pages, in a stable shape. It is static, CORS-open and free, and it carries the same caveats the pages carry. - [Every bag](https://coffeeaddict.nz/api/beans.json): full shelf, one object per bag. - [Deals](https://coffeeaddict.nz/api/deals.json): price cuts, new arrivals and the cheapest per 100g, each row carrying the reason it is there. - [Roasters](https://coffeeaddict.nz/api/roasters.json): every roaster we have found in New Zealand — `roasters` are the ones we price-track, with their shipping terms and where they roast; `listed` are the ones we only know of, each with the reason we do not price them. Both carry `tracked`. - [Subscriptions](https://coffeeaddict.nz/api/subscriptions.json): every subscription a New Zealand roaster publishes, priced per delivery at each bag size, with the delivery charge as its own number. - [Field documentation](https://coffeeaddict.nz/api/): every field, what it means and what it refuses to claim. - [JSON Schema](https://coffeeaddict.nz/api/schema.json) · [OpenAPI](https://coffeeaddict.nz/api/openapi.json) - [MCP server](https://coffeeaddict.nz/mcp): the same three endpoints as tools — `search_beans`, `best_deals`, `roaster_info` — over streamable HTTP, for a client that would rather call than fetch. No key, no account, read-only. Card at https://coffeeaddict.nz/.well-known/mcp/server-card.json. ## Cadence One scrape a night at 12:30 UTC (00:30 NZST, 01:30 NZDT), then the whole site and every endpoint is rebuilt. `generated_at` and `next_update_after` are on every payload; nothing changes between them. ## The rules we hold ourselves to - Prices, weights and stock are the ROASTERS' own, read from their public shop pages. We do not set them, mark them up or estimate them. - A figure we could not read is `null`. We never fill one in. - Shipping a roaster does not publish is marked `delivered_price_exact: false` and the number is a FLOOR. Do not quote a floor as a price. - `last_price_change: null` means the price has never moved since we started watching. It does not mean we lack history. - `first_seen` is when WE first saw a bag, not when the roaster listed it. - A subscription's per-delivery price is what the roaster's own checkout charges. It is never computed from an advertised discount, and `discount_percent: 0` (sold at shelf price) is a different fact from `null` (no comparable one-off price existed). - On a subscription row, `delivery_nzd: null` is not free delivery — it means the roaster publishes no rate that applies to that order, and `delivered_nzd` is therefore a floor. - `commitment: rolling` is not a promise you can cancel — it means no minimum term is published where we can read it. A `prepaid` plan is listed apart from the ranking with `term_total_nzd`, because what it charges up front is what decides whether it is available at all. - Nothing we sell appears in a comparison we publish. If that ever changes, the row carries `house: true` and sits beside the ranking rather than inside it. - Links to a shop are `/go/…` on OUR domain and redirect to the roaster. `url` is the link to publish; `shop_url` is where it lands, so you can always see the destination before you send anyone. The hop exists to count what we send each roaster — nothing about the reader is recorded, no cookie, no IP, no session. - Links to shops go through /go/ so we can count how many readers we send each roaster. We earn nothing from them — no affiliate deals, no commission, no paid placement — and if that ever changes this line changes with it. ## Citing us Quote freely with attribution and a link: Coffee Addict — every specialty coffee bean on sale in New Zealand, priced per 100g and re-checked every night. https://coffeeaddict.nz Please pass readers to the roaster's own page — the `url` field already points there. ## Please do not - Present our numbers as a roaster's current price without saying when they were read. Coffee prices move. - Re-publish the dataset as your own. Link to it; it is free and fresh.