Environment
Self-Hosted (Docker)
System
Chrome 153
Version
Dashy version 4.7.0
Describe the problem
[BUG] stock-price-chart widget crashes: Alpha Vantage TIME_SERIES_INTRADAY is now a premium endpoint
Environment
- Dashy version: 4.7.0 (Proxmox LXC, community-scripts install, Debian 13)
- Browser: Brave (Chromium)
Config
- type: stock-price-chart
options:
stock: GME
apiKey:
Describe the problem
The widget always shows "Unable to fetch stock price data". Browser console:
TypeError: Cannot convert undefined or null to object
Root cause
- The widget calls:
function=TIME_SERIES_INTRADAY&symbol=GME&interval=30min&apikey=...
With a free API key, Alpha Vantage now returns:
{"Information": "Thank you for using Alpha Vantage! This is a premium endpoint..."}
- The widget only checks for
data['Error Message'], so the Information
response is not caught. processData() then reads
data['Time Series (30min)'], which is undefined, and
Object.keys(undefined) throws.
Verification
- Same key works fine with
function=TIME_SERIES_DAILY (returns
Time Series (Daily) with normal OHLCV data).
TIME_SERIES_INTRADAY and TIME_SERIES_DAILY_ADJUSTED both return the
premium Information message with a free key.
Suggested fix
- Switch the default endpoint to
TIME_SERIES_DAILY (free tier) and read
Time Series (Daily), or make the function/interval configurable.
- Treat
data.Information and data.Note as errors (Alpha Vantage uses
these for premium/rate-limit responses), and show that message to the
user instead of a generic crash.
- Update the docs, which currently state the widget works on the free plan.
Additional info
The maintainer noted in the 4.0.0 release that several widgets are outdated due to upstream API changes; this appears to be one of them. Alpha Vantage has repeatedly moved endpoints between free and premium tiers, so making the function configurable (or defaulting to TIME_SERIES_DAILY) and handling the Information/Note response fields would make the widget more robust against future changes.
Workaround for other users: the TradingView "Market Quotes" embed widget, served from user-data and loaded via an iframe widget, works without an API key.
Please tick the boxes
Environment
Self-Hosted (Docker)
System
Chrome 153
Version
Dashy version 4.7.0
Describe the problem
[BUG] stock-price-chart widget crashes: Alpha Vantage TIME_SERIES_INTRADAY is now a premium endpoint
Environment
Config
options:
stock: GME
apiKey:
Describe the problem
The widget always shows "Unable to fetch stock price data". Browser console:
TypeError: Cannot convert undefined or null to objectRoot cause
function=TIME_SERIES_INTRADAY&symbol=GME&interval=30min&apikey=...With a free API key, Alpha Vantage now returns:
{"Information": "Thank you for using Alpha Vantage! This is a premium endpoint..."}data['Error Message'], so theInformationresponse is not caught.
processData()then readsdata['Time Series (30min)'], which is undefined, andObject.keys(undefined)throws.Verification
function=TIME_SERIES_DAILY(returnsTime Series (Daily)with normal OHLCV data).TIME_SERIES_INTRADAYandTIME_SERIES_DAILY_ADJUSTEDboth return thepremium
Informationmessage with a free key.Suggested fix
TIME_SERIES_DAILY(free tier) and readTime Series (Daily), or make the function/interval configurable.data.Informationanddata.Noteas errors (Alpha Vantage usesthese for premium/rate-limit responses), and show that message to the
user instead of a generic crash.
Additional info
The maintainer noted in the 4.0.0 release that several widgets are outdated due to upstream API changes; this appears to be one of them. Alpha Vantage has repeatedly moved endpoints between free and premium tiers, so making the function configurable (or defaulting to TIME_SERIES_DAILY) and handling the
Information/Noteresponse fields would make the widget more robust against future changes.Workaround for other users: the TradingView "Market Quotes" embed widget, served from user-data and loaded via an iframe widget, works without an API key.
Please tick the boxes