# Changelog of Yahoo Finance Scraper, API & MCP – History, Options, Financials (`akhil_rajesh/yahoo-finance-scraper`) Actor

- **URL**: https://apify.com/akhil_rajesh/yahoo-finance-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/akhil_rajesh/yahoo-finance-scraper.md

## Changelog

### 0.3

- A live endpoint for AI agents (Apify Standby): an MCP server at `/mcp` with ten tools (quotes, price history, options chains, financial statements, analyst data, ownership, news, SEC filings, market movers, symbol search), and the same as plain HTTP endpoints, plus `POST /run` with the Actor's whole input. Answers come from the same code as a run, charged per row the same way.

### 0.2

- Price history as one row per ticker (`historyFormat: series`), charged as one result: long histories cost a fraction.
- Pre-market and after-hours bars with their session (`includePrePost`).
- Holders (top institutions, funds, insiders) and insider transactions (`includeOwnership`); analyst rating changes, earnings surprises and estimates (`includeAnalysis`); SEC filings (`includeSecFilings`). One quoteSummary request per ticker for all of them.
- Options: all expirations or chosen dates, calls or puts, strike range, minimum volume and open interest (applied before charging), Greeks from the T-bill rate and the dividend yield, and one row per expiration (`optionsFormat: chain`).
- Day gainers, day losers and most actives for 20 markets besides the US (`screenerRegion`; India's from the NSE); trending tickers, most watched, 52-week gainers and losers, ETF and crypto lists.
- Symbol search by word (`searchQueries`), ISINs in `tickers`, compact rows for AI agents (`compactOutput`).
- Results cost $0.50 per 1,000.
- Indian listings Yahoo sends without a market cap get one from the other exchange's share count (0.1.9).
- Checked from several angles before release (2026-10-17), with these changes:
  - Greeks use a volatility solved from each contract's own price with the same rate and carry (`greeksImpliedVolatilityPercent`; Yahoo's own is solved with neither). The T-bill rate is converted from Yahoo's discount rate; an expiration a week or more away takes its carry from put-call parity, so a strike's call and put solve to one volatility; AM-settled index contracts (SPX) end at 9:30. An in-the-money contract quoted at its intrinsic value uses Yahoo's volatility, and `greeksVolatilitySource` says which. A T-bill rate that doesn't load is named, with the tickers left without Greeks.
  - Other markets' screeners: the $2 billion floor converted at Yahoo's exchange rate (pence and cents for London and Johannesburg) and no $5 price floor (it dropped large companies with low share prices); each list holds the market's own companies (India's from the NSE, no Cboe or order-book lines in London, no foreign companies' Frankfurt or Xetra lines in Germany), a company once, stale quotes left out and named, rows ranked by what they show; each list is read in whole pages.
  - History: 1 and 5 days are trading sessions; 1-minute bars for the last 29 days, read a week at a time.
  - Rows: Yahoo's repeated insider trades once; insiders' 6 months empty when Yahoo sends placeholder zeros; estimates no analyst gave left out, with `epsCurrency` and `revenueCurrency`; price targets with `priceTargetCurrency` (a Toronto or Tel Aviv listing's targets are its US twin's dollars); search rows priced from quotes, with currency and sector; only bars inside the dates asked for (the weekly, monthly or quarterly bar holding the start date kept).
  - Inputs: `symbols`, `stocks`, `companies` and other names for `tickers`; `query`/`search` for `searchQueries`; exchange prefixes, TradingView watchlist lines and other sites' forms (`NSE:RELIANCE`, `HKG:700`, `EURUSD`, `BTCUSD`, `SPX`); a name in capitals read as one name; an option changed without its switch turns it on; the strike range takes decimals.
  - Runs: notes grouped (six in the status message, all in RUN_SUMMARY); restarts don't store more rating changes or filings than asked; option chains capped at 5,000 requests a run; exchange rates asked once; names stop being looked up after 100 found nothing; a proxy that doesn't work is named as the cause; a run that read nothing before its timeout fails; tickers stored in part at a spending limit are named.

### 0.1 (first release)

- Quotes and fundamentals for tickers or company names, price history, financial statements, US options chains, news and Yahoo screeners.
- Audited before release (2026-10-16):
  - Names: matched by Yahoo's search with accents folded, the closest name, initials and Yahoo's top brands (`google` is GOOG); a word in lower case is a name first (`hp` is HP Inc.); exchange codes alone (`7203`); `matchedBy` on every quote row; not-found rows carry Yahoo's suggestions; delisted stubs (TWTR) are free not-found rows.
  - Currencies: per-share figures of pence, cents, agorot and fils listings in the price's unit, `marketCapCurrency`, ratios across currencies worked out with Yahoo's exchange rate, ADRs' per-ordinary-share figures left empty.
  - History: weekly, monthly and quarterly bars include today; Tokyo's bar of the day gets its close; the minute in progress is left out; London, Johannesburg, Tel Aviv and Kuwait adjusted closes rebuilt from their dividends; bars newest first.
  - Earnings dates in the past, Yahoo's placeholder implied volatility, one-line statement periods and Class A figures on BRK-B are left out; banks' and insurers' statement lines added; `debtToEquity` is `debtToEquityPercent`.
  - Indian tickers typed without a suffix (JIOFIN, TCS, LT) are read on the NSE, then the BSE, when Yahoo has no US ticker of that name.
  - News keeps headlines tagged with the company's other listings (HDFC Bank's are tagged HDB, Toyota's TM).
  - Reliability: each crumb stays with its own session, and a session is closed only after its requests end; a quote batch that fails doesn't lose the others; Yahoo's error answers are "didn't load", never "none"; a failed push stops the other tickers; a restarted run skips finished tickers and continues screeners; refused input: unknown fields alone, future start dates, intraday dates Yahoo doesn't serve.
