URL Schemes
Beanstats supports URL schemes (deep links) for automation and integration with external tools like Raycast, Alfred, Shortcuts, and Obsidian.
Overview
All URLs use the beanstats:// scheme and can be used to:
- Navigate to specific brews or beans
- Open forms with pre-selected data
- Trigger actions like scale connection or export
- Quick-access freeze entries via NFC tags
Supported URLs
Brew Actions
| URL | Action |
|---|---|
beanstats://brew/new | Open new brew form |
beanstats://brew/new?bean={id} | New brew with bean pre-selected |
beanstats://brew/new?method={id} | New brew with method pre-selected |
beanstats://brew/new?bean={id}&method={id} | New brew with both pre-selected |
beanstats://brew/new?bean={id}&weight={grams} | New brew with bean and weight pre-filled |
beanstats://brew/{id} | Navigate to brew detail |
beanstats://brew/{id}/rate | Open rating sheet for brew |
beanstats://brew/{id}/json | Copy brew as JSON to clipboard |
beanstats://brew/{id}/repeat | Open repeat brew form |
Bean Actions
| URL | Action |
|---|---|
beanstats://bean/new | Open new bean form |
beanstats://bean/{id} | Navigate to bean detail |
Freeze Actions
| URL | Action |
|---|---|
beanstats://freeze/{tag} | Open freeze entry (thaw form) |
The freeze URL uses human-readable tags (e.g., ABC12) instead of UUIDs for convenience. This is the publicly supported deep link format.
Scale Actions
| URL | Action |
|---|---|
beanstats://scale/connect | Start scanning for Bluetooth scales |
beanstats://scale/tare | Tare connected scale |
Stats Actions
| URL | Action |
|---|---|
beanstats://stats | Navigate to Statistics view |
beanstats://stats/today | Navigate to today’s stats |
Export Actions
| URL | Action |
|---|---|
beanstats://export/brews?format=json | Export brews as JSON |
beanstats://export/brews?format=csv | Export brews as CSV |
beanstats://export/brews?format=json&from=2026-01-01 | Export with start date filter |
beanstats://export/brews?format=json&from=2026-01-01&to=2026-01-31 | Export date range |
Entity IDs
Entity IDs (for beans, brews, methods) are UUID strings. These IDs:
- Are stable across app launches, reinstalls, and iCloud sync
- Are human-readable standard UUID format
- Are URL-safe
Example ID: 550e8400-e29b-41d4-a716-446655440000
Use Cases
iOS Shortcuts
Create Shortcuts for common actions:
- Quick brew logging with your default bean
- Scale connection shortcut
- Export weekly stats
Example Shortcut action:
- Add “Open URLs” action
- Enter
beanstats://brew/new - Run to open the brew form
Raycast / Alfred
Create quick launcher commands:
# Start a new brew
open "beanstats://brew/new"
# Check your stats
open "beanstats://stats"
# Connect to scale
open "beanstats://scale/connect"Obsidian Integration
Link to specific beans or brews in your coffee notes:
Today I brewed [Ethiopian Yirgacheffe](beanstats://bean/550e8400-e29b-41d4-a716-446655440000)NFC Predose Tags
Write NFC tags with pre-dosed bean weight for instant brew setup:
beanstats://brew/new?bean=550e8400-e29b-41d4-a716-446655440000&weight=18.0Weight is always stored in grams in the URL regardless of the app’s display unit system. See Bean Tracking for how to write these tags.
QR Codes for Freeze Tags
Generate QR codes for freeze entries to attach to frozen coffee bags:
- Create a freeze entry in Beanstats
- Note the tag (e.g.,
ABC12) - Generate a QR code for
beanstats://freeze/ABC12 - Attach to your frozen coffee bag
- Scan to quickly open the thaw form
Alternatively, use NFC tags - see Bean Tracking for details.
Related
- Siri Shortcuts - Voice commands and Shortcuts app integration
- Webhooks - Push notifications to external services
- Export - Data export functionality