← All posts
tutorialfinance

How to build a crypto and stock dashboard with live Yahoo Finance data

Mahesh Naidu·5 min read

A basic portfolio dashboard needs three things: a quote for whatever the user holds, a way to discover what else is out there, and some sense of market sentiment. The /finance namespace covers all three for both equities and crypto.

Stock and crypto quotes — same underlying source, different ticker format

fetch("https://aplicious.com/api/v1/finance/stock/quote?symbol=AAPL", {
  headers: { "X-API-Key": "lapi_live_••••" },
});

fetch("https://aplicious.com/api/v1/finance/crypto/price?coin=bitcoin", {
  headers: { "X-API-Key": "lapi_live_••••" },
});

Stock quotes come from Yahoo Finance's unofficial endpoint — no API key required on our end, which means no upstream billing relationship to pass through to you. Crypto prices include 24h and 7d change, market cap, and circulating supply, not just a current price.

Discovery: top cryptocurrencies by market cap

fetch("https://aplicious.com/api/v1/finance/crypto/list?limit=20", {
  headers: { "X-API-Key": "lapi_live_••••" },
});

This is the call to power a “top 20 coins” leaderboard without maintaining your own list of which coins are currently relevant — the ranking is live, not a hand-maintained list that goes stale the moment a new coin breaks into the top 20.

Market sentiment: Crypto Fear & Greed Index

/crypto-fear-greedreturns the standard 0-100 sentiment score for the overall crypto market, with a classification label and 7-day history. This is the kind of context widget that makes a portfolio dashboard feel like more than a price ticker — it answers “is the market scared or greedy right now” without the user having to leave your app to check.

Putting together a dashboard load

async function loadDashboard(holdings: { symbol: string; type: "stock" | "crypto" }[]) {
  const headers = { "X-API-Key": process.env.APLICIOUS_KEY! };
  const quotes = await Promise.all(
    holdings.map(h =>
      fetch(
        h.type === "stock"
          ? `https://aplicious.com/api/v1/finance/stock/quote?symbol=${h.symbol}`
          : `https://aplicious.com/api/v1/finance/crypto/price?coin=${h.symbol}`,
        { headers }
      ).then(r => r.json())
    )
  );
  return quotes.map(q => q.data);
}

One key, one rate limit budget, both asset classes — no separate vendor relationship for equities versus crypto data.

Try APlicious free
One key. 34 live namespaces. 500 free calls per month — no credit card required.
Get your free API key →
← Back to all posts