Yahoo Finance Scraper — Quotes, Fundamentals, Options & News avatar

Yahoo Finance Scraper — Quotes, Fundamentals, Options & News

Pricing

from $0.60 / 1,000 finance records

Go to Apify Store
Yahoo Finance Scraper — Quotes, Fundamentals, Options & News

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.

Pricing

from $0.60 / 1,000 finance records

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

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
}

Ready-to-run examples

Open a public example to inspect its input, run it, or reuse it as a task:

Quick quote check

{"symbols":["AAPL","MSFT"],"dataTypes":["quote"]}

Options and news watchlist

{"symbols":["SPY","QQQ"],"dataTypes":["options","news"],"maxNewsPerSymbol":10,"maxOptionContractsPerSymbol":50}

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

SettingJSON keyDescription
Yahoo Finance symbolssymbolsRequired list of 1–50 symbols such as AAPL, SPY, BTC-USD, EURUSD=X, ^GSPC, or GC=F.
Data typesdataTypesChoose quote, fundamentals, options, and/or news.
News limitmaxNewsPerSymbolMaximum 1–50 news rows per symbol.
Option limitmaxOptionContractsPerSymbolMaximum 1–1,000 contracts per call/put side for the nearest available expiration.
Run deadlinemaxRunSecondsShared 60–270 second deadline; completed rows are retained if the deadline is reached.

Output fields

RecordFields
AllrecordType, symbol, sourceUrl, scrapedAt
QuotecompanyName, currency, exchange, marketPrice, previousClose, marketCap
FundamentalscompanyName, sector, industry, website, employees, businessSummary, trailingPE, forwardPE, dividendYield, beta, revenue, grossProfit, ebitda, recommendationKey, targetMeanPrice
OptionsoptionType, expiration, contractSymbol, strike, lastPrice, bid, ask, volume, openInterest, impliedVolatility, inTheMoney
Newsheadline, publisher, publishedAt, articleUrl, thumbnailUrl

Fields are included only when Yahoo Finance reports a truthful value for that symbol and record type. For example, crypto symbols generally have no company employee count, and some symbols have no listed options.

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.

Pricing

This Actor uses pay-per-event pricing:

  • start is charged once when a valid run begins.
  • result is charged once for each quote, fundamentals, option, or news row saved successfully.

See the live Pricing tab for current rates and account-tier discounts. Unsupported symbols and error diagnostics are not charged as results.

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.”

FAQ

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.

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.