Skip to main content

Start with real sample records

Load a small dataset before setting up an account. The Whiskey, Beer and California Wine Label Metadata sample contains 150 approval records and 28 fields, with 50 records in each cohort. The download below requires no Kaggle login, API key or Python packages. Use names, extracted ABV and size to seed a whiskey or beer interface; explore vintage, varietal and appellation fields for California-origin wine. Keep your own product IDs: a TTB approval ID identifies a label record, not a unique bottle. This fixed sample has approval dates August 13–16, 2026, from an August 20, 2026 source snapshot.

Load a 50-record seed file

Save this as load_sample.py and run python3 load_sample.py. It downloads the archive, verifies the exact CSV, preserves every field as a string, and writes seed-records.json for the selected cohort. Change cohort to either other value shown below to load beer or wine records.
For a product list, the columns you will use are BRAND_NAME, PRODUCT_NAME, CLASS_NAME (the recorded TTB class/type label, for example “straight bourbon whisky”), OCR_ABV, OCR_VOLUME with OCR_VOLUME_UNIT, BARCODE_VALUE, APPROVAL_DATE and TTB_ID. There is no producer, applicant or company name column: PERMIT_NUMBER identifies the permit holder that filed the label, which is not necessarily the producer or brand owner, so show it as a permit, not as a producer. Proof is not a column; derive it as twice OCR_ABV and leave it blank where OCR_ABV is blank. Read DATA_DICTIONARY.md, DATA_CARD.md and LICENSE.md in the downloaded dataset for the full field list and attribution. TTB_ID, PERMIT_NUMBER and BARCODE_VALUE stay strings so leading zeros and punctuation survive. Blank cells mean no value was provided in this published sample, not zero; an extracted field can be missing even when present on a label. Keep OCR_VOLUME with OCR_VOLUME_UNIT; OCR_ABV is extracted ABV, not proof. Parse nonblank GRAPE_VARIETALS as JSON if your app needs an array. The sample does not supply a verified producer-ownership relationship. This sample has 51 main barcodes, 139 nonblank extracted ABV values and 125 nonblank volume/unit pairs. Names, extracted attributes and wine fields can be missing or incorrect. California origin is distinct from applicant address or verified vineyard location; domestic malt classification does not establish American ownership. The cohort label is this sample’s selection rule, not a complete definition of whiskey. No images or OCR text are included, and approval records do not establish current sale or market completeness.

Use and attribute the sample

The identified 150-row metadata sample is licensed under CC BY 4.0 for COLA Cloud’s rights in its selection and derived/published fields, including commercial reuse with attribution. Link to the dataset and license and indicate changes; third-party rights, including trademarks, are not licensed, and underlying government records are unaffected. For the seed file above, a suitable credit is:
Whiskey, Beer and California Wine Label Metadata — COLA Cloud LLC, 2026; based on TTB Public COLA Registry records; CC BY 4.0. Changes: selected one cohort and converted CSV to JSON.
The separate 1,000-record sample pack and Python/notebook evaluation workflow use a different sample scope and data terms. Their source archive is not covered by this 150-row CC BY grant.

Choose your next workflow

For larger or regularly updated data, use the authenticated API below or licensed delivery with agreed records, fields and date range. API calls use your account’s shared quotas; the sample does not enable anonymous API access.

1. Create an Account

1

Sign up

Visit app.colacloud.us/auth/register and sign up with email or Google.
2

Verify email

Check your inbox and verify your email address.
3

Generate an API key

Go to Dashboard > API Keys and click Create API Key. Copy your key — it won’t be shown again.

2. Make Your First Request

Search for bourbon labels:

3. Look Up a Product by Barcode

Find COLAs associated with a UPC/EAN barcode:
Use /api/v1/colas?barcode_value=012345678901 when you want to filter COLA Search results by the record’s main barcode and combine that with other /colas filters. Use /api/v1/barcode/{barcode_value} when you want the dedicated enrichment lookup across extracted barcode rows.

4. Check Your Usage

Default Date Range

When no date filters are provided, the /colas endpoint returns results from the last 365 days. The response includes a defaults_applied field indicating when this default is active:
Pass approval_date_from or approval_date_to to override this default and query the full historical dataset.

Search Filters

q is a general text search across brand, product, class, permit number, applicant/company name, and barcode-shaped queries. Use it when you know a word but not which field it belongs to. Common /colas filters include:
product_type is a separate TTB field and does not have to match the root of the consumer-facing category path. Category paths are variable-depth and can validly end at a non-leaf node. Read the category field contract.

Next Steps

Authentication

API key usage, rate limits, and pagination

API Reference

Interactive API playground

SDKs & Tools

Python, JavaScript, CLI, and MCP server

Dataset Schema

Full schema with 100+ columns