Specialty Coffee Roaster Scraper (Shopify + SCA Flavors)
Pricing
from $0.00005 / actor start
Specialty Coffee Roaster Scraper (Shopify + SCA Flavors)
Scrape specialty-coffee products from roaster storefronts: origin, process, roast, price, and tasting notes mapped to the SCA Flavor Wheel — a source URL on every record. Export CSV/JSON/Excel.
Pricing
from $0.00005 / actor start
Rating
0.0
(0)
Developer
Ichlibitiche
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Specialty Coffee Roaster Scraper 🫘 — Shopify + SCA Flavor Wheel
Scrape specialty-coffee data — products, prices, origins, and tasting notes — straight from coffee roasters' Shopify storefronts. Unlike a generic Shopify scraper, this coffee scraper understands coffee: it extracts origin, process, roast, varietals, altitude, weight, and price, and normalizes free-text tasting notes into the SCA (Specialty Coffee Association) Flavor Wheel — with a source URL on every record so any fact is re-verifiable.
Turn hundreds of roaster catalogs into one clean, structured coffee dataset you can export to CSV, JSON, or Excel.
What this coffee scraper does
- 🌍 Structured coffee data — origin country/region, altitude, process method, roast level, varietals, weight, and price per product.
- 🎯 SCA Flavor Wheel mapping — deterministic 3-tier flavor paths (
Fruity > Berry > Blueberry), not guessed. - 🔗 Provenance on every row —
source_url+ timestamp to trace and re-verify each coffee. - 📋 Curated default list — run with no input to scrape a bundled set of vetted specialty roasters, or pass your own
roasterUrls. - 🤝 Polite & robots.txt-compliant — skips disallowed stores, honors crawl delays (on by default).
- 🔎 Filters — by origin country, verified tier, or SCA-mapped only.
Output — one item per coffee
| Field | Description |
|---|---|
source_roaster, title | Roaster brand + coffee name |
origin_country, origin_region | Producing origin, where stated |
altitude_min_meters, altitude_max_meters | Growing elevation (masl) |
process_method | Washed / Natural / Honey / Anaerobic / Other |
roast_level | Light / Medium / Dark |
varietals | e.g. Gesha, SL28 |
weight_grams, price_currency, price_value | Unit weight + sanitized retail price |
tasting_notes_sca_nodes | ; -separated SCA paths, e.g. Fruity > Berry > Blueberry |
tasting_notes_confidence | 0–1 confidence of the flavor mapping |
quality_flag | good (verified tier) or questionable |
source_platform, source_url, retrieved_at, dataset_version | Full provenance |
Export from the dataset as CSV, JSON, Excel, or via API.
Input
Run with no input to scrape the built-in curated roaster list, or configure:
{"roasterUrls": ["https://onyxcoffeelab.com", "https://sey.coffee"],"maxRoasters": 10,"maxPagesPerStore": 5,"filterCountry": "Ethiopia","onlyMappedFlavors": false,"onlyVerifiedTier": false,"respectRobots": true,"requestDelaySecs": 0.5}
How it works
- For each roaster, fetch the public Shopify product catalog (
/products.json), respectingrobots.txt. - Detect coffee products and extract structured attributes from tags + descriptions.
- Normalize tasting notes to the SCA Flavor Wheel and sanitize prices to a plausible band.
- Push one clean record per coffee to the dataset.
Use cases
- Coffee price monitoring and market/assortment research across roasters, origins, and price bands.
- Coffee subscription & recommendation apps (structured product + flavor data).
- Flavor-based search / discovery on the SCA graph.
- ML / RAG corpora and coffee data APIs.
FAQ
Which roasters does it support? Any roaster on a Shopify storefront (the /products.json catalog). Pass your own roasterUrls or use the bundled curated list.
Is scraping these storefronts allowed? The Actor only reads public product catalogs and is robots.txt-compliant by default — it skips stores that disallow crawling and honors crawl delays.
What makes it different from a generic Shopify scraper? It's coffee-aware: origin/process/roast/varietal parsing plus SCA Flavor Wheel normalization and full provenance — data a generic scraper won't give you.
Why are some fields empty? Coverage is honest and uneven — not every storefront publishes farm-level data. Use onlyVerifiedTier when you need complete rows.
Can I get the whole thing as a ready-made dataset? Yes — a curated snapshot of 8,000+ coffees from 280+ roasters (SQLite + CSV + JSON) and custom recurring feeds are available separately: specialty-coffee-roasterdb.pages.dev · RoasterDB@proton.me.
Keywords: coffee scraper, specialty coffee data, Shopify coffee scraper, coffee dataset, coffee price scraper, SCA flavor wheel, coffee tasting notes, roaster data, coffee origin data, coffee API.