Yahoo Finance Summary + Key Statistics
Pricing
Pay per usage
Yahoo Finance Summary + Key Statistics
Scrape Yahoo Finance summary and key statistics for multiple tickers with explicit per-row status, contract versioning, and optional parsed numeric fields.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Sam Fold
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Yahoo Finance Quote + Key Statistics Actor
Scrape Yahoo Finance quote summary and key statistics data with a high-performance, low-resource Actor on Apify. This Actor is built for users who want structured finance rows (1 row per ticker), explicit status/error signaling, and production-friendly reliability controls.
What does this Yahoo Finance scraper Actor do?
This Actor fetches Yahoo quote payloads and maps them into a stable output contract with:
- explicit row statuses:
ok,partial,not_found,error - contract version signaling:
contractVersion - optional numeric helper fields for easier analytics
- retry/backoff and proxy support for better cloud reliability
It is designed for fast, stable data extraction at scale without heavy runtime overhead.
Why use this Yahoo Finance scraper on Apify?
Beyond scraping itself, you also get Apify platform capabilities:
- scheduled and recurring runs
- API-first triggering and dataset access
- run logs and observability in Console
- proxy integration and rotation support
- easy export to JSON/CSV/Excel from dataset outputs
This makes the Actor usable for both one-off analysis and continuous data pipelines.
What data can this Yahoo Finance scraper extract?
The Actor maps Yahoo quote summary/statistics payloads into a unified row per ticker.
| Data point | Example key |
|---|---|
| Company and symbol info | companyName, ticker |
| Price snapshot | currentPrice, priceChange, priceChangePercent |
| Market cap and volume | marketCapIntraday, volume, avgVolume |
| Valuation metrics | trailingPE, forwardPE, priceBook, priceSales, pegRatio5yrExpected |
| Profitability and growth | profitMargin, operatingMarginTtm, quarterlyRevenueGrowthYoy |
| Balance sheet and cash flow | totalCashMrq, totalDebtMrq, operatingCashFlowTtm |
| Trading stats | 52WeekRange, 52WeekChange, avgVol_3Month |
| Dividends and splits | forwardDividendYield, dividendDate, lastSplitFactor |
| Status and error envelope | status, errorCode, errorMessage |
Supported modes:
full(default)summarystatistics
How to scrape Yahoo Finance data with this Actor
- Open this Actor in Apify Console.
- Add ticker list in input (for example
NVDA,AAPL,MSFT). - Keep
crawlModeasfullunless you need only one module family. - Keep
useApifyProxy=truefor better reliability. - Start the run and inspect dataset rows and
OUTPUTsummary.
Quick input example:
{"tickers": ["NVDA", "AAPL", "MSFT"],"crawlMode": "full","includeParsedFields": true,"maxConcurrency": 16,"maxRetries": 2,"retryBackoffMs": 400,"timeoutSecs": 12,"useApifyProxy": true}
Input settings
| Field | Type | Default | Notes |
|---|---|---|---|
tickers | string[] | ["NVDA","AAPL","MSFT"] | Required, 1..500, duplicates removed. |
crawlMode | "full" | "summary" | "statistics" | "full" | Module family selection. |
includeParsedFields | boolean | true | Adds typed numeric helpers like currentPriceNum. |
maxConcurrency | integer | 16 | Parallel ticker workers, 1..64. |
maxRetries | integer | 2 | Retry budget for retryable failures, 0..8. |
retryBackoffMs | integer | 400 | Linear retry backoff base (ms), 50..30000. |
timeoutSecs | integer | 12 | Per-request timeout, 3..120. |
host | string | "finance.yahoo.com" | Yahoo host override (for example UK host). |
lang | string | "en-US" | Accept-Language header. |
region | string | "US" | Region metadata label in output. |
useApifyProxy | boolean | true | Recommended for cloud reliability. |
apifyProxyGroups | string[] | [] | Optional Apify proxy groups. |
apifyProxyCountry | string | null | Optional proxy country code. |
proxyUrls | string[] | [] | Explicit proxies; overrides Apify proxy mode. |
Output example
Each dataset row contains envelope + finance fields. Example (abridged):
{"contractVersion": "1.0.0","ticker": "NVDA","status": "ok","scrapedAt": "2026-02-17T00:10:44.451Z","sourceSummaryUrl": "https://finance.yahoo.com/quote/NVDA/","sourceStatisticsUrl": "https://finance.yahoo.com/quote/NVDA/key-statistics/","companyName": "NVIDIA Corporation (NVDA)","currentPrice": "182.78","currentPriceNum": 182.78,"marketCapIntraday": "4.45T","marketCapIntradayNum": 4450000000000,"trailingPE": "45.24","trailingPENum": 45.24}
Run-level summary is written to OUTPUT with timing, status counts, and warning metadata.
How much does it cost to scrape Yahoo Finance?
Pricing is shown directly on the Actor page in Apify Store, and total run cost depends on:
- run duration and compute usage
- proxy usage/traffic
- ticker count and retry behavior
As a reference from cloud runs on February 17, 2026:
50tickers:usageTotalUsd=0.011436823155810436(~0.0002287USD per ticker),memAvg ~60.76 MiB,memMax ~71.47 MiB100tickers:usageTotalUsd=0.011325477939580879(~0.0001133USD per ticker),memAvg ~57.22 MiB,memMax ~75.92 MiB
Treat these as directional benchmarks, not guaranteed pricing.
Performance and resource efficiency
Recent benchmark runs show:
- strong completion at higher batch sizes (
50:ok=50/50;100:ok=99/100,not_found=1) - low memory footprint in cloud runs (roughly
57-76 MiBaverage/max range in these runs) - low per-result cost profile in larger batches
- explicit run diagnostics and row-level status reporting to support production monitoring
FAQ
Is scraping Yahoo Finance legal?
You are responsible for how you use scraped data and for compliance with applicable laws, contracts, and policies. If your use case involves personal data or regulated workflows, consult legal counsel.
Why do values differ between runs?
Market data changes continuously, especially around market open/close and during high volatility. Minor value drift between runs is expected.
What should I do if I see rate limits (429)?
- keep
useApifyProxy=true - reduce
maxConcurrency - keep retries enabled (
maxRetries > 0) - retry failed subset tickers in follow-up runs
Why do I sometimes get not_found?
Some symbols can be unavailable or ambiguous at source time. The Actor returns explicit not_found rows instead of silently dropping those tickers.
Actor ID
- Active actor:
samfold/yahoo-finance-scraper
Support
Use the Actor Issues tab for support requests and include:
runId- input payload
- affected ticker subset
- representative
errorCode/errorMessage
Maintainer operations reference:
docs/apify/build-push-optimization.md
Contract versioning
- Patch (
1.0.x): additive/non-breaking fixes - Minor (
1.x.0): backward-compatible structural changes - Major (
x.0.0): breaking changes
If your downstream parser is strict, validate contractVersion before processing.