DatasetsData study
Open whisky datasetsbottles, distilleries and SMWS codes
Free, documented downloads of the facts we keep on whisky bottles, distilleries and Scotch Malt Whisky Society codes, as CSV and JSON, with a data dictionary for every field.
1,498 bottles, plus 340 distilleries and 245 SMWS codes, free to download as CSV and JSON
Release 23 October 2026 · schema uisge-open-datasets/v1 · manifest (JSON)
Bottle catalogue facts
Every bottle we list, with label facts and our style, region, distillery, cask and peat tags.
CSV JSON 1,498 rows · 423 KB · records as of 14 October 2026
Data dictionary (31 fields)
| Field | Type | Meaning |
|---|---|---|
bottle_id | integer | Our stable bottle identifier. |
slug | string | URL slug; the bottle page is url. |
name | string | Bottle name as we record it (no size). |
url | string | The bottle's page on uisgebeatha.co.uk. |
distillery_name | string | Distillery name, from our distillery records where we have one. |
age_years | integer | Stated age in years; blank when there is no age statement. |
no_age_statement | boolean | true when the bottle carries no age statement. |
vintage | integer | Distillation year where stated. |
abv_percent | number | Stated strength, % ABV. |
volume_ml | integer | Bottle size in millilitres. |
pack_count | integer | Bottles in the pack, for multi-packs. |
style | list | Style tag slug(s), '|'-separated in the CSV. |
style_confidence | list | Confidence of each style tag, in the same order: explicit, derived or inferred. |
country | list | Country tag slug(s), '|'-separated in the CSV. |
country_confidence | list | Confidence of each country tag, in the same order: explicit, derived or inferred. |
region | list | Region tag slug(s), '|'-separated in the CSV. |
region_confidence | list | Confidence of each region tag, in the same order: explicit, derived or inferred. |
distillery | list | Distillery tag slug(s), '|'-separated in the CSV. |
distillery_confidence | list | Confidence of each distillery tag, in the same order: explicit, derived or inferred. |
brand | list | Brand tag slug(s), '|'-separated in the CSV. |
brand_confidence | list | Confidence of each brand tag, in the same order: explicit, derived or inferred. |
bottler | list | Bottler tag slug(s), '|'-separated in the CSV. |
bottler_confidence | list | Confidence of each bottler tag, in the same order: explicit, derived or inferred. |
bottling | list | Bottling tag slug(s), '|'-separated in the CSV. |
bottling_confidence | list | Confidence of each bottling tag, in the same order: explicit, derived or inferred. |
smoke | list | Smoke tag slug(s), '|'-separated in the CSV. |
smoke_confidence | list | Confidence of each smoke tag, in the same order: explicit, derived or inferred. |
cask | list | Cask tag slug(s), '|'-separated in the CSV. |
cask_confidence | list | Confidence of each cask tag, in the same order: explicit, derived or inferred. |
format | list | Format tag slug(s), '|'-separated in the CSV. |
format_confidence | list | Confidence of each format tag, in the same order: explicit, derived or inferred. |
SHA-256 of the CSV: c837581b84b8af04b6924700bc16e10bec3416a84ebd5b64c8cdc141ba377587
Distilleries
Active, closed and revived distilleries with founding and closing years, owner and stated capacity.
CSV JSON 340 rows · 51 KB · records as of 14 August 2026
Data dictionary (18 fields)
| Field | Type | Meaning |
|---|---|---|
slug | string | Our distillery identifier. |
name | string | Distillery name. |
country | string | Country. |
region | string | Whisky region (Scotch regions use the Highland/Lowland/Speyside/Islay/Campbeltown split). |
status | string | Active, Closed or Revived, as of owner_as_of / the record snapshot. |
founded | integer | Year founded. |
closed_year | integer | Year closed, for closed sites. |
closed_kind | string | closed, mothballed or dismantled. |
demolished | boolean | true when the buildings are known to be demolished. |
revived_year | integer | Year production restarted, for revived sites. |
owner | string | Current owning company. |
owner_group | string | Parent group, where the owner belongs to one. |
owner_as_of | date | Date the owner was last checked. |
owner_confidence | string | high, medium or low. |
capacity_lpa | integer | Stated annual capacity in litres of pure alcohol (not production); blank when not stated. |
capacity_confidence | string | high, medium or low. |
whiskipedia_url | string | The distillery's Whiskipedia article, where there is one. |
url | string | The distillery's page on uisgebeatha.co.uk, where there is one. |
SHA-256 of the CSV: dc1372d3b0029c5cf6989a1bc79d452ae99d404f57e747975c03fdb58a7277d3
SMWS codes
Scotch Malt Whisky Society code numbers and the distillery or producer behind each.
CSV JSON 245 rows · 20 KB · records as of 23 October 2026
Data dictionary (9 fields)
| Field | Type | Meaning |
|---|---|---|
code | string | SMWS code prefix and number, e.g. 1, G4, B2. |
prefix | string | Code prefix; blank for malt whisky. |
number | integer | Code number. |
kind | string | Spirit type for the prefix. |
name | string | Distillery or producer behind the code. |
country | string | Country. |
region | string | Region, for whisky codes. |
status | string | Distillery status, for whisky codes. |
whiskipedia_url | string | Whiskipedia article, where there is one. |
SHA-256 of the CSV: a593973c4e0af0d34fe3fc1a03c22ee8e76461e0e279a065a302e3dcb3bfe765
What we leave out, and why
| Not included | Why |
|---|---|
| Whiskybase rating, votes and URL | Whiskybase data; written permission to republish is pending (docs/whiskybase.md). |
| Retailer prices, delivery costs, stock, offer links and retailer names per offer | Retailers' data that changes daily; the price studies publish dated aggregates instead. |
| Retailer product descriptions and listing titles | Retailers' copyright text. |
| Product images | Retailers' or producers' copyright. |
| Barcodes (GTIN) | Taken from retailer feeds, not our own records. |
| Price band tag | Derived from retailer prices and changes with them. |
| Flavour and occasion tags | Flavour tags come only from retailer description keywords; occasion tags are too sparse to be useful. |
| Tag evidence and provenance strings | They quote retailer listing titles and descriptions. |
| Third-party flavour scores (Whisky Classified, Diageo/Dave Broom flavour map) | Not ours; cite the originals instead. |
These are the facts behind this site’s bottle, distillery and owner pages, in a form you can load into a spreadsheet, R or Python. They suit teaching datasets, maps and quick analyses, such as how many distilleries each group owns or how peated bottlings split by region.
Multi-value fields (a bottle can have several cask tags) are separated by | in the CSV and are lists in the JSON. The *_confidence column holds one value per tag, in the same order. Blank means not stated, not zero.
- Three free datasets as CSV and JSON: bottle label facts with our style, region, cask and peat tags, distilleries with owner and stated capacity, and SMWS codes.
- Every tag carries a confidence level (explicit, derived or inferred), so you can filter out house-style guesses.
- No retailer prices, descriptions or images, and no Whiskybase ratings: only facts we recorded ourselves.
Source: Whiskipedia distillery articles. Updated 23 October 2026. Free to reuse with a link to this page.
About this data: method, downloads and sources
How we did it
Bottles come from our catalogue: the name, stated age, vintage, strength and size we record for each bottle, and the tags we use to file it on this site. Each tag has a confidence level. Explicit means it is stated in the bottle name or a structured field; derived means a fixed rule over explicit facts or our producer records (for example, a distillery’s region); inferred means house style or a bottler’s series, which is usually but not always right.
Distilleries come from our distillery records, which also feed Whiskipedia. Owners are dated, because they change. Capacity is the stated annual capacity in litres of pure alcohol, not what was produced, and is blank where no figure is stated. Closed sites that we know only from the historical record have no owner or capacity.
SMWS codes come from the code register Whiskipedia keeps. The codes are the Society’s own numbering; we record which distillery or producer each one belongs to.
Versions. Each build is a release named by its date. Field names and meanings stay fixed within a schema version (uisge-open-datasets/v1); a breaking change starts v2. The manifest lists each file’s row count and SHA-256 checksum, so you can tell whether a file changed between downloads.
Licence. We intend to release these datasets under Creative Commons Attribution 4.0 (CC BY 4.0): reuse them for anything, with credit to “Uisge Beatha (uisgebeatha.co.uk)” and the release date. This licence is awaiting the owner’s confirmation; until it is confirmed, please ask before republishing the data in bulk.
These are catalogue facts, not shopping or investment advice. They say nothing about whether a bottle is worth buying or will change in value.
Download the data
- Bottle catalogue facts (CSV)
- Distilleries (CSV)
- SMWS codes (CSV)
- Manifest: fields, row counts, release and licence (JSON)
Free to reuse with a link to this page.
Sources
- Whiskipedia distillery articles
- Whiskipedia SMWS code register
- Creative Commons Attribution 4.0 licence
Prices are the shelf prices we recorded at UK retailers on the dates shown and change daily. Uisge Beatha compares prices; it does not sell whisky or give investment advice. Please enjoy whisky responsibly: drinkaware.co.uk.