{
  "data": {
    "id": "z23J6rGwf21tmdpCT",
    "actId": "pKSuSrtPEecMXeM4a",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-10-29T06:58:06.287Z",
    "finishedAt": "2026-10-29T06:58:17.518Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 11147,
      "runTimeSecs": 11.147,
      "computeUnits": 0.012385555555555556,
      "imageSizeBytes": 319007744
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Yahoo Finance Scraper Input\",\n  \"description\": \"Quote, chart, fundamentals, news, analyst, holder, option, fund, filing, search, screener, trending and market-summary data from Yahoo Finance. No account, API key or proxy setup is required.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"What to scrape.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"tickers\",\n        \"search\",\n        \"screener\",\n        \"customScreener\",\n        \"trending\",\n        \"marketSummary\"\n      ],\n      \"enumTitles\": [\n        \"Tickers\",\n        \"Symbol search\",\n        \"Predefined screener\",\n        \"Custom region screener\",\n        \"Trending symbols\",\n        \"Market summary\"\n      ],\n      \"default\": \"tickers\",\n      \"prefill\": \"tickers\"\n    },\n    \"tickers\": {\n      \"title\": \"Tickers\",\n      \"type\": \"array\",\n      \"description\": \"Symbols or Yahoo Finance quote URLs (mode=tickers). Examples: `AAPL`, `BRK.B`, `^GSPC`, `EURUSD=X`, `BTC-USD`, `7203.T`, `https://finance.yahoo.com/quote/AAPL/`.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": [\n        \"AAPL\"\n      ]\n    },\n    \"searchQuery\": {\n      \"title\": \"Search query\",\n      \"type\": \"string\",\n      \"description\": \"Company, fund, index, currency or crypto name to search for (mode=search).\",\n      \"editor\": \"textfield\",\n      \"prefill\": \"Apple\"\n    },\n    \"maxSearchResults\": {\n      \"title\": \"Max search results\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum number of search results to return (mode=search).\",\n      \"default\": 10,\n      \"prefill\": 10,\n      \"minimum\": 1,\n      \"maximum\": 50\n    },\n    \"screenerId\": {\n      \"title\": \"Screener\",\n      \"type\": \"string\",\n      \"description\": \"Yahoo predefined screener to run (mode=screener). Predefined screeners are US-centric; use mode=customScreener for a region-aware list.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"day_gainers\",\n        \"day_losers\",\n        \"most_actives\",\n        \"most_shorted_stocks\",\n        \"undervalued_growth_stocks\",\n        \"growth_technology_stocks\",\n        \"aggressive_small_caps\",\n        \"small_cap_gainers\",\n        \"all_cryptocurrencies_us\",\n        \"day_gainers_cryptocurrencies\",\n        \"day_losers_cryptocurrencies\",\n        \"most_actives_cryptocurrencies\",\n        \"highest_valuation_private_company\",\n        \"recently_funded_private_company\",\n        \"most_funded_private_company\",\n        \"top_mutual_funds\",\n        \"day_gainers_mutual_funds\",\n        \"portfolio_anchors\",\n        \"solid_large_growth_funds\",\n        \"solid_midcap_growth_funds\",\n        \"conservative_foreign_funds\",\n        \"high_yield_bond\"\n      ],\n      \"enumTitles\": [\n        \"Day Gainers\",\n        \"Day Losers\",\n        \"Most Actives\",\n        \"Most Shorted Stocks\",\n        \"Undervalued Growth Stocks\",\n        \"Growth Technology Stocks\",\n        \"Aggressive Small Caps\",\n        \"Small Cap Gainers\",\n        \"All Cryptocurrencies (US)\",\n        \"Day Gainers - Cryptocurrencies\",\n        \"Day Losers - Cryptocurrencies\",\n        \"Most Actives - Cryptocurrencies\",\n        \"Highest Valuation Private Companies\",\n        \"Recently Funded Private Companies\",\n        \"Most Funded Private Companies\",\n        \"Top Mutual Funds\",\n        \"Day Gainers - Mutual Funds\",\n        \"Portfolio Anchors\",\n        \"Solid Large Growth Funds\",\n        \"Solid Mid-Cap Growth Funds\",\n        \"Conservative Foreign Funds\",\n        \"High Yield Bond\"\n      ],\n      \"default\": \"day_gainers\",\n      \"prefill\": \"day_gainers\"\n    },\n    \"screenerSort\": {\n      \"title\": \"Custom screener sort\",\n      \"type\": \"string\",\n      \"description\": \"Sort field for mode=customScreener.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"intradaymarketcap\",\n        \"percentchange\",\n        \"dayvolume\"\n      ],\n      \"enumTitles\": [\n        \"Market cap\",\n        \"Percent change\",\n        \"Volume\"\n      ],\n      \"default\": \"intradaymarketcap\",\n      \"prefill\": \"intradaymarketcap\"\n    },\n    \"region\": {\n      \"title\": \"Region\",\n      \"type\": \"string\",\n      \"description\": \"Yahoo market region used for quotes, search, trending, localization and mode=customScreener.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"US\",\n        \"GB\",\n        \"DE\",\n        \"FR\",\n        \"JP\",\n        \"HK\",\n        \"IN\",\n        \"CA\",\n        \"AU\",\n        \"BR\",\n        \"CN\",\n        \"KR\",\n        \"TW\",\n        \"SG\",\n        \"CH\",\n        \"NL\",\n        \"ES\",\n        \"IT\",\n        \"SE\",\n        \"NO\",\n        \"DK\",\n        \"FI\",\n        \"BE\",\n        \"AT\",\n        \"IE\",\n        \"NZ\",\n        \"ZA\",\n        \"MX\",\n        \"AR\",\n        \"CL\",\n        \"PE\"\n      ],\n      \"enumTitles\": [\n        \"United States\",\n        \"United Kingdom\",\n        \"Germany\",\n        \"France\",\n        \"Japan\",\n        \"Hong Kong\",\n        \"India\",\n        \"Canada\",\n        \"Australia\",\n        \"Brazil\",\n        \"China\",\n        \"South Korea\",\n        \"Taiwan\",\n        \"Singapore\",\n        \"Switzerland\",\n        \"Netherlands\",\n        \"Spain\",\n        \"Italy\",\n        \"Sweden\",\n        \"Norway\",\n        \"Denmark\",\n        \"Finland\",\n        \"Belgium\",\n        \"Austria\",\n        \"Ireland\",\n        \"New Zealand\",\n        \"South Africa\",\n        \"Mexico\",\n        \"Argentina\",\n        \"Chile\",\n        \"Peru\"\n      ],\n      \"default\": \"US\",\n      \"prefill\": \"US\"\n    },\n    \"language\": {\n      \"title\": \"Language\",\n      \"type\": \"string\",\n      \"description\": \"Language used for names, news and localized labels.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"en-US\",\n        \"en-GB\",\n        \"de-DE\",\n        \"fr-FR\",\n        \"es-ES\",\n        \"it-IT\",\n        \"nl-NL\",\n        \"pt-BR\",\n        \"ja-JP\",\n        \"zh-Hant-HK\",\n        \"zh-Hans-CN\",\n        \"ko-KR\",\n        \"ru-RU\",\n        \"ar-SA\",\n        \"hi-IN\",\n        \"tr-TR\",\n        \"pl-PL\",\n        \"sv-SE\",\n        \"da-DK\",\n        \"fi-FI\",\n        \"no-NO\"\n      ],\n      \"enumTitles\": [\n        \"English (US)\",\n        \"English (UK)\",\n        \"German\",\n        \"French\",\n        \"Spanish\",\n        \"Italian\",\n        \"Dutch\",\n        \"Portuguese (Brazil)\",\n        \"Japanese\",\n        \"Chinese (Traditional, Hong Kong)\",\n        \"Chinese (Simplified, China)\",\n        \"Korean\",\n        \"Russian\",\n        \"Arabic\",\n        \"Hindi\",\n        \"Turkish\",\n        \"Polish\",\n        \"Swedish\",\n        \"Danish\",\n        \"Finnish\",\n        \"Norwegian\"\n      ],\n      \"default\": \"en-US\",\n      \"prefill\": \"en-US\"\n    },\n    \"range\": {\n      \"title\": \"Chart range\",\n      \"type\": \"string\",\n      \"description\": \"History range used when no start/end dates are supplied (mode=tickers).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"1d\",\n        \"5d\",\n        \"1mo\",\n        \"3mo\",\n        \"6mo\",\n        \"1y\",\n        \"2y\",\n        \"5y\",\n        \"10y\",\n        \"ytd\",\n        \"max\"\n      ],\n      \"enumTitles\": [\n        \"1 day\",\n        \"5 days\",\n        \"1 month\",\n        \"3 months\",\n        \"6 months\",\n        \"1 year\",\n        \"2 years\",\n        \"5 years\",\n        \"10 years\",\n        \"Year to date\",\n        \"Max\"\n      ],\n      \"default\": \"1mo\",\n      \"prefill\": \"5d\"\n    },\n    \"startDate\": {\n      \"title\": \"History start date\",\n      \"type\": \"string\",\n      \"description\": \"Earliest date for historical bars (`YYYY-MM-DD`). Overrides `range` (mode=tickers).\",\n      \"editor\": \"textfield\"\n    },\n    \"endDate\": {\n      \"title\": \"History end date\",\n      \"type\": \"string\",\n      \"description\": \"Latest date for historical bars (`YYYY-MM-DD`). Overrides `range` (mode=tickers).\",\n      \"editor\": \"textfield\"\n    },\n    \"interval\": {\n      \"title\": \"Chart interval\",\n      \"type\": \"string\",\n      \"description\": \"Candle interval. Intraday intervals have shorter Yahoo range limits; incompatible combinations are clamped and reported in the run status.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"1m\",\n        \"2m\",\n        \"5m\",\n        \"15m\",\n        \"30m\",\n        \"60m\",\n        \"90m\",\n        \"1h\",\n        \"1d\",\n        \"5d\",\n        \"1wk\",\n        \"1mo\",\n        \"3mo\"\n      ],\n      \"enumTitles\": [\n        \"1 minute\",\n        \"2 minutes\",\n        \"5 minutes\",\n        \"15 minutes\",\n        \"30 minutes\",\n        \"60 minutes\",\n        \"90 minutes\",\n        \"1 hour\",\n        \"1 day\",\n        \"5 days\",\n        \"1 week\",\n        \"1 month\",\n        \"3 months\"\n      ],\n      \"default\": \"1d\",\n      \"prefill\": \"1d\"\n    },\n    \"includePrePost\": {\n      \"title\": \"Include pre/post market bars\",\n      \"type\": \"boolean\",\n      \"description\": \"Include extended-hours bars for intraday history.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeHistory\": {\n      \"title\": \"Include OHLCV history\",\n      \"type\": \"boolean\",\n      \"description\": \"Include historical bars with adjusted close.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"includeDividends\": {\n      \"title\": \"Include dividends\",\n      \"type\": \"boolean\",\n      \"description\": \"Include the full dividend history from Yahoo chart events.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"includeSplits\": {\n      \"title\": \"Include splits\",\n      \"type\": \"boolean\",\n      \"description\": \"Include stock-split history with numerator and denominator.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"includeNews\": {\n      \"title\": \"Include news\",\n      \"type\": \"boolean\",\n      \"description\": \"Include ticker-related news headlines.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"maxNews\": {\n      \"title\": \"Max news items\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum news items per ticker. Yahoo's news graph serves 200+ items through cursor pagination; the actor caps this request at 200.\",\n      \"default\": 25,\n      \"prefill\": 10,\n      \"minimum\": 1,\n      \"maximum\": 200\n    },\n    \"includeFinancials\": {\n      \"title\": \"Include annual financials\",\n      \"type\": \"boolean\",\n      \"description\": \"Include annual income statement, balance sheet and cash-flow statement.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeQuarterlyFinancials\": {\n      \"title\": \"Include quarterly financials\",\n      \"type\": \"boolean\",\n      \"description\": \"Add quarterly statements under `financials.quarterly`. Takes effect only when `includeFinancials` is also on.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeHolders\": {\n      \"title\": \"Include holders\",\n      \"type\": \"boolean\",\n      \"description\": \"Include institutional, mutual-fund, major-holder and insider-holder summaries.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeInsiders\": {\n      \"title\": \"Include insider activity\",\n      \"type\": \"boolean\",\n      \"description\": \"Include insider transactions, insider holders and net share-purchase activity.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeOptions\": {\n      \"title\": \"Include options chain\",\n      \"type\": \"boolean\",\n      \"description\": \"Include option chains for optionable symbols.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"optionExpirations\": {\n      \"title\": \"Option expirations\",\n      \"type\": \"integer\",\n      \"description\": \"How many upcoming option expirations to fetch (mode=tickers, includeOptions=true).\",\n      \"default\": 1,\n      \"prefill\": 1,\n      \"minimum\": 1,\n      \"maximum\": 25\n    },\n    \"maxOptionContracts\": {\n      \"title\": \"Max contracts per side\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum calls and maximum puts per expiration.\",\n      \"default\": 50,\n      \"prefill\": 50,\n      \"minimum\": 1,\n      \"maximum\": 500\n    },\n    \"optionContractType\": {\n      \"title\": \"Option contract type\",\n      \"type\": \"string\",\n      \"description\": \"Which option sides to return.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"both\",\n        \"calls\",\n        \"puts\"\n      ],\n      \"enumTitles\": [\n        \"Calls and puts\",\n        \"Calls only\",\n        \"Puts only\"\n      ],\n      \"default\": \"both\",\n      \"prefill\": \"both\"\n    },\n    \"minStrike\": {\n      \"title\": \"Minimum strike\",\n      \"type\": \"number\",\n      \"description\": \"Drop option contracts below this strike.\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"maxStrike\": {\n      \"title\": \"Maximum strike\",\n      \"type\": \"number\",\n      \"description\": \"Drop option contracts above this strike.\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"minVolume\": {\n      \"title\": \"Minimum option volume\",\n      \"type\": \"integer\",\n      \"description\": \"Drop option contracts below this volume. Contracts with no volume are excluded when this is set.\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"minOpenInterest\": {\n      \"title\": \"Minimum open interest\",\n      \"type\": \"integer\",\n      \"description\": \"Drop option contracts below this open interest. Contracts with no open interest are excluded when this is set.\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"minImpliedVolatilityPercent\": {\n      \"title\": \"Minimum implied volatility (%)\",\n      \"type\": \"number\",\n      \"description\": \"Drop contracts below this implied volatility in percent, e.g. 25 means 25%.\",\n      \"minimum\": 0,\n      \"maximum\": 1000\n    },\n    \"includeRecommendations\": {\n      \"title\": \"Include recommendations\",\n      \"type\": \"boolean\",\n      \"description\": \"Include the analyst recommendation summary and four-period recommendation trend.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"includeUpgradesDowngrades\": {\n      \"title\": \"Include upgrades and downgrades\",\n      \"type\": \"boolean\",\n      \"description\": \"Include the latest analyst rating changes.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeAnalystPriceTargets\": {\n      \"title\": \"Include price targets\",\n      \"type\": \"boolean\",\n      \"description\": \"Include the analyst price-target summary.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"includeEarningsHistory\": {\n      \"title\": \"Include earnings history\",\n      \"type\": \"boolean\",\n      \"description\": \"Include recent quarters with EPS actual, estimate, difference and surprise.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"includeEarningsEstimates\": {\n      \"title\": \"Include earnings estimates\",\n      \"type\": \"boolean\",\n      \"description\": \"Include EPS and revenue estimates plus growth estimates.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeEarningsCalendar\": {\n      \"title\": \"Include earnings calendar\",\n      \"type\": \"boolean\",\n      \"description\": \"Include upcoming earnings dates, estimates and dividend dates.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"includeFundData\": {\n      \"title\": \"Include fund data\",\n      \"type\": \"boolean\",\n      \"description\": \"Include fund profile, top holdings and performance for ETFs and mutual funds.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeSecFilings\": {\n      \"title\": \"Include SEC filings\",\n      \"type\": \"boolean\",\n      \"description\": \"Include recent SEC filings with EDGAR links and exhibits.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeInsights\": {\n      \"title\": \"Include analyst insights\",\n      \"type\": \"boolean\",\n      \"description\": \"Include technical outlook, research reports and significant developments.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeRelatedSymbols\": {\n      \"title\": \"Include related symbols\",\n      \"type\": \"boolean\",\n      \"description\": \"Include Yahoo's related-symbol recommendations.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxResults\": {\n      \"title\": \"Max results\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum records for screener, customScreener, trending and marketSummary modes. Search uses maxSearchResults.\",\n      \"default\": 50,\n      \"prefill\": 1,\n      \"minimum\": 1,\n      \"maximum\": 5000\n    },\n    \"concurrency\": {\n      \"title\": \"Concurrency\",\n      \"type\": \"integer\",\n      \"description\": \"Number of tickers fetched in parallel (mode=tickers).\",\n      \"default\": 4,\n      \"prefill\": 1,\n      \"minimum\": 1,\n      \"maximum\": 16\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# Yahoo Finance Market Data & Fundamentals Scraper\r\n\r\nYahoo Finance is the default reference point for public market data, but its quote pages mix delayed prices, statements, analyst views, holder tables and option chains across dozens of separate views. This actor turns those views into one clean dataset: give it a watchlist, a search phrase, a screener, a region or nothing at all for a market overview, and receive structured records with source URLs and timestamps. It works for stocks, ETFs, mutual funds, indices, currency pairs, futures and crypto, and needs no account, API key or proxy setup.\r\n\r\n## What this actor does\r\n\r\n- **Six modes:** `tickers` (default), `search`, `screener`, `customScreener`, `trending`, `marketSummary`\r\n- **Deep quote data:** regular, pre-market and US post-market prices, bid/ask, day and 52-week ranges, valuation ratios, margins, growth, short interest, analyst targets and company risk scores\r\n- **History and events:** 13 chart intervals, 11 ranges, optional pre/post-market bars, adjusted close, full dividend history and split history\r\n- **Statements and ownership:** annual and quarterly income, balance-sheet and cash-flow statements with expanded high-fill fields; institutional, fund, major-holder and insider data\r\n- **Options and funds:** multiple current expirations with contract-level filters; ETF/mutual-fund profile, top holdings, bond ratings, sector weights, Morningstar ratings and performance\r\n- **Research extras:** search results with a localized lookup fallback, 22 predefined screeners, a region-aware custom screener, region-based trending symbols, market summary, up to 200 news items, analyst ratings, SEC filings and related symbols\r\n- **Empty fields are omitted** — optional data that Yahoo does not publish for a symbol is left out rather than emitted as `null`, `\"\"` or `[]`\r\n\r\n## Output per ticker (mode = `tickers`)\r\n\r\nEvery ticker record includes `recordType: \"ticker\"`, `ticker`, `summaryUrl`, `sourceUrl`, `scrapedAt`, and the fields below when Yahoo publishes them. Empty values are omitted.\r\n\r\n### Identity and quote\r\n\r\n- `companyName`, `shortName`, `sector`, `industry`, `country`, `website`, `businessSummary`, `fullTimeEmployees`\r\n- `currency`, `financialCurrency`, `exchange`, `exchangeFullName`, `market`, `marketState`, `quoteType`, `timezone`\r\n- `currentPrice`, `previousClose`, `open`, `dayHigh`, `dayLow`, `fiftyTwoWeekHigh`, `fiftyTwoWeekLow`\r\n- `dayChange`, `dayChangePercent`, `volume`, `averageVolume`, `averageDailyVolume10Day`, `averageDailyVolume3Month`\r\n- `bid`, `ask`, `bidSize`, `askSize`, `fiftyDayAverage`, `twoHundredDayAverage`\r\n- `preMarketPrice`, `preMarketChange`, `preMarketChangePercent`, `preMarketTime`, `hasPrePostMarketData`\r\n- `postMarketPrice`, `postMarketChange`, `postMarketChangePercent`, `postMarketTime` — US-listed equities and ETFs when Yahoo publishes an extended-hours quote\r\n- `fulldayPrice`, `fulldayChange`, `fulldayChangePercent`, `quoteSource`, `exchangeDataDelayedBy`, `firstTradeDate`\r\n- `marketCap`, `sharesOutstanding`, `floatShares`, `impliedSharesOutstanding`\r\n\r\n### Valuation, profitability and dividends\r\n\r\n- `beta`, `trailingPE`, `forwardPE`, `trailingEps`, `epsForward`, `epsCurrentYear`, `priceEpsCurrentYear`, `priceToBook`, `bookValue`\r\n- `enterpriseValue`, `enterpriseToRevenue`, `enterpriseToEbitda`, `profitMargins`, `operatingMargins`, `grossMargins`, `ebitdaMargins`\r\n- `returnOnAssets`, `returnOnEquity`, `revenueGrowth`, `earningsGrowth`, `revenuePerShare`\r\n- `totalCash`, `totalDebt`, `totalCashPerShare`, `freeCashflow`, `operatingCashflow`, `currentRatio`, `quickRatio`, `debtToEquity`, `payoutRatio`\r\n- `dividendRate`, `dividendYield`, `trailingAnnualDividendRate`, `trailingAnnualDividendYield`, `exDividendDate`, `dividendDate`\r\n- `fiveYearAvgDividendYield`, `lastDividendValue`, `lastDividendDate`, `lastSplitFactor`, `lastSplitDate`\r\n- `sharesShort`, `sharesShortPriorMonth`, `shortRatio`, `shortPercentOfFloat`, `sharesPercentSharesOut`, `heldPercentInsiders`, `heldPercentInstitutions`\r\n- `52WeekChange`, `SandP52WeekChange`, `mostRecentQuarter`, `lastFiscalYearEnd`, `nextFiscalYearEnd`\r\n- `recommendationKey`, `recommendationMean`, `numberOfAnalystOpinions`, `targetHighPrice`, `targetLowPrice`, `targetMeanPrice`, `targetMedianPrice`\r\n- `earningsTimestamp`, `earningsTimestampStart`, `earningsTimestampEnd`, `isEarningsDateEstimate`, `earningsCallTimestampStart`, `earningsCallTimestampEnd`, `averageAnalystRating`\r\n\r\n### Company profile and risk\r\n\r\n- `address1`, `city`, `state`, `zip`, `phone`, `irWebsite`\r\n- `auditRisk`, `boardRisk`, `compensationRisk`, `shareHolderRightsRisk`, `overallRisk`, `governanceEpochDate`, `compensationAsOfEpochDate`\r\n- `companyOfficers[]` — `name`, `title`, `age`, `totalPay`, `exercisedValue`, `unexercisedValue`\r\n- `statistics` — curated key statistics and financial-data ratios\r\n\r\n### History and corporate actions (when enabled)\r\n\r\n- `history[]` — `date`, `datetime`, `open`, `high`, `low`, `close`, `adjclose`, `volume`, `dividends`, `stock_splits`\r\n- `historyCount`\r\n- `dividends[]` — `date`, `value`; `dividendCount`. Dates are actual event dates when Yahoo exposes them, not month-start chart keys\r\n- `splits[]` — `date`, `value`, `numerator`, `denominator`, `splitRatio`; `splitCount`\r\n- `capitalGains[]` — when Yahoo publishes a capital-gain event\r\n\r\n### Financial statements (when `includeFinancials` is on)\r\n\r\n- `financials.income`, `financials.balance`, `financials.cashflow` — each keyed by fiscal period, with statement values in the reporting currency. The curated set covers 122 high-fill Yahoo types, including `EBIT`, `EBITDA`, `Net_Tangible_Assets`, `Beginning_Cash_Position`, `Invested_Capital` and `Tax_Rate_For_Calcs`; the legacy nested shape and underscore labels are unchanged\r\n- `financials.quarterly.income`, `financials.quarterly.balance`, `financials.quarterly.cashflow` — when `includeQuarterlyFinancials` is on\r\n- `financials.currency` — reporting currency\r\n- `financials.periods` — available annual and quarterly period dates\r\n\r\n### News, analyst and earnings\r\n\r\n- `news[]` — `title`, `url`, `publisher`, `publishedAt`, `type`, `relatedTickers`, `thumbnailUrl`, `summary`, `description` when Yahoo provides them; `newsCount`. The primary feed is Yahoo's Finance Nexus graph with cursor pagination, so `maxNews` can go up to 200; search news and the HTML page remain fallbacks\r\n- `recommendations` — `strongBuy`, `buy`, `hold`, `sell`, `strongSell`\r\n- `recommendationTrend[]` — `period`, `strongBuy`, `buy`, `hold`, `sell`, `strongSell`\r\n- `upgradeDowngradeHistory[]` — `firm`, `fromGrade`, `toGrade`, `action`, `priceTargetAction`, `currentPriceTarget`, `priorPriceTarget`, `gradeDate`\r\n- `analystPriceTargets` — `current`, `high`, `low`, `mean`, `median`\r\n- `earningsHistory[]` — `quarter`, `epsActual`, `epsEstimate`, `epsDifference`, `surprisePercent`\r\n- `earningsDates[]` — `date`, `reportedDate`, `epsEstimate`, `reportedEps`, `surprisePercent`\r\n- `earningsEstimates` — `earnings[]`, `revenue[]`, `growthEstimates[]`\r\n- `calendarEvents` — `earningsDate`, `earningsCallDate`, `isEarningsDateEstimate`, `earningsAverage`, `earningsLow`, `earningsHigh`, `revenueAverage`, `revenueLow`, `revenueHigh`, `exDividendDate`, `dividendDate`\r\n- `calendar` — the same dates and estimates with legacy snake-case keys\r\n\r\n### Holders and insiders (when enabled)\r\n\r\n- `holders.institutional[]`, `holders.mutualFund[]` — `Date_Reported`, `Holder`, `pctHeld`, `Shares`, `Value`, `pctChange`\r\n- `holders.major` — `insidersPercentHeld`, `institutionsPercentHeld`, `institutionsFloatPercentHeld`, `institutionsCount`\r\n- `holders.insiderHolders[]` — `name`, `relation`, `transactionDescription`, `latestTransDate`, `positionDirect`, `positionIndirect`, `valueDirect`\r\n- `holders.netSharePurchaseActivity` — buy/sell/net counts and shares, insider percentages and institutional net buying\r\n- `insiderTransactions[]` — `Shares`, `Value`, `URL`, `Text`, `Insider`, `Position`, `Transaction`, `Start_Date`, `Ownership`; `insiderTransactionCount`\r\n\r\n### Options (when `includeOptions` is on)\r\n\r\n- `optionExpirations[]` — upcoming expiration dates\r\n- `options` — `expiration`, `calls[]`, `puts[]`, and an underlying `quote`\r\n- `optionChains[]` — present when more than one expiration is requested\r\n- Contract fields: `contractSymbol`, `strike`, `currency`, `lastPrice`, `change`, `percentChange`, `volume`, `openInterest`, `bid`, `ask`, `contractSize`, `expiration`, `lastTradeDate`, `impliedVolatility`, `inTheMoney`\r\n\r\n### Funds, filings and research extras\r\n\r\n- `fundProfile` — `family`, `categoryName`, `legalType`, `annualReportExpenseRatio`, `annualHoldingsTurnover`, `totalNetAssets` (absolute value, not millions), `managerName`, `managerBio`, `inceptionDate` (fund inception when Yahoo publishes it; omitted otherwise)\r\n- `topHoldings` — `cashPosition`, `stockPosition`, `bondPosition`, `otherPosition`, `preferredPosition`, `convertiblePosition`, `holdings[]`, `equityHoldings`, `bondHoldings`, `otherHoldings`, `bondRatings[]`, `sectorWeightings[]` (rating and sector rows are `{key, value}`; equity sector weights are empty for non-equity funds such as GLD and TLT)\r\n- `fundPerformance` — `asOfDate`, benchmark fields, period returns, fund averages and `morningStarOverallRating` / `morningStarRiskRating` for mutual funds\r\n- `secFilings[]` — `date`, `type`, `title`, `edgarUrl`, `exhibits[]`\r\n- `insights` — technical outlook, key technicals, valuation, research reports and significant developments\r\n- `relatedSymbols[]` — `symbol`, `score`\r\n- `requestedTicker` — present when an input alias resolved to a different Yahoo symbol (for example `BRK.B` → `BRK-B`)\r\n\r\n## Output: discovery modes\r\n\r\n### `searchResult` (mode = `search`)\r\n\r\n`recordType`, `ticker`, `sourceUrl`, `scrapedAt`, `name`, `longName`, `exchange`, `exchangeDisplay`, `quoteType`, `typeDisplay`, `sector`, `industry`, `score`, `isYahooFinance`, optional `quote` snapshot.\r\n\r\n### `screenerResult` (mode = `screener` or `customScreener`)\r\n\r\n`recordType`, `ticker`, `sourceUrl`, `scrapedAt`, `screenerId`, `screenerName`, `rank`, plus quote fields such as `currentPrice`, `previousClose`, `marketCap`, `trailingPE`, `forwardPE`, `dividendYield`, `fiftyTwoWeekHigh`, `fiftyTwoWeekLow`, `volume`, `averageVolume`, `dayChange`, `dayChangePercent`, `quoteType`, `exchange`, `currency`, `marketState`, pre-market/post-market fields and `fullday*` fields. Custom rows also include `region` and `screenerSort`.\r\n\r\n### `trendingSymbol` (mode = `trending`)\r\n\r\n`recordType`, `ticker`, `sourceUrl`, `scrapedAt`, `region`, `rank`, plus the same quote fields when Yahoo returns them.\r\n\r\n### `marketSummary` (mode = `marketSummary`)\r\n\r\n`recordType`, `ticker`, `sourceUrl`, `scrapedAt`, `shortName`, `fullExchangeName`, `quoteType`, `marketState`, `currentPrice`, `dayChange`, `dayChangePercent`, `previousClose`, `regularMarketTime`, `typeDisplay`.\r\n\r\n### `error`\r\n\r\n`recordType: \"error\"`, `type: \"yahoo_finance_error\"`, `error`, `ticker`, `reason`, `message`, `sourceUrl`, `scrapedAt`. `error` mirrors the legacy short reason (`no_data`). Invalid or delisted symbols produce this record instead of a partial ticker record.\r\n\r\n## Input\r\n\r\n| Field | Type | Default | Description |\r\n|---|---|---|---|\r\n| `mode` | string | `tickers` | `tickers` / `search` / `screener` / `customScreener` / `trending` / `marketSummary` |\r\n| `tickers` | array | – | Symbols or Yahoo quote URLs (mode=tickers). |\r\n| `searchQuery` | string | – | Company or symbol name (mode=search). |\r\n| `maxSearchResults` | integer | `10` | Search results to return (1–50). |\r\n| `screenerId` | string | `day_gainers` | One of 22 Yahoo predefined screeners (mode=screener). |\r\n| `screenerSort` | string | `intradaymarketcap` | `intradaymarketcap` / `percentchange` / `dayvolume` (mode=customScreener). |\r\n| `region` | string | `US` | Market region for quotes, search, trending and the custom screener. |\r\n| `language` | string | `en-US` | Language for names, news and labels. |\r\n| `range` | string | `1mo` | Chart range when no dates are supplied. |\r\n| `startDate` | string | – | History start (`YYYY-MM-DD`); overrides `range`. |\r\n| `endDate` | string | – | History end (`YYYY-MM-DD`); overrides `range`. |\r\n| `interval` | string | `1d` | `1m` … `3mo`; intraday combinations are range-limited. |\r\n| `includePrePost` | boolean | `false` | Include extended-hours intraday bars. |\r\n| `includeHistory` | boolean | `true` | Include OHLCV history. |\r\n| `includeDividends` | boolean | `true` | Include full dividend history. |\r\n| `includeSplits` | boolean | `true` | Include split history. |\r\n| `includeNews` | boolean | `true` | Include ticker news. |\r\n| `maxNews` | integer | `25` | News items per ticker (1–200). |\r\n| `includeFinancials` | boolean | `false` | Include annual statements. |\r\n| `includeQuarterlyFinancials` | boolean | `false` | Add quarterly statements; requires `includeFinancials`. |\r\n| `includeHolders` | boolean | `false` | Include holder summaries. |\r\n| `includeInsiders` | boolean | `false` | Include insider transactions and net purchase activity. |\r\n| `includeOptions` | boolean | `false` | Include option chains. |\r\n| `optionExpirations` | integer | `1` | Upcoming expirations to fetch (1–25). |\r\n| `maxOptionContracts` | integer | `50` | Calls and puts per expiration (1–500 each). |\r\n| `optionContractType` | string | `both` | `both` / `calls` / `puts`. |\r\n| `minStrike` | number | – | Minimum option strike. |\r\n| `maxStrike` | number | – | Maximum option strike. |\r\n| `minVolume` | integer | – | Minimum option volume. |\r\n| `minOpenInterest` | integer | – | Minimum option open interest. |\r\n| `minImpliedVolatilityPercent` | number | – | Minimum IV, e.g. `25` = 25%. |\r\n| `includeRecommendations` | boolean | `true` | Recommendation summary and trend. |\r\n| `includeUpgradesDowngrades` | boolean | `false` | Analyst rating changes. |\r\n| `includeAnalystPriceTargets` | boolean | `true` | Price-target summary. |\r\n| `includeEarningsHistory` | boolean | `true` | Recent EPS actuals vs estimates. |\r\n| `includeEarningsEstimates` | boolean | `false` | Forward EPS/revenue estimates. |\r\n| `includeEarningsCalendar` | boolean | `true` | Upcoming earnings and dividend dates. |\r\n| `includeFundData` | boolean | `false` | ETF/mutual-fund profile, holdings and performance. |\r\n| `includeSecFilings` | boolean | `false` | Recent SEC filings. |\r\n| `includeInsights` | boolean | `false` | Technical outlook, reports and developments. |\r\n| `includeRelatedSymbols` | boolean | `false` | Yahoo related-symbol recommendations. |\r\n| `maxResults` | integer | `50` | Record cap for discovery modes (1–5000). |\r\n| `concurrency` | integer | `4` | Tickers processed in parallel (1–16). |\r\n\r\n### Example: daily watchlist\r\n\r\n```json\r\n{\r\n  \"mode\": \"tickers\",\r\n  \"tickers\": [\"AAPL\", \"MSFT\", \"NVDA\"],\r\n  \"range\": \"5d\",\r\n  \"interval\": \"1d\",\r\n  \"includeHistory\": true,\r\n  \"includeNews\": false\r\n}\r\n```\r\n\r\n### Example: full fundamentals and ownership\r\n\r\n```json\r\n{\r\n  \"mode\": \"tickers\",\r\n  \"tickers\": [\"AAPL\"],\r\n  \"includeFinancials\": true,\r\n  \"includeQuarterlyFinancials\": true,\r\n  \"includeHolders\": true,\r\n  \"includeInsiders\": true,\r\n  \"includeEarningsEstimates\": true,\r\n  \"includeSecFilings\": true\r\n}\r\n```\r\n\r\n### Example: option chain with filters\r\n\r\n```json\r\n{\r\n  \"mode\": \"tickers\",\r\n  \"tickers\": [\"TSLA\"],\r\n  \"includeOptions\": true,\r\n  \"optionExpirations\": 3,\r\n  \"maxOptionContracts\": 25,\r\n  \"optionContractType\": \"both\",\r\n  \"minStrike\": 200,\r\n  \"maxStrike\": 500,\r\n  \"minOpenInterest\": 100,\r\n  \"minImpliedVolatilityPercent\": 20\r\n}\r\n```\r\n\r\n### Example: ETF research\r\n\r\n```json\r\n{\r\n  \"mode\": \"tickers\",\r\n  \"tickers\": [\"SPY\", \"QQQ\"],\r\n  \"includeFundData\": true,\r\n  \"includeDividends\": true,\r\n  \"includeHistory\": false\r\n}\r\n```\r\n\r\n### Example: discover symbols and market movers\r\n\r\n```json\r\n{\r\n  \"mode\": \"screener\",\r\n  \"screenerId\": \"day_gainers\",\r\n  \"maxResults\": 25\r\n}\r\n```\r\n\r\n```json\r\n{\r\n  \"mode\": \"customScreener\",\r\n  \"region\": \"JP\",\r\n  \"screenerSort\": \"percentchange\",\r\n  \"maxResults\": 100\r\n}\r\n```\r\n\r\n```json\r\n{\r\n  \"mode\": \"search\",\r\n  \"searchQuery\": \"electric vehicles\",\r\n  \"maxSearchResults\": 10\r\n}\r\n```\r\n\r\n```json\r\n{\r\n  \"mode\": \"trending\",\r\n  \"region\": \"GB\",\r\n  \"maxResults\": 10\r\n}\r\n```\r\n\r\n## Use cases\r\n\r\n- **Watchlist monitoring** — schedule a small ticker list for daily quote, pre-market and news snapshots\r\n- **Backtesting and charting** — export OHLCV bars with adjusted close across 13 intervals and 11 ranges\r\n- **Fundamental screening** — pull annual and quarterly statements, margins, growth and analyst targets into a warehouse\r\n- **Options research** — collect multiple expirations and filter by strike, volume, open interest or implied volatility\r\n- **ETF and fund due diligence** — compare expense ratios, top holdings, sector exposure and trailing returns\r\n- **Market discovery** — feed screener, search, trending and market-summary rows into alerting or research dashboards\r\n- **Ownership and insider tracking** — monitor institutional positions, insider holders and net purchase activity\r\n- **Compliance and filing research** — collect SEC filing links and exhibits for a list of companies\r\n\r\n## Known hard limits\r\n\r\nThese are limits of Yahoo's public data, verified during the revamp; the actor does not fabricate values for them:\r\n\r\n- **Options history and source greeks:** only current option chains are served, and there are no source greeks (no delta/gamma/theta/vega in Yahoo's contract payload). Historical chains are unavailable.\r\n- **US-only options:** option chains exist only for optionable US-listed symbols; no HK/EU/index/FX/crypto chains.\r\n- **Statements for funds, indices, FX, crypto and futures:** Yahoo has no income, balance-sheet or cash-flow statements for these instrument types. Fund profiles and holdings are the substitute.\r\n- **ESG/sustainability:** Yahoo retired the ESG modules and page; the field is not emitted.\r\n- **Predefined screener region:** the predefined endpoint is US-centric and ignores `region`; use `customScreener`.\r\n- **CJK direct search:** `/v1/finance/search` rejects non-Latin text with HTTP 400; the localized `/v1/finance/lookup` fallback is the supported path and can still return zero documents.\r\n- **Screener page size:** Yahoo accepts at most 250 rows per request; the actor paginates to reach `maxResults`.\r\n- **News source cap:** the graph is paginated by cursor and is capped at 200 items per ticker by this actor; the search fallback is smaller.\r\n- **Trending sparsity:** several regions return only 1–4 symbols upstream.\r\n\r\n## FAQ\r\n\r\n**Do I need an API key, login, cookies or a proxy?**\r\nNo. The actor reads Yahoo Finance's public web data without an account. It uses no user cookies or API keys, and it works without a proxy by default.\r\n\r\n**Are quotes real-time?**\r\nMost Yahoo quotes are delayed, often by about 15 minutes for US equities. The record's `quoteSource`, `exchangeDataDelayedBy` and `marketState` fields tell you what Yahoo reported for that snapshot.\r\n\r\n**Can I get pre-market and after-hours prices?**\r\nPre-market fields are included when Yahoo publishes them. `postMarket*` fields (`postMarketPrice`, `postMarketChange`, `postMarketChangePercent`, `postMarketTime`) are mapped from Yahoo's quote summary (with the quote-v7 fields as fallback). Post-market values were verified for US-listed equities and ETFs (12/12) and were absent for non-US listings, indices, FX, crypto and futures (0/18), so treat these fields as US-only. Intraday history can include pre/post-market bars with `includePrePost`.\r\n\r\n**Why are some fields missing for my ticker?**\r\nNot every instrument type has every data type. Indices, currencies, futures and crypto usually have quotes and charts but no company statements, holders or options. ETFs have fund data instead of company statements. The actor omits a field when Yahoo has no value for it.\r\n\r\n**How many news items can I get?**\r\nThe actor reads Yahoo's Finance Nexus graph first and paginates its cursor, so `maxNews` supports up to 200 items per symbol (AAPL returned 148, MSFT 132, NVDA 182 and SPY 138 in verification). News works for equities, ETFs, indices, FX and crypto on this path. If the graph returns nothing, the actor falls back to Yahoo's search feed (about 50 items) and then the HTML news page. Results are deduplicated by URL; news can mention related tickers, so use `relatedTickers` when you need to filter relevance.\r\n\r\n**Why is the options chain missing?**\r\nOptions exist only for optionable US-listed symbols. Foreign listings, indices, currencies, futures and crypto do not have a Yahoo option chain. Yahoo exposes only current expirations, not historical chains, and its contract payload contains no delta, gamma, theta or vega. Historical options, source-provided greeks and non-US option chains are confirmed hard limits; the actor does not invent them.\r\n\r\n**Why are quarterly statements missing?**\r\nQuarterly statements require both `includeFinancials` and `includeQuarterlyFinancials`. Operating companies, not funds, indices, FX, crypto or futures, publish them; those instrument types have no Yahoo income/balance/cash-flow statements (a confirmed hard limit). Use `includeFundData` for fund profiles and holdings. Some foreign issuers report only annual periods.\r\n\r\n**What does `financials` contain?**\r\n`financials.income`, `financials.balance` and `financials.cashflow` are keyed by fiscal period. Values are in the reporting currency shown in `financials.currency`; `financials.periods` lists the available dates. Quarterly groups sit under `financials.quarterly`. Item keys keep the legacy underscore labels such as `Total_Revenue`, `Net_Income` and `Operating_Cash_Flow`, so existing spreadsheet and API integrations continue to work.\r\n\r\n**Why is `dividendYield` a small number like 0.31?**\r\nFor backward compatibility, `dividendYield` keeps Yahoo's percentage number: `0.31` means 0.31%. The additive `trailingAnnualDividendYield` is a fraction: `0.0031` means the same yield. `heldPercentInsiders` and `heldPercentInstitutions` are fractions; `debtToEquity` is a percentage number.\r\n\r\n**Why is the sustainability/ESG field gone?**\r\nYahoo retired its ESG endpoints and the sustainability page no longer returns scores. The actor does not advertise or emit a `sustainability` field, and an old task that sends `includeSustainability` continues to run with a logged no-op.\r\n\r\n**Can I search in any language?**\r\nCompany names and news localize through the `language` and `region` inputs, and unicode names are preserved in output. Yahoo's `/v1/finance/search` endpoint rejects non-Latin text with HTTP 400 (a confirmed source limit), so for Japanese, Chinese or Korean queries the actor automatically falls back to `/v1/finance/lookup` with the selected language and region. Lookup returned documents for most JA/ZH-Hans/ZH-Hant/KO probes. If it returns none, the run status says so explicitly; try a ticker (`7203.T`), an English name, or another region/language.\r\n\r\n**How are fund and option values expressed?**\r\nFund positions (`cashPosition`, `stockPosition`, `holdingPercent`) are fractions: `0.0836` means 8.36%. `fundProfile.totalNetAssets` is absolute fund assets (USD for US-listed funds), normalized from Yahoo's raw millions when that is the only value available. Option `impliedVolatility` uses Yahoo's percentage number: `2.0859` means 208.59%, while the `minImpliedVolatilityPercent` input is a percent: `25` means 25%. `marketSummary.dayChangePercent` is also Yahoo's percentage number. `postMarketChangePercent` is normalized to the same percentage-number convention (`0.63` means 0.63%). Statement values are in `financials.currency`.\r\n\r\n**Why do predefined screeners return US rows even when I pick another region?**\r\nYahoo's predefined screener endpoint is US-centric and ignores the region parameter (confirmed hard limit). Use `mode: \"customScreener\"` instead: it posts a region operand to Yahoo's custom screener and returned regional rows for 30 of 31 region codes (JP 3,814; IN 8,553; PE 0). The actor paginates in 250-row requests until `maxResults` or source exhaustion. Predefined screeners are unchanged.\r\n\r\n**Why does trending return only a few symbols for some regions?**\r\nYahoo's trending feed is sparse outside the US. A region with one to three symbols is a genuine upstream result, not an early stop. The run status reports the shortfall, and `mode: \"customScreener\"` provides a region-wide fallback.\r\n\r\n**What happens to a delisted or invalid symbol?**\r\nThe actor emits an explicit `error` record with `reason: \"no_data\"` and continues with the other symbols. It does not emit a silent partial ticker record. Aliases such as `BRK.B` are resolved to Yahoo's spelling (`BRK-B`) and return data. Rare-symbol HTTP 500 quote pages were not reproduced locally (306 of 306 rare/crypto pages returned 200); the actor still keeps the quote-v7, chart and HTML fallbacks and reports an error rather than fabricating values.\r\n\r\n**Why are some fund fields missing?**\r\n`topHoldings.bondRatings` and `topHoldings.sectorWeightings` are present when Yahoo publishes them; equity sector weights are empty for non-equity funds such as GLD and TLT. `fundProfile.totalNetAssets` is normalized to absolute assets and omitted when Yahoo only returns a zero sentinel; `fundProfile.inceptionDate` comes from Yahoo's fund inception field, not the current manager's start date, and is omitted when unavailable. Morningstar overall/risk ratings are populated for mutual funds but empty for most ETFs, so they are omitted when absent rather than emitted as zero. SEC filings can be attached to one share class only; for example GOOGL's `secFilings` module is empty while GOOG returns filings, so the actor falls back to the sibling class and records `secFilingsSourceSymbol`.\r\n\r\n**Is this affiliated with Yahoo?**\r\nNo. This is an independent, third-party actor that reads Yahoo Finance's publicly available data and is not affiliated with or endorsed by Yahoo.\r\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "yahoo-finance-market-data-and-fundamentals-scraper",
      "title": "Yahoo Finance Market Data & Fundamentals Scraper",
      "description": "Pull live quotes, OHLCV history, financial statements, dividends, splits, news, analyst ratings, holders, options, fund data, SEC filings, screeners and market summaries from Yahoo Finance.",
      "version": "1.0",
      "buildTag": "latest",
      "input": {
        "title": "Yahoo Finance Scraper Input",
        "description": "Quote, chart, fundamentals, news, analyst, holder, option, fund, filing, search, screener, trending and market-summary data from Yahoo Finance. No account, API key or proxy setup is required.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "What to scrape.",
            "editor": "select",
            "enum": [
              "tickers",
              "search",
              "screener",
              "customScreener",
              "trending",
              "marketSummary"
            ],
            "enumTitles": [
              "Tickers",
              "Symbol search",
              "Predefined screener",
              "Custom region screener",
              "Trending symbols",
              "Market summary"
            ],
            "default": "tickers",
            "prefill": "tickers"
          },
          "tickers": {
            "title": "Tickers",
            "type": "array",
            "description": "Symbols or Yahoo Finance quote URLs (mode=tickers). Examples: `AAPL`, `BRK.B`, `^GSPC`, `EURUSD=X`, `BTC-USD`, `7203.T`, `https://finance.yahoo.com/quote/AAPL/`.",
            "editor": "stringList",
            "default": [],
            "prefill": [
              "AAPL"
            ]
          },
          "searchQuery": {
            "title": "Search query",
            "type": "string",
            "description": "Company, fund, index, currency or crypto name to search for (mode=search).",
            "editor": "textfield",
            "prefill": "Apple"
          },
          "maxSearchResults": {
            "title": "Max search results",
            "type": "integer",
            "description": "Maximum number of search results to return (mode=search).",
            "default": 10,
            "prefill": 10,
            "minimum": 1,
            "maximum": 50
          },
          "screenerId": {
            "title": "Screener",
            "type": "string",
            "description": "Yahoo predefined screener to run (mode=screener). Predefined screeners are US-centric; use mode=customScreener for a region-aware list.",
            "editor": "select",
            "enum": [
              "day_gainers",
              "day_losers",
              "most_actives",
              "most_shorted_stocks",
              "undervalued_growth_stocks",
              "growth_technology_stocks",
              "aggressive_small_caps",
              "small_cap_gainers",
              "all_cryptocurrencies_us",
              "day_gainers_cryptocurrencies",
              "day_losers_cryptocurrencies",
              "most_actives_cryptocurrencies",
              "highest_valuation_private_company",
              "recently_funded_private_company",
              "most_funded_private_company",
              "top_mutual_funds",
              "day_gainers_mutual_funds",
              "portfolio_anchors",
              "solid_large_growth_funds",
              "solid_midcap_growth_funds",
              "conservative_foreign_funds",
              "high_yield_bond"
            ],
            "enumTitles": [
              "Day Gainers",
              "Day Losers",
              "Most Actives",
              "Most Shorted Stocks",
              "Undervalued Growth Stocks",
              "Growth Technology Stocks",
              "Aggressive Small Caps",
              "Small Cap Gainers",
              "All Cryptocurrencies (US)",
              "Day Gainers - Cryptocurrencies",
              "Day Losers - Cryptocurrencies",
              "Most Actives - Cryptocurrencies",
              "Highest Valuation Private Companies",
              "Recently Funded Private Companies",
              "Most Funded Private Companies",
              "Top Mutual Funds",
              "Day Gainers - Mutual Funds",
              "Portfolio Anchors",
              "Solid Large Growth Funds",
              "Solid Mid-Cap Growth Funds",
              "Conservative Foreign Funds",
              "High Yield Bond"
            ],
            "default": "day_gainers",
            "prefill": "day_gainers"
          },
          "screenerSort": {
            "title": "Custom screener sort",
            "type": "string",
            "description": "Sort field for mode=customScreener.",
            "editor": "select",
            "enum": [
              "intradaymarketcap",
              "percentchange",
              "dayvolume"
            ],
            "enumTitles": [
              "Market cap",
              "Percent change",
              "Volume"
            ],
            "default": "intradaymarketcap",
            "prefill": "intradaymarketcap"
          },
          "region": {
            "title": "Region",
            "type": "string",
            "description": "Yahoo market region used for quotes, search, trending, localization and mode=customScreener.",
            "editor": "select",
            "enum": [
              "US",
              "GB",
              "DE",
              "FR",
              "JP",
              "HK",
              "IN",
              "CA",
              "AU",
              "BR",
              "CN",
              "KR",
              "TW",
              "SG",
              "CH",
              "NL",
              "ES",
              "IT",
              "SE",
              "NO",
              "DK",
              "FI",
              "BE",
              "AT",
              "IE",
              "NZ",
              "ZA",
              "MX",
              "AR",
              "CL",
              "PE"
            ],
            "enumTitles": [
              "United States",
              "United Kingdom",
              "Germany",
              "France",
              "Japan",
              "Hong Kong",
              "India",
              "Canada",
              "Australia",
              "Brazil",
              "China",
              "South Korea",
              "Taiwan",
              "Singapore",
              "Switzerland",
              "Netherlands",
              "Spain",
              "Italy",
              "Sweden",
              "Norway",
              "Denmark",
              "Finland",
              "Belgium",
              "Austria",
              "Ireland",
              "New Zealand",
              "South Africa",
              "Mexico",
              "Argentina",
              "Chile",
              "Peru"
            ],
            "default": "US",
            "prefill": "US"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language used for names, news and localized labels.",
            "editor": "select",
            "enum": [
              "en-US",
              "en-GB",
              "de-DE",
              "fr-FR",
              "es-ES",
              "it-IT",
              "nl-NL",
              "pt-BR",
              "ja-JP",
              "zh-Hant-HK",
              "zh-Hans-CN",
              "ko-KR",
              "ru-RU",
              "ar-SA",
              "hi-IN",
              "tr-TR",
              "pl-PL",
              "sv-SE",
              "da-DK",
              "fi-FI",
              "no-NO"
            ],
            "enumTitles": [
              "English (US)",
              "English (UK)",
              "German",
              "French",
              "Spanish",
              "Italian",
              "Dutch",
              "Portuguese (Brazil)",
              "Japanese",
              "Chinese (Traditional, Hong Kong)",
              "Chinese (Simplified, China)",
              "Korean",
              "Russian",
              "Arabic",
              "Hindi",
              "Turkish",
              "Polish",
              "Swedish",
              "Danish",
              "Finnish",
              "Norwegian"
            ],
            "default": "en-US",
            "prefill": "en-US"
          },
          "range": {
            "title": "Chart range",
            "type": "string",
            "description": "History range used when no start/end dates are supplied (mode=tickers).",
            "editor": "select",
            "enum": [
              "1d",
              "5d",
              "1mo",
              "3mo",
              "6mo",
              "1y",
              "2y",
              "5y",
              "10y",
              "ytd",
              "max"
            ],
            "enumTitles": [
              "1 day",
              "5 days",
              "1 month",
              "3 months",
              "6 months",
              "1 year",
              "2 years",
              "5 years",
              "10 years",
              "Year to date",
              "Max"
            ],
            "default": "1mo",
            "prefill": "5d"
          },
          "startDate": {
            "title": "History start date",
            "type": "string",
            "description": "Earliest date for historical bars (`YYYY-MM-DD`). Overrides `range` (mode=tickers).",
            "editor": "textfield"
          },
          "endDate": {
            "title": "History end date",
            "type": "string",
            "description": "Latest date for historical bars (`YYYY-MM-DD`). Overrides `range` (mode=tickers).",
            "editor": "textfield"
          },
          "interval": {
            "title": "Chart interval",
            "type": "string",
            "description": "Candle interval. Intraday intervals have shorter Yahoo range limits; incompatible combinations are clamped and reported in the run status.",
            "editor": "select",
            "enum": [
              "1m",
              "2m",
              "5m",
              "15m",
              "30m",
              "60m",
              "90m",
              "1h",
              "1d",
              "5d",
              "1wk",
              "1mo",
              "3mo"
            ],
            "enumTitles": [
              "1 minute",
              "2 minutes",
              "5 minutes",
              "15 minutes",
              "30 minutes",
              "60 minutes",
              "90 minutes",
              "1 hour",
              "1 day",
              "5 days",
              "1 week",
              "1 month",
              "3 months"
            ],
            "default": "1d",
            "prefill": "1d"
          },
          "includePrePost": {
            "title": "Include pre/post market bars",
            "type": "boolean",
            "description": "Include extended-hours bars for intraday history.",
            "default": false,
            "prefill": false
          },
          "includeHistory": {
            "title": "Include OHLCV history",
            "type": "boolean",
            "description": "Include historical bars with adjusted close.",
            "default": true,
            "prefill": false
          },
          "includeDividends": {
            "title": "Include dividends",
            "type": "boolean",
            "description": "Include the full dividend history from Yahoo chart events.",
            "default": true,
            "prefill": false
          },
          "includeSplits": {
            "title": "Include splits",
            "type": "boolean",
            "description": "Include stock-split history with numerator and denominator.",
            "default": true,
            "prefill": false
          },
          "includeNews": {
            "title": "Include news",
            "type": "boolean",
            "description": "Include ticker-related news headlines.",
            "default": true,
            "prefill": false
          },
          "maxNews": {
            "title": "Max news items",
            "type": "integer",
            "description": "Maximum news items per ticker. Yahoo's news graph serves 200+ items through cursor pagination; the actor caps this request at 200.",
            "default": 25,
            "prefill": 10,
            "minimum": 1,
            "maximum": 200
          },
          "includeFinancials": {
            "title": "Include annual financials",
            "type": "boolean",
            "description": "Include annual income statement, balance sheet and cash-flow statement.",
            "default": false,
            "prefill": false
          },
          "includeQuarterlyFinancials": {
            "title": "Include quarterly financials",
            "type": "boolean",
            "description": "Add quarterly statements under `financials.quarterly`. Takes effect only when `includeFinancials` is also on.",
            "default": false,
            "prefill": false
          },
          "includeHolders": {
            "title": "Include holders",
            "type": "boolean",
            "description": "Include institutional, mutual-fund, major-holder and insider-holder summaries.",
            "default": false,
            "prefill": false
          },
          "includeInsiders": {
            "title": "Include insider activity",
            "type": "boolean",
            "description": "Include insider transactions, insider holders and net share-purchase activity.",
            "default": false,
            "prefill": false
          },
          "includeOptions": {
            "title": "Include options chain",
            "type": "boolean",
            "description": "Include option chains for optionable symbols.",
            "default": false,
            "prefill": false
          },
          "optionExpirations": {
            "title": "Option expirations",
            "type": "integer",
            "description": "How many upcoming option expirations to fetch (mode=tickers, includeOptions=true).",
            "default": 1,
            "prefill": 1,
            "minimum": 1,
            "maximum": 25
          },
          "maxOptionContracts": {
            "title": "Max contracts per side",
            "type": "integer",
            "description": "Maximum calls and maximum puts per expiration.",
            "default": 50,
            "prefill": 50,
            "minimum": 1,
            "maximum": 500
          },
          "optionContractType": {
            "title": "Option contract type",
            "type": "string",
            "description": "Which option sides to return.",
            "editor": "select",
            "enum": [
              "both",
              "calls",
              "puts"
            ],
            "enumTitles": [
              "Calls and puts",
              "Calls only",
              "Puts only"
            ],
            "default": "both",
            "prefill": "both"
          },
          "minStrike": {
            "title": "Minimum strike",
            "type": "number",
            "description": "Drop option contracts below this strike.",
            "minimum": 0,
            "maximum": 1000000000
          },
          "maxStrike": {
            "title": "Maximum strike",
            "type": "number",
            "description": "Drop option contracts above this strike.",
            "minimum": 0,
            "maximum": 1000000000
          },
          "minVolume": {
            "title": "Minimum option volume",
            "type": "integer",
            "description": "Drop option contracts below this volume. Contracts with no volume are excluded when this is set.",
            "minimum": 0,
            "maximum": 1000000000
          },
          "minOpenInterest": {
            "title": "Minimum open interest",
            "type": "integer",
            "description": "Drop option contracts below this open interest. Contracts with no open interest are excluded when this is set.",
            "minimum": 0,
            "maximum": 1000000000
          },
          "minImpliedVolatilityPercent": {
            "title": "Minimum implied volatility (%)",
            "type": "number",
            "description": "Drop contracts below this implied volatility in percent, e.g. 25 means 25%.",
            "minimum": 0,
            "maximum": 1000
          },
          "includeRecommendations": {
            "title": "Include recommendations",
            "type": "boolean",
            "description": "Include the analyst recommendation summary and four-period recommendation trend.",
            "default": true,
            "prefill": false
          },
          "includeUpgradesDowngrades": {
            "title": "Include upgrades and downgrades",
            "type": "boolean",
            "description": "Include the latest analyst rating changes.",
            "default": false,
            "prefill": false
          },
          "includeAnalystPriceTargets": {
            "title": "Include price targets",
            "type": "boolean",
            "description": "Include the analyst price-target summary.",
            "default": true,
            "prefill": false
          },
          "includeEarningsHistory": {
            "title": "Include earnings history",
            "type": "boolean",
            "description": "Include recent quarters with EPS actual, estimate, difference and surprise.",
            "default": true,
            "prefill": false
          },
          "includeEarningsEstimates": {
            "title": "Include earnings estimates",
            "type": "boolean",
            "description": "Include EPS and revenue estimates plus growth estimates.",
            "default": false,
            "prefill": false
          },
          "includeEarningsCalendar": {
            "title": "Include earnings calendar",
            "type": "boolean",
            "description": "Include upcoming earnings dates, estimates and dividend dates.",
            "default": true,
            "prefill": false
          },
          "includeFundData": {
            "title": "Include fund data",
            "type": "boolean",
            "description": "Include fund profile, top holdings and performance for ETFs and mutual funds.",
            "default": false,
            "prefill": false
          },
          "includeSecFilings": {
            "title": "Include SEC filings",
            "type": "boolean",
            "description": "Include recent SEC filings with EDGAR links and exhibits.",
            "default": false,
            "prefill": false
          },
          "includeInsights": {
            "title": "Include analyst insights",
            "type": "boolean",
            "description": "Include technical outlook, research reports and significant developments.",
            "default": false,
            "prefill": false
          },
          "includeRelatedSymbols": {
            "title": "Include related symbols",
            "type": "boolean",
            "description": "Include Yahoo's related-symbol recommendations.",
            "default": false,
            "prefill": false
          },
          "maxResults": {
            "title": "Max results",
            "type": "integer",
            "description": "Maximum records for screener, customScreener, trending and marketSummary modes. Search uses maxSearchResults.",
            "default": 50,
            "prefill": 1,
            "minimum": 1,
            "maximum": 5000
          },
          "concurrency": {
            "title": "Concurrency",
            "type": "integer",
            "description": "Number of tickers fetched in parallel (mode=tickers).",
            "default": 4,
            "prefill": 1,
            "minimum": 1,
            "maximum": 16
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Yahoo Finance Market Data & Fundamentals Scraper Output",
        "description": "Dataset with ticker quotes (including US post-market fields), OHLCV history, expanded financial statements, dividends, splits, up to 200 news items, analyst and earnings data, holders, options, fund data with bond ratings and sector weights, SEC filings, insights, search results, custom and predefined screener rows, trending symbols and market summary rows.",
        "properties": {
          "tickers": {
            "type": "string",
            "title": "Yahoo Finance records",
            "description": "Dataset containing every scraped record (ticker, discovery or error).",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "../Dockerfile",
      "readme": "# Yahoo Finance Market Data & Fundamentals Scraper\r\n\r\nYahoo Finance is the default reference point for public market data, but its quote pages mix delayed prices, statements, analyst views, holder tables and option chains across dozens of separate views. This actor turns those views into one clean dataset: give it a watchlist, a search phrase, a screener, a region or nothing at all for a market overview, and receive structured records with source URLs and timestamps. It works for stocks, ETFs, mutual funds, indices, currency pairs, futures and crypto, and needs no account, API key or proxy setup.\r\n\r\n## What this actor does\r\n\r\n- **Six modes:** `tickers` (default), `search`, `screener`, `customScreener`, `trending`, `marketSummary`\r\n- **Deep quote data:** regular, pre-market and US post-market prices, bid/ask, day and 52-week ranges, valuation ratios, margins, growth, short interest, analyst targets and company risk scores\r\n- **History and events:** 13 chart intervals, 11 ranges, optional pre/post-market bars, adjusted close, full dividend history and split history\r\n- **Statements and ownership:** annual and quarterly income, balance-sheet and cash-flow statements with expanded high-fill fields; institutional, fund, major-holder and insider data\r\n- **Options and funds:** multiple current expirations with contract-level filters; ETF/mutual-fund profile, top holdings, bond ratings, sector weights, Morningstar ratings and performance\r\n- **Research extras:** search results with a localized lookup fallback, 22 predefined screeners, a region-aware custom screener, region-based trending symbols, market summary, up to 200 news items, analyst ratings, SEC filings and related symbols\r\n- **Empty fields are omitted** — optional data that Yahoo does not publish for a symbol is left out rather than emitted as `null`, `\"\"` or `[]`\r\n\r\n## Output per ticker (mode = `tickers`)\r\n\r\nEvery ticker record includes `recordType: \"ticker\"`, `ticker`, `summaryUrl`, `sourceUrl`, `scrapedAt`, and the fields below when Yahoo publishes them. Empty values are omitted.\r\n\r\n### Identity and quote\r\n\r\n- `companyName`, `shortName`, `sector`, `industry`, `country`, `website`, `businessSummary`, `fullTimeEmployees`\r\n- `currency`, `financialCurrency`, `exchange`, `exchangeFullName`, `market`, `marketState`, `quoteType`, `timezone`\r\n- `currentPrice`, `previousClose`, `open`, `dayHigh`, `dayLow`, `fiftyTwoWeekHigh`, `fiftyTwoWeekLow`\r\n- `dayChange`, `dayChangePercent`, `volume`, `averageVolume`, `averageDailyVolume10Day`, `averageDailyVolume3Month`\r\n- `bid`, `ask`, `bidSize`, `askSize`, `fiftyDayAverage`, `twoHundredDayAverage`\r\n- `preMarketPrice`, `preMarketChange`, `preMarketChangePercent`, `preMarketTime`, `hasPrePostMarketData`\r\n- `postMarketPrice`, `postMarketChange`, `postMarketChangePercent`, `postMarketTime` — US-listed equities and ETFs when Yahoo publishes an extended-hours quote\r\n- `fulldayPrice`, `fulldayChange`, `fulldayChangePercent`, `quoteSource`, `exchangeDataDelayedBy`, `firstTradeDate`\r\n- `marketCap`, `sharesOutstanding`, `floatShares`, `impliedSharesOutstanding`\r\n\r\n### Valuation, profitability and dividends\r\n\r\n- `beta`, `trailingPE`, `forwardPE`, `trailingEps`, `epsForward`, `epsCurrentYear`, `priceEpsCurrentYear`, `priceToBook`, `bookValue`\r\n- `enterpriseValue`, `enterpriseToRevenue`, `enterpriseToEbitda`, `profitMargins`, `operatingMargins`, `grossMargins`, `ebitdaMargins`\r\n- `returnOnAssets`, `returnOnEquity`, `revenueGrowth`, `earningsGrowth`, `revenuePerShare`\r\n- `totalCash`, `totalDebt`, `totalCashPerShare`, `freeCashflow`, `operatingCashflow`, `currentRatio`, `quickRatio`, `debtToEquity`, `payoutRatio`\r\n- `dividendRate`, `dividendYield`, `trailingAnnualDividendRate`, `trailingAnnualDividendYield`, `exDividendDate`, `dividendDate`\r\n- `fiveYearAvgDividendYield`, `lastDividendValue`, `lastDividendDate`, `lastSplitFactor`, `lastSplitDate`\r\n- `sharesShort`, `sharesShortPriorMonth`, `shortRatio`, `shortPercentOfFloat`, `sharesPercentSharesOut`, `heldPercentInsiders`, `heldPercentInstitutions`\r\n- `52WeekChange`, `SandP52WeekChange`, `mostRecentQuarter`, `lastFiscalYearEnd`, `nextFiscalYearEnd`\r\n- `recommendationKey`, `recommendationMean`, `numberOfAnalystOpinions`, `targetHighPrice`, `targetLowPrice`, `targetMeanPrice`, `targetMedianPrice`\r\n- `earningsTimestamp`, `earningsTimestampStart`, `earningsTimestampEnd`, `isEarningsDateEstimate`, `earningsCallTimestampStart`, `earningsCallTimestampEnd`, `averageAnalystRating`\r\n\r\n### Company profile and risk\r\n\r\n- `address1`, `city`, `state`, `zip`, `phone`, `irWebsite`\r\n- `auditRisk`, `boardRisk`, `compensationRisk`, `shareHolderRightsRisk`, `overallRisk`, `governanceEpochDate`, `compensationAsOfEpochDate`\r\n- `companyOfficers[]` — `name`, `title`, `age`, `totalPay`, `exercisedValue`, `unexercisedValue`\r\n- `statistics` — curated key statistics and financial-data ratios\r\n\r\n### History and corporate actions (when enabled)\r\n\r\n- `history[]` — `date`, `datetime`, `open`, `high`, `low`, `close`, `adjclose`, `volume`, `dividends`, `stock_splits`\r\n- `historyCount`\r\n- `dividends[]` — `date`, `value`; `dividendCount`. Dates are actual event dates when Yahoo exposes them, not month-start chart keys\r\n- `splits[]` — `date`, `value`, `numerator`, `denominator`, `splitRatio`; `splitCount`\r\n- `capitalGains[]` — when Yahoo publishes a capital-gain event\r\n\r\n### Financial statements (when `includeFinancials` is on)\r\n\r\n- `financials.income`, `financials.balance`, `financials.cashflow` — each keyed by fiscal period, with statement values in the reporting currency. The curated set covers 122 high-fill Yahoo types, including `EBIT`, `EBITDA`, `Net_Tangible_Assets`, `Beginning_Cash_Position`, `Invested_Capital` and `Tax_Rate_For_Calcs`; the legacy nested shape and underscore labels are unchanged\r\n- `financials.quarterly.income`, `financials.quarterly.balance`, `financials.quarterly.cashflow` — when `includeQuarterlyFinancials` is on\r\n- `financials.currency` — reporting currency\r\n- `financials.periods` — available annual and quarterly period dates\r\n\r\n### News, analyst and earnings\r\n\r\n- `news[]` — `title`, `url`, `publisher`, `publishedAt`, `type`, `relatedTickers`, `thumbnailUrl`, `summary`, `description` when Yahoo provides them; `newsCount`. The primary feed is Yahoo's Finance Nexus graph with cursor pagination, so `maxNews` can go up to 200; search news and the HTML page remain fallbacks\r\n- `recommendations` — `strongBuy`, `buy`, `hold`, `sell`, `strongSell`\r\n- `recommendationTrend[]` — `period`, `strongBuy`, `buy`, `hold`, `sell`, `strongSell`\r\n- `upgradeDowngradeHistory[]` — `firm`, `fromGrade`, `toGrade`, `action`, `priceTargetAction`, `currentPriceTarget`, `priorPriceTarget`, `gradeDate`\r\n- `analystPriceTargets` — `current`, `high`, `low`, `mean`, `median`\r\n- `earningsHistory[]` — `quarter`, `epsActual`, `epsEstimate`, `epsDifference`, `surprisePercent`\r\n- `earningsDates[]` — `date`, `reportedDate`, `epsEstimate`, `reportedEps`, `surprisePercent`\r\n- `earningsEstimates` — `earnings[]`, `revenue[]`, `growthEstimates[]`\r\n- `calendarEvents` — `earningsDate`, `earningsCallDate`, `isEarningsDateEstimate`, `earningsAverage`, `earningsLow`, `earningsHigh`, `revenueAverage`, `revenueLow`, `revenueHigh`, `exDividendDate`, `dividendDate`\r\n- `calendar` — the same dates and estimates with legacy snake-case keys\r\n\r\n### Holders and insiders (when enabled)\r\n\r\n- `holders.institutional[]`, `holders.mutualFund[]` — `Date_Reported`, `Holder`, `pctHeld`, `Shares`, `Value`, `pctChange`\r\n- `holders.major` — `insidersPercentHeld`, `institutionsPercentHeld`, `institutionsFloatPercentHeld`, `institutionsCount`\r\n- `holders.insiderHolders[]` — `name`, `relation`, `transactionDescription`, `latestTransDate`, `positionDirect`, `positionIndirect`, `valueDirect`\r\n- `holders.netSharePurchaseActivity` — buy/sell/net counts and shares, insider percentages and institutional net buying\r\n- `insiderTransactions[]` — `Shares`, `Value`, `URL`, `Text`, `Insider`, `Position`, `Transaction`, `Start_Date`, `Ownership`; `insiderTransactionCount`\r\n\r\n### Options (when `includeOptions` is on)\r\n\r\n- `optionExpirations[]` — upcoming expiration dates\r\n- `options` — `expiration`, `calls[]`, `puts[]`, and an underlying `quote`\r\n- `optionChains[]` — present when more than one expiration is requested\r\n- Contract fields: `contractSymbol`, `strike`, `currency`, `lastPrice`, `change`, `percentChange`, `volume`, `openInterest`, `bid`, `ask`, `contractSize`, `expiration`, `lastTradeDate`, `impliedVolatility`, `inTheMoney`\r\n\r\n### Funds, filings and research extras\r\n\r\n- `fundProfile` — `family`, `categoryName`, `legalType`, `annualReportExpenseRatio`, `annualHoldingsTurnover`, `totalNetAssets` (absolute value, not millions), `managerName`, `managerBio`, `inceptionDate` (fund inception when Yahoo publishes it; omitted otherwise)\r\n- `topHoldings` — `cashPosition`, `stockPosition`, `bondPosition`, `otherPosition`, `preferredPosition`, `convertiblePosition`, `holdings[]`, `equityHoldings`, `bondHoldings`, `otherHoldings`, `bondRatings[]`, `sectorWeightings[]` (rating and sector rows are `{key, value}`; equity sector weights are empty for non-equity funds such as GLD and TLT)\r\n- `fundPerformance` — `asOfDate`, benchmark fields, period returns, fund averages and `morningStarOverallRating` / `morningStarRiskRating` for mutual funds\r\n- `secFilings[]` — `date`, `type`, `title`, `edgarUrl`, `exhibits[]`\r\n- `insights` — technical outlook, key technicals, valuation, research reports and significant developments\r\n- `relatedSymbols[]` — `symbol`, `score`\r\n- `requestedTicker` — present when an input alias resolved to a different Yahoo symbol (for example `BRK.B` → `BRK-B`)\r\n\r\n## Output: discovery modes\r\n\r\n### `searchResult` (mode = `search`)\r\n\r\n`recordType`, `ticker`, `sourceUrl`, `scrapedAt`, `name`, `longName`, `exchange`, `exchangeDisplay`, `quoteType`, `typeDisplay`, `sector`, `industry`, `score`, `isYahooFinance`, optional `quote` snapshot.\r\n\r\n### `screenerResult` (mode = `screener` or `customScreener`)\r\n\r\n`recordType`, `ticker`, `sourceUrl`, `scrapedAt`, `screenerId`, `screenerName`, `rank`, plus quote fields such as `currentPrice`, `previousClose`, `marketCap`, `trailingPE`, `forwardPE`, `dividendYield`, `fiftyTwoWeekHigh`, `fiftyTwoWeekLow`, `volume`, `averageVolume`, `dayChange`, `dayChangePercent`, `quoteType`, `exchange`, `currency`, `marketState`, pre-market/post-market fields and `fullday*` fields. Custom rows also include `region` and `screenerSort`.\r\n\r\n### `trendingSymbol` (mode = `trending`)\r\n\r\n`recordType`, `ticker`, `sourceUrl`, `scrapedAt`, `region`, `rank`, plus the same quote fields when Yahoo returns them.\r\n\r\n### `marketSummary` (mode = `marketSummary`)\r\n\r\n`recordType`, `ticker`, `sourceUrl`, `scrapedAt`, `shortName`, `fullExchangeName`, `quoteType`, `marketState`, `currentPrice`, `dayChange`, `dayChangePercent`, `previousClose`, `regularMarketTime`, `typeDisplay`.\r\n\r\n### `error`\r\n\r\n`recordType: \"error\"`, `type: \"yahoo_finance_error\"`, `error`, `ticker`, `reason`, `message`, `sourceUrl`, `scrapedAt`. `error` mirrors the legacy short reason (`no_data`). Invalid or delisted symbols produce this record instead of a partial ticker record.\r\n\r\n## Input\r\n\r\n| Field | Type | Default | Description |\r\n|---|---|---|---|\r\n| `mode` | string | `tickers` | `tickers` / `search` / `screener` / `customScreener` / `trending` / `marketSummary` |\r\n| `tickers` | array | – | Symbols or Yahoo quote URLs (mode=tickers). |\r\n| `searchQuery` | string | – | Company or symbol name (mode=search). |\r\n| `maxSearchResults` | integer | `10` | Search results to return (1–50). |\r\n| `screenerId` | string | `day_gainers` | One of 22 Yahoo predefined screeners (mode=screener). |\r\n| `screenerSort` | string | `intradaymarketcap` | `intradaymarketcap` / `percentchange` / `dayvolume` (mode=customScreener). |\r\n| `region` | string | `US` | Market region for quotes, search, trending and the custom screener. |\r\n| `language` | string | `en-US` | Language for names, news and labels. |\r\n| `range` | string | `1mo` | Chart range when no dates are supplied. |\r\n| `startDate` | string | – | History start (`YYYY-MM-DD`); overrides `range`. |\r\n| `endDate` | string | – | History end (`YYYY-MM-DD`); overrides `range`. |\r\n| `interval` | string | `1d` | `1m` … `3mo`; intraday combinations are range-limited. |\r\n| `includePrePost` | boolean | `false` | Include extended-hours intraday bars. |\r\n| `includeHistory` | boolean | `true` | Include OHLCV history. |\r\n| `includeDividends` | boolean | `true` | Include full dividend history. |\r\n| `includeSplits` | boolean | `true` | Include split history. |\r\n| `includeNews` | boolean | `true` | Include ticker news. |\r\n| `maxNews` | integer | `25` | News items per ticker (1–200). |\r\n| `includeFinancials` | boolean | `false` | Include annual statements. |\r\n| `includeQuarterlyFinancials` | boolean | `false` | Add quarterly statements; requires `includeFinancials`. |\r\n| `includeHolders` | boolean | `false` | Include holder summaries. |\r\n| `includeInsiders` | boolean | `false` | Include insider transactions and net purchase activity. |\r\n| `includeOptions` | boolean | `false` | Include option chains. |\r\n| `optionExpirations` | integer | `1` | Upcoming expirations to fetch (1–25). |\r\n| `maxOptionContracts` | integer | `50` | Calls and puts per expiration (1–500 each). |\r\n| `optionContractType` | string | `both` | `both` / `calls` / `puts`. |\r\n| `minStrike` | number | – | Minimum option strike. |\r\n| `maxStrike` | number | – | Maximum option strike. |\r\n| `minVolume` | integer | – | Minimum option volume. |\r\n| `minOpenInterest` | integer | – | Minimum option open interest. |\r\n| `minImpliedVolatilityPercent` | number | – | Minimum IV, e.g. `25` = 25%. |\r\n| `includeRecommendations` | boolean | `true` | Recommendation summary and trend. |\r\n| `includeUpgradesDowngrades` | boolean | `false` | Analyst rating changes. |\r\n| `includeAnalystPriceTargets` | boolean | `true` | Price-target summary. |\r\n| `includeEarningsHistory` | boolean | `true` | Recent EPS actuals vs estimates. |\r\n| `includeEarningsEstimates` | boolean | `false` | Forward EPS/revenue estimates. |\r\n| `includeEarningsCalendar` | boolean | `true` | Upcoming earnings and dividend dates. |\r\n| `includeFundData` | boolean | `false` | ETF/mutual-fund profile, holdings and performance. |\r\n| `includeSecFilings` | boolean | `false` | Recent SEC filings. |\r\n| `includeInsights` | boolean | `false` | Technical outlook, reports and developments. |\r\n| `includeRelatedSymbols` | boolean | `false` | Yahoo related-symbol recommendations. |\r\n| `maxResults` | integer | `50` | Record cap for discovery modes (1–5000). |\r\n| `concurrency` | integer | `4` | Tickers processed in parallel (1–16). |\r\n\r\n### Example: daily watchlist\r\n\r\n```json\r\n{\r\n  \"mode\": \"tickers\",\r\n  \"tickers\": [\"AAPL\", \"MSFT\", \"NVDA\"],\r\n  \"range\": \"5d\",\r\n  \"interval\": \"1d\",\r\n  \"includeHistory\": true,\r\n  \"includeNews\": false\r\n}\r\n```\r\n\r\n### Example: full fundamentals and ownership\r\n\r\n```json\r\n{\r\n  \"mode\": \"tickers\",\r\n  \"tickers\": [\"AAPL\"],\r\n  \"includeFinancials\": true,\r\n  \"includeQuarterlyFinancials\": true,\r\n  \"includeHolders\": true,\r\n  \"includeInsiders\": true,\r\n  \"includeEarningsEstimates\": true,\r\n  \"includeSecFilings\": true\r\n}\r\n```\r\n\r\n### Example: option chain with filters\r\n\r\n```json\r\n{\r\n  \"mode\": \"tickers\",\r\n  \"tickers\": [\"TSLA\"],\r\n  \"includeOptions\": true,\r\n  \"optionExpirations\": 3,\r\n  \"maxOptionContracts\": 25,\r\n  \"optionContractType\": \"both\",\r\n  \"minStrike\": 200,\r\n  \"maxStrike\": 500,\r\n  \"minOpenInterest\": 100,\r\n  \"minImpliedVolatilityPercent\": 20\r\n}\r\n```\r\n\r\n### Example: ETF research\r\n\r\n```json\r\n{\r\n  \"mode\": \"tickers\",\r\n  \"tickers\": [\"SPY\", \"QQQ\"],\r\n  \"includeFundData\": true,\r\n  \"includeDividends\": true,\r\n  \"includeHistory\": false\r\n}\r\n```\r\n\r\n### Example: discover symbols and market movers\r\n\r\n```json\r\n{\r\n  \"mode\": \"screener\",\r\n  \"screenerId\": \"day_gainers\",\r\n  \"maxResults\": 25\r\n}\r\n```\r\n\r\n```json\r\n{\r\n  \"mode\": \"customScreener\",\r\n  \"region\": \"JP\",\r\n  \"screenerSort\": \"percentchange\",\r\n  \"maxResults\": 100\r\n}\r\n```\r\n\r\n```json\r\n{\r\n  \"mode\": \"search\",\r\n  \"searchQuery\": \"electric vehicles\",\r\n  \"maxSearchResults\": 10\r\n}\r\n```\r\n\r\n```json\r\n{\r\n  \"mode\": \"trending\",\r\n  \"region\": \"GB\",\r\n  \"maxResults\": 10\r\n}\r\n```\r\n\r\n## Use cases\r\n\r\n- **Watchlist monitoring** — schedule a small ticker list for daily quote, pre-market and news snapshots\r\n- **Backtesting and charting** — export OHLCV bars with adjusted close across 13 intervals and 11 ranges\r\n- **Fundamental screening** — pull annual and quarterly statements, margins, growth and analyst targets into a warehouse\r\n- **Options research** — collect multiple expirations and filter by strike, volume, open interest or implied volatility\r\n- **ETF and fund due diligence** — compare expense ratios, top holdings, sector exposure and trailing returns\r\n- **Market discovery** — feed screener, search, trending and market-summary rows into alerting or research dashboards\r\n- **Ownership and insider tracking** — monitor institutional positions, insider holders and net purchase activity\r\n- **Compliance and filing research** — collect SEC filing links and exhibits for a list of companies\r\n\r\n## Known hard limits\r\n\r\nThese are limits of Yahoo's public data, verified during the revamp; the actor does not fabricate values for them:\r\n\r\n- **Options history and source greeks:** only current option chains are served, and there are no source greeks (no delta/gamma/theta/vega in Yahoo's contract payload). Historical chains are unavailable.\r\n- **US-only options:** option chains exist only for optionable US-listed symbols; no HK/EU/index/FX/crypto chains.\r\n- **Statements for funds, indices, FX, crypto and futures:** Yahoo has no income, balance-sheet or cash-flow statements for these instrument types. Fund profiles and holdings are the substitute.\r\n- **ESG/sustainability:** Yahoo retired the ESG modules and page; the field is not emitted.\r\n- **Predefined screener region:** the predefined endpoint is US-centric and ignores `region`; use `customScreener`.\r\n- **CJK direct search:** `/v1/finance/search` rejects non-Latin text with HTTP 400; the localized `/v1/finance/lookup` fallback is the supported path and can still return zero documents.\r\n- **Screener page size:** Yahoo accepts at most 250 rows per request; the actor paginates to reach `maxResults`.\r\n- **News source cap:** the graph is paginated by cursor and is capped at 200 items per ticker by this actor; the search fallback is smaller.\r\n- **Trending sparsity:** several regions return only 1–4 symbols upstream.\r\n\r\n## FAQ\r\n\r\n**Do I need an API key, login, cookies or a proxy?**\r\nNo. The actor reads Yahoo Finance's public web data without an account. It uses no user cookies or API keys, and it works without a proxy by default.\r\n\r\n**Are quotes real-time?**\r\nMost Yahoo quotes are delayed, often by about 15 minutes for US equities. The record's `quoteSource`, `exchangeDataDelayedBy` and `marketState` fields tell you what Yahoo reported for that snapshot.\r\n\r\n**Can I get pre-market and after-hours prices?**\r\nPre-market fields are included when Yahoo publishes them. `postMarket*` fields (`postMarketPrice`, `postMarketChange`, `postMarketChangePercent`, `postMarketTime`) are mapped from Yahoo's quote summary (with the quote-v7 fields as fallback). Post-market values were verified for US-listed equities and ETFs (12/12) and were absent for non-US listings, indices, FX, crypto and futures (0/18), so treat these fields as US-only. Intraday history can include pre/post-market bars with `includePrePost`.\r\n\r\n**Why are some fields missing for my ticker?**\r\nNot every instrument type has every data type. Indices, currencies, futures and crypto usually have quotes and charts but no company statements, holders or options. ETFs have fund data instead of company statements. The actor omits a field when Yahoo has no value for it.\r\n\r\n**How many news items can I get?**\r\nThe actor reads Yahoo's Finance Nexus graph first and paginates its cursor, so `maxNews` supports up to 200 items per symbol (AAPL returned 148, MSFT 132, NVDA 182 and SPY 138 in verification). News works for equities, ETFs, indices, FX and crypto on this path. If the graph returns nothing, the actor falls back to Yahoo's search feed (about 50 items) and then the HTML news page. Results are deduplicated by URL; news can mention related tickers, so use `relatedTickers` when you need to filter relevance.\r\n\r\n**Why is the options chain missing?**\r\nOptions exist only for optionable US-listed symbols. Foreign listings, indices, currencies, futures and crypto do not have a Yahoo option chain. Yahoo exposes only current expirations, not historical chains, and its contract payload contains no delta, gamma, theta or vega. Historical options, source-provided greeks and non-US option chains are confirmed hard limits; the actor does not invent them.\r\n\r\n**Why are quarterly statements missing?**\r\nQuarterly statements require both `includeFinancials` and `includeQuarterlyFinancials`. Operating companies, not funds, indices, FX, crypto or futures, publish them; those instrument types have no Yahoo income/balance/cash-flow statements (a confirmed hard limit). Use `includeFundData` for fund profiles and holdings. Some foreign issuers report only annual periods.\r\n\r\n**What does `financials` contain?**\r\n`financials.income`, `financials.balance` and `financials.cashflow` are keyed by fiscal period. Values are in the reporting currency shown in `financials.currency`; `financials.periods` lists the available dates. Quarterly groups sit under `financials.quarterly`. Item keys keep the legacy underscore labels such as `Total_Revenue`, `Net_Income` and `Operating_Cash_Flow`, so existing spreadsheet and API integrations continue to work.\r\n\r\n**Why is `dividendYield` a small number like 0.31?**\r\nFor backward compatibility, `dividendYield` keeps Yahoo's percentage number: `0.31` means 0.31%. The additive `trailingAnnualDividendYield` is a fraction: `0.0031` means the same yield. `heldPercentInsiders` and `heldPercentInstitutions` are fractions; `debtToEquity` is a percentage number.\r\n\r\n**Why is the sustainability/ESG field gone?**\r\nYahoo retired its ESG endpoints and the sustainability page no longer returns scores. The actor does not advertise or emit a `sustainability` field, and an old task that sends `includeSustainability` continues to run with a logged no-op.\r\n\r\n**Can I search in any language?**\r\nCompany names and news localize through the `language` and `region` inputs, and unicode names are preserved in output. Yahoo's `/v1/finance/search` endpoint rejects non-Latin text with HTTP 400 (a confirmed source limit), so for Japanese, Chinese or Korean queries the actor automatically falls back to `/v1/finance/lookup` with the selected language and region. Lookup returned documents for most JA/ZH-Hans/ZH-Hant/KO probes. If it returns none, the run status says so explicitly; try a ticker (`7203.T`), an English name, or another region/language.\r\n\r\n**How are fund and option values expressed?**\r\nFund positions (`cashPosition`, `stockPosition`, `holdingPercent`) are fractions: `0.0836` means 8.36%. `fundProfile.totalNetAssets` is absolute fund assets (USD for US-listed funds), normalized from Yahoo's raw millions when that is the only value available. Option `impliedVolatility` uses Yahoo's percentage number: `2.0859` means 208.59%, while the `minImpliedVolatilityPercent` input is a percent: `25` means 25%. `marketSummary.dayChangePercent` is also Yahoo's percentage number. `postMarketChangePercent` is normalized to the same percentage-number convention (`0.63` means 0.63%). Statement values are in `financials.currency`.\r\n\r\n**Why do predefined screeners return US rows even when I pick another region?**\r\nYahoo's predefined screener endpoint is US-centric and ignores the region parameter (confirmed hard limit). Use `mode: \"customScreener\"` instead: it posts a region operand to Yahoo's custom screener and returned regional rows for 30 of 31 region codes (JP 3,814; IN 8,553; PE 0). The actor paginates in 250-row requests until `maxResults` or source exhaustion. Predefined screeners are unchanged.\r\n\r\n**Why does trending return only a few symbols for some regions?**\r\nYahoo's trending feed is sparse outside the US. A region with one to three symbols is a genuine upstream result, not an early stop. The run status reports the shortfall, and `mode: \"customScreener\"` provides a region-wide fallback.\r\n\r\n**What happens to a delisted or invalid symbol?**\r\nThe actor emits an explicit `error` record with `reason: \"no_data\"` and continues with the other symbols. It does not emit a silent partial ticker record. Aliases such as `BRK.B` are resolved to Yahoo's spelling (`BRK-B`) and return data. Rare-symbol HTTP 500 quote pages were not reproduced locally (306 of 306 rare/crypto pages returned 200); the actor still keeps the quote-v7, chart and HTML fallbacks and reports an error rather than fabricating values.\r\n\r\n**Why are some fund fields missing?**\r\n`topHoldings.bondRatings` and `topHoldings.sectorWeightings` are present when Yahoo publishes them; equity sector weights are empty for non-equity funds such as GLD and TLT. `fundProfile.totalNetAssets` is normalized to absolute assets and omitted when Yahoo only returns a zero sentinel; `fundProfile.inceptionDate` comes from Yahoo's fund inception field, not the current manager's start date, and is omitted when unavailable. Morningstar overall/risk ratings are populated for mutual funds but empty for most ETFs, so they are omitted when absent rather than emitted as zero. SEC filings can be attached to one share class only; for example GOOGL's `secFilings` module is empty while GOOG returns filings, so the actor falls back to the sibling class and records `secFilingsSourceSymbol`.\r\n\r\n**Is this affiliated with Yahoo?**\r\nNo. This is an independent, third-party actor that reads Yahoo Finance's publicly available data and is not affiliated with or endorsed by Yahoo.\r\n",
      "defaultRunOptions": {
        "memoryMbytes": 512,
        "timeoutSecs": 3600
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "title": "Yahoo Finance records",
          "views": {
            "tickers": {
              "title": "Ticker overview",
              "transformation": {
                "fields": [
                  "ticker",
                  "companyName",
                  "sector",
                  "industry",
                  "currency",
                  "currentPrice",
                  "marketCap",
                  "dayChangePercent",
                  "marketState",
                  "sourceUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "ticker": {
                    "label": "Ticker",
                    "format": "text"
                  },
                  "companyName": {
                    "label": "Company",
                    "format": "text"
                  },
                  "sector": {
                    "label": "Sector",
                    "format": "text"
                  },
                  "industry": {
                    "label": "Industry",
                    "format": "text"
                  },
                  "currency": {
                    "label": "Cur",
                    "format": "text"
                  },
                  "currentPrice": {
                    "label": "Price",
                    "format": "number"
                  },
                  "marketCap": {
                    "label": "Market Cap",
                    "format": "number"
                  },
                  "dayChangePercent": {
                    "label": "%",
                    "format": "number"
                  },
                  "marketState": {
                    "label": "Market",
                    "format": "text"
                  },
                  "sourceUrl": {
                    "label": "Yahoo URL",
                    "format": "link"
                  }
                }
              }
            },
            "discovery": {
              "title": "Discovery results",
              "transformation": {
                "fields": [
                  "recordType",
                  "ticker",
                  "name",
                  "longName",
                  "shortName",
                  "exchange",
                  "quoteType",
                  "sector",
                  "industry",
                  "screenerId",
                  "screenerName",
                  "region",
                  "rank",
                  "currentPrice",
                  "dayChangePercent",
                  "sourceUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "recordType": {
                    "label": "Type",
                    "format": "text"
                  },
                  "ticker": {
                    "label": "Ticker",
                    "format": "text"
                  },
                  "name": {
                    "label": "Name",
                    "format": "text"
                  },
                  "longName": {
                    "label": "Long name",
                    "format": "text"
                  },
                  "shortName": {
                    "label": "Short name",
                    "format": "text"
                  },
                  "exchange": {
                    "label": "Exchange",
                    "format": "text"
                  },
                  "quoteType": {
                    "label": "Quote type",
                    "format": "text"
                  },
                  "sector": {
                    "label": "Sector",
                    "format": "text"
                  },
                  "industry": {
                    "label": "Industry",
                    "format": "text"
                  },
                  "screenerId": {
                    "label": "Screener",
                    "format": "text"
                  },
                  "screenerName": {
                    "label": "Screener name",
                    "format": "text"
                  },
                  "region": {
                    "label": "Region",
                    "format": "text"
                  },
                  "rank": {
                    "label": "Rank",
                    "format": "number"
                  },
                  "currentPrice": {
                    "label": "Price",
                    "format": "number"
                  },
                  "dayChangePercent": {
                    "label": "%",
                    "format": "number"
                  },
                  "sourceUrl": {
                    "label": "Yahoo URL",
                    "format": "link"
                  }
                }
              }
            },
            "errors": {
              "title": "Errors",
              "transformation": {
                "fields": [
                  "recordType",
                  "type",
                  "error",
                  "ticker",
                  "reason",
                  "message",
                  "sourceUrl",
                  "scrapedAt"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "recordType": {
                    "label": "Type",
                    "format": "text"
                  },
                  "type": {
                    "label": "Error type",
                    "format": "text"
                  },
                  "error": {
                    "label": "Error",
                    "format": "text"
                  },
                  "ticker": {
                    "label": "Ticker",
                    "format": "text"
                  },
                  "reason": {
                    "label": "Reason",
                    "format": "text"
                  },
                  "message": {
                    "label": "Message",
                    "format": "text"
                  },
                  "sourceUrl": {
                    "label": "Yahoo URL",
                    "format": "link"
                  },
                  "scrapedAt": {
                    "label": "Scraped at",
                    "format": "text"
                  }
                }
              }
            }
          }
        }
      }
    },
    "buildNumber": "1.0.2",
    "imageDigest": "835c019a9e0fb63e023221a2ec0d1f341f16517bbf9e7ab315e2b1d5bf5273e4",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.012385555555555556
    }
  }
}