Sample Header Ad - 728x90

How to get stock quote from Yahoo! Finance API into macOS Shortcuts

0 votes
1 answer
1676 views
I am trying to create a macOS shortcut (with the Shortcuts app) that fetches some stock quotes. According to this web page , here is how to use the JSON structure: 1. Open the Shortcuts app 2. Click on the + sign to create a new shortcut 3. Add action Get contents of URL 4. Insert desired URL 5. Add action Get dictionary from input (which automatically gets the dictionary from the URL) 6. Add action Get dictionary value 7. In field key insert fact 8. Add Show result which will automatically set the variable name to Dictionary Value 9. Add action Show result 10. Then click on the play button 11. Authorise access 12. A pop-up message appears. I looked up how Yahoo! Finance the API looks like thanks to this other web page which reveals the following API structure: { "quoteSummary": { "result": [ { "financialData": { "maxAge": 86400, "currentPrice": { "raw": 144.49, "fmt": "144.49" }, "targetHighPrice": { "raw": 214, "fmt": "214.00" }, "targetLowPrice": { "raw": 122, "fmt": "122.00" }, "targetMeanPrice": { "raw": 176.69, "fmt": "176.69" }, "targetMedianPrice": { "raw": 176, "fmt": "176.00" }, "recommendationMean": { "raw": 1.9, "fmt": "1.90" }, "recommendationKey": "buy", "numberOfAnalystOpinions": { "raw": 41, "fmt": "41", "longFmt": "41" }, "totalCash": { "raw": 48304001024, "fmt": "48.3B", "longFmt": "48,304,001,024" }, "totalCashPerShare": { "raw": 3.036, "fmt": "3.04" }, "ebitda": { "raw": 130541002752, "fmt": "130.54B", "longFmt": "130,541,002,752" }, "totalDebt": { "raw": 132480000000, "fmt": "132.48B", "longFmt": "132,480,000,000" }, "quickRatio": { "raw": 0.709, "fmt": "0.71" }, "currentRatio": { "raw": 0.879, "fmt": "0.88" }, "totalRevenue": { "raw": 394328014848, "fmt": "394.33B", "longFmt": "394,328,014,848" }, "debtToEquity": { "raw": 261.446, "fmt": "261.45" }, "revenuePerShare": { "raw": 24.317, "fmt": "24.32" }, "returnOnAssets": { "raw": 0.21214001, "fmt": "21.21%" }, "returnOnEquity": { "raw": 1.75459, "fmt": "175.46%" }, "grossProfits": { "raw": 170782000000, "fmt": "170.78B", "longFmt": "170,782,000,000" }, "freeCashflow": { "raw": 90215251968, "fmt": "90.22B", "longFmt": "90,215,251,968" }, "operatingCashflow": { "raw": 122151002112, "fmt": "122.15B", "longFmt": "122,151,002,112" }, "earningsGrowth": { "raw": 0.048, "fmt": "4.80%" }, "revenueGrowth": { "raw": 0.081, "fmt": "8.10%" }, "grossMargins": { "raw": 0.43310001, "fmt": "43.31%" }, "ebitdaMargins": { "raw": 0.33105, "fmt": "33.11%" }, "operatingMargins": { "raw": 0.30289, "fmt": "30.29%" }, "profitMargins": { "raw": 0.2531, "fmt": "25.31%" }, "financialCurrency": "USD" } } ], "error": null } } And here are the steps I made to get today's AAPL stock valuation: 1. Open the Shortcuts app 2. Click on the + sign to create a new shortcut 3. Add action Get contents of URL 4. Insert URL https://query1.finance.yahoo.com/v11/finance/quoteSummary/AAPL 5. Add action Get dictionary from input (which automatically gets the dictionary from the URL) 6. Add action Get dictionary value 7. In field key insert financialData 8. Add action Set variable 9. Set field Variable Name to financialDataVar 10. Add action Get dictionary value 11. In field key insert currentPrice 12. Add action Set variable 13. Set field Variable Name to currentPriceVar 14. Add action Get dictionary value 15. In field key insert raw 16. Add action Set variable 17. Set field Variable Name to rawVar 18. Add action Text 19. In the text field, add on under the other: financialDataVar, currentPriceVar, and rawVar 20. Add action Show alert 21. Instead of Do you want to continue? insert Text Clicking on the play button shows a pop-up window, but, unfortunately, without any content. My questions: 1. What steps do I have to do in order to get AAPL current stock price when I click on the play button? 2. Is there a way to ask the user to input their own ticker (say MSFT, or TSLA, etc.)?
Asked by pdeli (695 rep)
Dec 13, 2022, 03:35 PM
Last activity: May 14, 2025, 09:04 PM