Yahoo Finance Scraper — Quotes, Fundamentals, Options & News

Export Yahoo Finance quotes, company fundamentals, option chains, and market news for public ticker symbols without an account or API key.

Data fields

FieldTypeDescription
recordTypestringValue exported as recordType.
symbolstringValue exported as symbol.
sourceUrlstringValue exported as sourceUrl.
scrapedAtstringValue exported as scrapedAt.
currencystring | nullValue exported as currency.
exchangestring | nullValue exported as exchange.
marketPricenumber | nullValue exported as marketPrice.
previousClosenumber | nullValue exported as previousClose.

Input preview

symbolsYahoo Finance symbols *
dataTypesData types
maxNewsPerSymbolMaximum news articles per symbol
maxOptionContractsPerSymbolMaximum contracts per call/put side
maxRunSecondsMaximum run time

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

Ready-to-run examples

Open a saved Apify example, adjust the input, and run the actor in your own Apify account.

View all examples

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Export current Yahoo Finance quotes, company fundamentals, option contracts, and financial news for stocks, ETFs, crypto, forex, indices, funds, and futures.

Use one scheduled Actor run to feed market dashboards, watchlists, valuation screens, option analysis, news monitoring, spreadsheets, databases, APIs, or AI agents. No Yahoo account or API key is required.

What data can you export?

  • Quote snapshots: market price, previous close, market cap, currency, exchange, and company name.
  • Company fundamentals: sector, industry, website, employee count, business summary, valuation ratios, beta, revenue, gross profit, EBITDA, recommendation, and analyst target.
  • Option chains: calls and puts with expiration, strike, bid, ask, last price, volume, open interest, implied volatility, and moneyness.
  • Financial news: headline, publisher, publication time, article URL, and thumbnail.
  • Provenance: requested symbol, record type, Yahoo Finance source URL, and scrape timestamp on every row.

Input example

{
  "symbols": ["AAPL", "MSFT", "SPY"],
  "dataTypes": ["quote", "fundamentals", "options", "news"],
  "maxNewsPerSymbol": 10,
  "maxOptionContractsPerSymbol": 100,
  "maxRunSeconds": 240
}

Output examples

Quote row:

{
  "recordType": "quote",
  "symbol": "AAPL",
  "companyName": "Apple Inc.",
  "currency": "USD",
  "exchange": "NMS",
  "marketPrice": 319.97,
  "previousClose": 318.45,
  "marketCap": 4740000000000,
  "sourceUrl": "https://finance.yahoo.com/quote/AAPL",
  "scrapedAt": "2026-09-06T08:09:00.000Z"
}

Option row:

{
  "recordType": "options",
  "symbol": "AAPL",
  "optionType": "call",
  "expiration": "2026-09-11T00:00:00.000Z",
  "contractSymbol": "AAPL260911C00320000",
  "strike": 320,
  "bid": 4.1,
  "ask": 4.25,
  "openInterest": 842,
  "impliedVolatility": 0.24,
  "inTheMoney": false,
  "sourceUrl": "https://finance.yahoo.com/quote/AAPL/options",
  "scrapedAt": "2026-09-06T08:09:00.000Z"
}

Input settings

Setting JSON key Description
Yahoo Finance symbols symbols Required list of 1–50 symbols such as AAPL, SPY, BTC-USD, EURUSD=X, ^GSPC, or GC=F.
Data types dataTypes Choose quote, fundamentals, options, and/or news.
News limit maxNewsPerSymbol Maximum 1–50 news rows per symbol.
Option limit maxOptionContractsPerSymbol Maximum 1–1,000 contracts per call/put side for the nearest available expiration.
Run deadline maxRunSeconds Shared 60–270 second deadline; completed rows are retained if the deadline is reached.

Who is it for?

  • Portfolio and investment teams maintaining recurring watchlists and market dashboards.
  • Analysts and researchers comparing public fundamentals and near-term option liquidity.
  • Data engineers loading finance snapshots into warehouses, spreadsheets, or alerting systems.
  • Developers and AI teams supplying current public market context to applications and agents.

Common use cases

  • Schedule a watchlist export before market open.
  • Enrich an internal security master with public company profile and valuation fields.
  • Compare near-term option liquidity and implied volatility.
  • Monitor symbol-related headlines and route new articles through a webhook.
  • Load current finance records into Google Sheets, BigQuery, Snowflake, or a BI dashboard.
  • Give an AI agent fresh public market context before generating a report.

Tips and limits

  • Use Yahoo Finance ticker notation exactly, including suffixes such as BTC-USD, EURUSD=X, or ^GSPC.
  • Start with one symbol and only the data types you need.
  • Option output covers the nearest available expiration in the initial release.
  • Fundamentals vary by asset class and reporting coverage.
  • News is selected by Yahoo Finance for the requested symbol and can contain related-market coverage.
  • Yahoo Finance can throttle public requests. Retry a failed run later rather than increasing concurrency.
  • Source data can change after publication; store scrape timestamps with downstream records.

API usage

Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/yahoo-finance-scraper').call({
  symbols: ['AAPL', 'MSFT'],
  dataTypes: ['quote', 'fundamentals', 'news'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/yahoo-finance-scraper').call(run_input={
    'symbols': ['AAPL', 'MSFT'],
    'dataTypes': ['quote', 'fundamentals', 'news'],
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~yahoo-finance-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"symbols":["AAPL","MSFT"],"dataTypes":["quote","fundamentals","news"]}'

Use with MCP and AI agents

Connect an MCP-compatible client to:

https://mcp.apify.com?tools=fetch_cat/yahoo-finance-scraper

Then ask: “Fetch the latest quote, fundamentals, and news for AAPL and MSFT.”

Support

Open an issue from the Actor's Issues tab and include the symbol, selected data types, and run URL. Do not include credentials or private account data.

Common questions

Questions and answers reused from the canonical actor README.

Does it require a Yahoo Finance account?

No. It exports data available on Yahoo Finance's public surfaces.

Can I scrape several symbols in one run?

Yes. Submit up to 50 symbols. Each output row retains its requested symbol.

Why are some fundamentals empty?

Coverage varies by asset class and issuer. The Actor does not invent values when Yahoo Finance does not report them.

Does it return every option expiration?

The initial release returns contracts for the nearest available expiration, bounded by your per-side limit.

What happens if one symbol is invalid?

The Actor logs that symbol and continues with the others. If no requested symbol produces usable output, the run fails with an actionable message.