← All solutions & integration guides

Yahoo Finance integration guide

Read a Yahoo Finance chart response

A chart endpoint can respond successfully while omitting the CORS headers a browser needs. Use an encoded proxy URL for that request path, and check the returned status before parsing the chart data.

Updated

Fetch the chart endpoint

This example requests MSFT chart data. Replace the symbol and add any chart query parameters to the target URL before passing it to URLSearchParams. The result retains Yahoo’s response structure.

const params = new URLSearchParams({
  key: 'YOUR_API_KEY',
  url: 'https://query1.finance.yahoo.com/v8/finance/chart/MSFT',
});
const response = await fetch('https://corsproxy.io/?' + params);
if (!response.ok) {
  throw new Error('HTTP ' + response.status + ': ' + await response.text());
}
const data = await response.json();
console.log(data);

Inspect the response before using prices

Check both the HTTP status and the provider’s response body. Chart errors, unavailable symbols, authentication requirements, or throttling can prevent usable data even when your proxy URL is correct. Treat missing chart data as a retrieval error.

Control freshness and provider dependency

Choose a suitable cache lifetime for repeated chart reads on Production. Show the data timestamp and a clear unavailable state when the provider rejects a request. Endpoint behavior can change; test the exact URL your app uses.