Specialty Coffee Roaster Scraper (Shopify + SCA Flavors) avatar

Specialty Coffee Roaster Scraper (Shopify + SCA Flavors)

Pricing

from $0.00005 / actor start

Go to Apify Store
Specialty Coffee Roaster Scraper (Shopify + SCA Flavors)

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

DataEngineered

DataEngineered

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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 rowsource_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

FieldDescription
source_roaster, titleRoaster brand + coffee name
origin_country, origin_regionProducing origin, where stated
altitude_min_meters, altitude_max_metersGrowing elevation (masl)
process_methodWashed / Natural / Honey / Anaerobic / Other
roast_levelLight / Medium / Dark
varietalse.g. Gesha, SL28
weight_grams, price_currency, price_valueUnit weight + sanitized retail price
tasting_notes_sca_nodes; -separated SCA paths, e.g. Fruity > Berry > Blueberry
tasting_notes_confidence0–1 confidence of the flavor mapping
quality_flaggood (verified tier) or questionable
source_platform, source_url, retrieved_at, dataset_versionFull 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

  1. For each roaster, fetch the public Shopify product catalog (/products.json), respecting robots.txt.
  2. Detect coffee products and extract structured attributes from tags + descriptions.
  3. Normalize tasting notes to the SCA Flavor Wheel and sanitize prices to a plausible band.
  4. 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.