Yahoo Finance Scraper: Stock Quotes, History, Profiles, News
Pricing
from $0.40 / 1,000 quotes
Yahoo Finance Scraper: Stock Quotes, History, Profiles, News
Scrape Yahoo Finance for any ticker: live quotes with market cap, P/E, 52 week range and dividends, daily, weekly or monthly price history with splits and dividends, company profile with key statistics and financials, and news headlines. Stocks, ETFs, crypto, FX. No login.
Pricing
from $0.40 / 1,000 quotes
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
8 days ago
Last modified
Categories
Share
From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors.
Why choose this actor?
- Quotes for any market in one fast call. Our test run returned 20 of 20 quotes in 5.8 seconds: US stocks, India (NSE), London, Toronto, Tokyo and Frankfurt listings, an ETF, the S&P 500 index, Bitcoin and EUR/USD, with price, change, market cap, P/E, 52 week range and dividend on each row. Yahoo serves 50 tickers per request, so 1,000 tickers take 20 requests.
- History, fundamentals and news in the same run. Switch on price history, profiles or news and each ticker gets them too: our 5 ticker test returned 1,369 daily bars (with the dividends on the day they were paid), 5 profiles (81 fields for Apple and Microsoft, 71 for Reliance) and 40 headlines in 12.2 seconds, with no request refused.
- No Yahoo account, no API key, no cookies to paste. The actor reads Yahoo Finance's public pages the way an anonymous visitor's browser does. Unknown symbols, tickers without news and anything Yahoo does not show come back as free status rows, never charged.
Part of The Mine Works Company and business data family: Company Domain Finder, GST Taxpayer Lookup, Company KYB Resolver, SEC EDGAR Filings Scraper, EU VAT Checker (VIES), Tech Stack Detector.
Try it in one minute
Paste this into the input (JSON view) and press Start. It returns 10 quotes in a few seconds:
{"tickers": ["AAPL", "MSFT", "NVDA", "AMZN", "GOOGL", "META", "TSLA", "RELIANCE.NS", "BTC-USD", "^GSPC"]}
Give tickers the way Yahoo Finance writes them: US stocks as AAPL, other exchanges with their suffix (RELIANCE.NS for India's NSE, BP.L for London, SHOP.TO for Toronto, 7203.T for Tokyo, SAP.DE for XETRA), funds and ETFs as VFIAX or SPY, indices with a caret (^GSPC, ^NSEI), crypto as BTC-USD, currencies as EURUSD=X and futures as GC=F. Quote page links such as https://finance.yahoo.com/quote/AAPL/ work too, and so does a leading $. Up to 1,000 tickers per run.
On Apify's free plan every run returns the first 10 results as a preview, so you can check the data and the fields before you pay. A paid Apify plan returns every result: https://apify.com/pricing?fpr=ymnoit
Copy to your AI assistant
themineworks/yahoo-finance-scraper on Apify. Scrapes Yahoo Finance public data for any ticker: quotes (price, change, volume, market cap, P/E, EPS, 52 week range, dividend, next earnings), daily, weekly or monthly price history with dividends and splits, company profile with key statistics and financials, and news headlines. Call ApifyClient("TOKEN").actor("themineworks/yahoo-finance-scraper").call(run_input={"tickers": ["AAPL", "MSFT"], "includeQuotes": True, "includeHistory": True, "historyRange": "1y", "historyInterval": "1d"}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: tickers (Yahoo symbols like AAPL, RELIANCE.NS, BTC-USD, ^GSPC, EURUSD=X, or quote links). Optional: includeQuotes (default true), includeHistory (default false), includeProfile (default false), includeNews (default false), historyRange ("1mo", "3mo", "6mo", "ytd", "1y", "2y", "5y", "10y", "max", default "1y"), historyInterval ("1d", "1wk", "1mo", default "1d"), historyStartDate and historyEndDate (YYYY-MM-DD, replace the range), maxNewsPerTicker (default 10, 10 to 50). Rows carry record_type quote, price_bar, profile or news. Full spec: GET https://api.apify.com/v2/acts/themineworks~yahoo-finance-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
Key features
- Quotes, up to 63 fields (35 to 52 filled per row in our test, depending on the asset): price, change and change percent, previous close, open, day range, volume and average volumes, market cap, trailing and forward P/E and EPS, price to book, shares outstanding, dividend rate and yield, next earnings date, 52 week range and change, 50 and 200 day averages, bid and ask, pre and after hours prices, analyst rating, market state, plus supply for crypto, net assets and expense ratio for funds, open interest and expiry for futures.
- Price history: daily, weekly or monthly bars with open, high, low, close, adjusted close and volume, for a range (1 month to everything) or between two dates. The dividend and the split ratio sit on the bar where they happened, so one table holds the whole story.
- Profiles with key statistics: sector, industry, employees, business summary, website, address, officers as Yahoo publishes them, valuation (enterprise value, PEG, price to sales, EV to EBITDA, beta), ownership and short interest, revenue, margins, cash, debt, growth, analyst consensus and price targets, yearly revenue and earnings, quarterly EPS against estimates. ETFs and funds get family, category, assets and expense ratio.
- News: up to 50 recent headlines per ticker with publisher, link, time, related tickers and a flag that says whether the story is tagged with your ticker.
- Every asset class Yahoo covers: stocks on the world's exchanges, ETFs, mutual funds, indices, crypto, currencies and futures, mixed in one list.
- A run summary you can audit: the
OUTPUTrecord lists every ticker with what was found, plus requests and charges, so an empty result always has a reason.
How to use it
Basic: quotes for a watchlist
{"tickers": ["AAPL", "MSFT", "NVDA", "SPY", "^GSPC"]}
Several data types at once
Quotes, one year of daily prices, profiles and the 10 latest headlines for each ticker:
{"tickers": ["AAPL", "MSFT", "RELIANCE.NS", "SPY", "BTC-USD"],"includeQuotes": true,"includeHistory": true,"historyRange": "1y","historyInterval": "1d","includeProfile": true,"includeNews": true,"maxNewsPerTicker": 10}
Every row carries record_type (quote, price_bar, profile or news), so you can split the dataset into four tables, or use the four views on the dataset page.
Job: end of day prices into a spreadsheet
Schedule quotes for your portfolio after the market closes and append them to Google Sheets: one row per ticker per day with price, change, volume, market cap and P/E.
{"tickers": ["AAPL", "MSFT", "JPM", "V", "BRK-B", "RELIANCE.NS", "TCS.NS", "SAP.DE"]}
Scheduling tip: in Apify Console open this actor, then Schedules, then add a schedule for each trading day after the close of your main exchange, and connect the Google Sheets integration to append rows.
Job: back test data for a list of tickers
Ten years of weekly bars with dividends and splits, ready for pandas or a spreadsheet:
{"tickers": ["SPY", "QQQ", "TLT", "GLD", "^GSPC", "^NSEI"],"includeQuotes": false,"includeHistory": true,"historyRange": "10y","historyInterval": "1wk"}
Or a fixed window with exact dates (weekly bars start on Monday, monthly bars on the 1st):
{"tickers": ["AAPL", "^GSPC", "^FTSE"],"includeQuotes": false,"includeHistory": true,"historyInterval": "1wk","historyStartDate": "2020-01-01","historyEndDate": "2020-12-31"}
close is the price as traded; adj_close is adjusted for later splits and dividends, which is what return calculations need.
Job: company research and screening
Profiles with sector, size, margins, growth, debt and analyst targets, to sort and filter in a sheet:
{"tickers": ["AAPL", "MSFT", "NVDA", "AMZN", "GOOGL", "META", "TSLA", "AVGO", "ORCL", "CRM"],"includeQuotes": false,"includeProfile": true}
Job: daily news digest for a portfolio
The latest headlines for each holding, with publisher and link. Filter on mentions_ticker to keep stories Yahoo tagged with that ticker.
{"tickers": ["NVDA", "TSLA", "BTC-USD", "GC=F"],"includeQuotes": false,"includeNews": true,"maxNewsPerTicker": 20}
Scheduling tip: run it every morning and drop news_id values you have already stored, since the actor does not remember earlier runs.
Input parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
tickers | array of strings | ["AAPL", "MSFT", "NVDA", "RELIANCE.NS", "BTC-USD"] | Yahoo Finance symbols or quote links, up to 1,000. Stocks with their exchange suffix, ETFs, funds, indices (^GSPC), crypto (BTC-USD), currencies (EURUSD=X) and futures (GC=F). |
includeQuotes | boolean | true | One quote row per ticker. |
includeHistory | boolean | false | Price history rows: one per day, week or month. |
includeProfile | boolean | false | One profile row per ticker with key statistics and financials. |
includeNews | boolean | false | News headline rows. |
historyRange | string | "1y" | "1mo", "3mo", "6mo", "ytd", "1y", "2y", "5y", "10y" or "max". Ignored when historyStartDate is set. |
historyInterval | string | "1d" | "1d" (daily), "1wk" (weekly) or "1mo" (monthly). |
historyStartDate | string (date) | none | First day of the history (YYYY-MM-DD). Replaces the range. |
historyEndDate | string (date) | today | Last day of the history, with a start date. |
maxNewsPerTicker | integer | 10 | Most headlines per ticker, newest first. From 10 to 50. |
If you switch everything off, the actor returns quotes. It also reads tickers from symbols or startUrls if your input already uses those names.
What data do you get?
Up to four kinds of rows, told apart by record_type. Fields by group:
Quote rows (record_type: "quote")
- Identity:
symbol,input(what you typed),name,short_name,quote_type(EQUITY, ETF, MUTUALFUND, INDEX, CRYPTOCURRENCY, CURRENCY, FUTURE),exchange,exchange_name,currency,exchange_timezone,url. - Price:
price,change,change_percent,previous_close,open,day_low,day_high,market_state(PRE, REGULAR, POST, CLOSED),market_time,quote_source,bid,ask,bid_size,ask_size,pre_market_price,pre_market_change_percent,post_market_price,post_market_change_percent. - Volume and trend:
volume,avg_volume_3m,avg_volume_10d,fifty_two_week_low,fifty_two_week_high,fifty_two_week_change_percent,fifty_day_average,two_hundred_day_average,first_trade_date. - Valuation and dividends:
market_cap,shares_outstanding,pe_trailing,pe_forward,eps_trailing,eps_forward,price_to_book,book_value,dividend_rate,dividend_yield_percent,trailing_dividend_rate,trailing_dividend_yield_percent,dividend_date,next_earnings_date,analyst_rating(Yahoo's average rating, a score from 1 for strong buy to 5 for sell, with its label). - Other assets:
circulating_supply,max_supply,volume_24h(crypto);net_assets,expense_ratio_percent,ytd_return_percent(funds);open_interest,expire_date,underlying_symbol(futures).
Price bar rows (record_type: "price_bar")
symbol,name,currency,interval,date(the trading day in the exchange's time zone, or the Monday of the week, or the 1st of the month),timestamp,open,high,low,close,adj_close,volume,dividend(per share, on the bar where it was paid),split_ratio(for example4:1),exchange_timezone.
Profile rows (record_type: "profile")
- Company:
name,quote_type,exchange,currency,sector,industry,full_time_employees,business_summary,website,ir_website,phone,address,city,state,zip,country,officers(each withname,title,year_born,total_payandfiscal_yearwhen Yahoo shows them),governance_overall_risk. - Valuation:
market_cap,enterprise_value,pe_trailing,pe_forward,peg_ratio,price_to_book,price_to_sales,enterprise_to_revenue,enterprise_to_ebitda,beta. - Shares:
shares_outstanding,float_shares,insiders_percent,institutions_percent,short_percent_of_float,short_ratio. - Financials (trailing 12 months):
total_revenue,revenue_per_share,gross_profits,ebitda,net_income,operating_cash_flow,free_cash_flow,total_cash,total_debt,debt_to_equity_percent,current_ratio,quick_ratio,book_value,eps_trailing,eps_forward,financial_currency. - Margins and growth, in percent:
gross_margin_percent,operating_margin_percent,ebitda_margin_percent,profit_margin_percent,return_on_assets_percent,return_on_equity_percent,revenue_growth_percent,earnings_growth_percent. - Dividends and dates:
dividend_rate,dividend_yield_percent,payout_ratio_percent,ex_dividend_date,last_split_factor,last_split_date,fiscal_year_end,most_recent_quarter,next_earnings_date. - Analysts:
recommendation,recommendation_mean,analyst_count,target_mean_price,target_median_price,target_high_price,target_low_price. - History:
yearly_financials(revenue and earnings per fiscal year),quarterly_eps(actual against estimate). - Funds and ETFs:
fund_family,fund_category,fund_total_assets,fund_expense_ratio_percent,fund_ytd_return_percent,fund_inception_date.
News rows (record_type: "news")
symbol,position(1 is the newest),news_id,title,publisher,url,published_at,news_type,related_tickers,mentions_ticker(the story is tagged with your ticker),search_query,thumbnail_url.
Every percentage field has percent in its name and is in percent (0.32 means 0.32%). Ratios such as current_ratio and beta are plain numbers. Money fields are in the row's currency (profiles: financial_currency).
Status rows (free)
- An unknown ticker, a ticker without history, profile or news, and a value that is not a ticker each get one row with
_type: "status",input,symbol,status(not_found,no_history,no_profile,no_news,invalid_inputorerror), a plainnoteand the quote pageurl. They are never charged. Filter them out with_type.
Stable fields for automations
These fields were present in every row of their type in our test runs (20 quotes; 1,369 price bars; 40 headlines), and their names will not change:
| Field | Row type | What it is |
|---|---|---|
record_type | all | quote, price_bar, profile or news |
symbol | all | Yahoo Finance symbol |
name | quote, price bar | Company or instrument name |
currency | quote, price bar | Trading currency |
price | quote | Last price |
change_percent | quote | Change from the previous close, percent |
volume | quote, price bar | Volume |
fifty_two_week_low | quote | 52 week low |
fifty_two_week_high | quote | 52 week high |
market_time | quote | Time of the last price |
date | price bar | Trading day, week or month |
close | price bar | Close |
adj_close | price bar | Close adjusted for splits and dividends |
title | news | Headline |
published_at | news | Publish time |
scraped_at | all | When the row was read |
Profile rows always carry symbol, name, quote_type, currency and url; the other profile fields depend on what Yahoo publishes for that company or fund.
Output examples
Real rows from our test runs on 6 October 2026 (Indian time), trimmed. Some fields are left out to keep them short.
A US stock quote:
{"record_type": "quote","symbol": "AAPL","name": "Apple Inc.","quote_type": "EQUITY","exchange_name": "NasdaqGS","currency": "USD","market_state": "POST","price": 332.89,"change": -0.799988,"change_percent": -0.2397,"previous_close": 333.69,"day_low": 331.65,"day_high": 336.19,"volume": 32147465,"market_cap": 4858257080320,"pe_trailing": 38.1755,"pe_forward": 34.7381,"eps_trailing": 8.72,"dividend_rate": 1.08,"dividend_yield_percent": 0.32,"next_earnings_date": "2026-10-29","fifty_two_week_low": 243.42,"fifty_two_week_high": 345.34,"fifty_two_week_change_percent": 29.9973,"two_hundred_day_average": 289.1586,"post_market_price": 333.05,"market_time": "2026-10-05T20:00:02.000Z","url": "https://finance.yahoo.com/quote/AAPL/","scraped_at": "2026-10-05T20:29:46.708Z"}
A Tokyo listing and Bitcoin, from the same run:
{"record_type": "quote","symbol": "7203.T","name": "Toyota Motor Corporation","exchange_name": "Tokyo","currency": "JPY","price": 2893.5,"change_percent": 1.2953,"market_cap": 34264347312128,"pe_trailing": 8.2347,"dividend_yield_percent": 3.5,"next_earnings_date": "2026-11-05","exchange_timezone": "Asia/Tokyo"}
{"record_type": "quote","symbol": "BTC-USD","name": "Bitcoin USD","quote_type": "CRYPTOCURRENCY","price": 85769.98,"change_percent": -0.0616,"market_cap": 1723181957120,"fifty_two_week_high": 126198.07,"circulating_supply": 20093952,"max_supply": 21000000,"quote_source": "CoinMarketCap"}
A daily price bar with the dividend paid that day (Reliance Industries on the NSE):
{"record_type": "price_bar","symbol": "RELIANCE.NS","name": "Reliance Industries Limited","currency": "INR","interval": "1d","date": "2026-06-05","timestamp": "2026-06-05T03:45:00.000Z","open": 1304.5,"high": 1306,"low": 1288,"close": 1291,"adj_close": 1291,"volume": 17785223,"dividend": 6,"exchange_timezone": "Asia/Kolkata","scraped_at": "2026-10-05T20:30:03.037Z"}
A weekly bar that holds Apple's 4 for 1 split (2020 window):
{"record_type": "price_bar","symbol": "AAPL","interval": "1wk","date": "2020-08-31","open": 127.580002,"high": 137.979996,"low": 110.889999,"close": 120.959999,"adj_close": 117.226921,"volume": 1167976600,"split_ratio": "4:1"}
A company profile (business summary cut, 3 of 10 officers shown):
{"record_type": "profile","symbol": "AAPL","name": "Apple Inc.","sector": "Technology","industry": "Consumer Electronics","full_time_employees": 150000,"business_summary": "Apple Inc. designs, manufactures, and markets smartphones, personal computers, tablets, wearables, and accessories worldwide...","website": "https://www.apple.com","city": "Cupertino","country": "United States","officers": [{ "name": "Mr. Timothy D. Cook", "title": "Executive Chairman of the Board", "year_born": 1961, "total_pay": 16759518, "fiscal_year": 2025 },{ "name": "Mr. Kevan Parekh", "title": "Senior VP & CFO", "year_born": 1972, "total_pay": 4034174, "fiscal_year": 2025 },{ "name": "Mr. John Ternus", "title": "CEO & Director", "year_born": 1976, "fiscal_year": 2025 }],"market_cap": 4858257080320,"enterprise_value": 4891877048320,"peg_ratio": 2.67,"beta": 1.069,"total_revenue": 466822987776,"free_cash_flow": 107721875456,"profit_margin_percent": 27.619,"revenue_growth_percent": 16.4,"return_on_equity_percent": 148.751,"debt_to_equity_percent": 78.445,"recommendation": "buy","analyst_count": 39,"target_mean_price": 328.0938,"last_split_factor": "4:1","next_earnings_date": "2026-10-29","yearly_financials": [{ "year": 2024, "revenue": 391035000000, "earnings": 93736000000 },{ "year": 2025, "revenue": 416161000000, "earnings": 112010000000 }]}
An ETF profile:
{"record_type": "profile","symbol": "SPY","name": "State Street SPDR S&P 500 ETF Trust","quote_type": "ETF","pe_trailing": 25.0345,"dividend_yield_percent": 0.98,"fund_family": "State Street Investment Management","fund_category": "Large Blend","fund_total_assets": 811937038336,"fund_expense_ratio_percent": 0.0945,"fund_ytd_return_percent": 13.7463,"fund_inception_date": "1993-01-22"}
A headline:
{"record_type": "news","symbol": "MSFT","position": 1,"news_id": "1fc47fd4-e06c-3a92-9cbe-d998d001cbf7","title": "Nasdaq notches record high close as investors focus on earnings","publisher": "Reuters","url": "https://finance.yahoo.com/markets/stocks/articles/wall-st-futures-dip-tech-104659511.html","published_at": "2026-10-05T20:00:37.000Z","news_type": "STORY","related_tickers": ["CL=F", "NVDA", "^IXIC", "MSFT", "META", "TSLA"],"mentions_ticker": true,"search_query": "MSFT"}
A free status row (never charged):
{"_type": "status","input": "RELIANCE.NS","symbol": "RELIANCE.NS","status": "no_news","note": "Yahoo shows no news for \"RELIANCE.NS\" right now. Not charged.","url": "https://finance.yahoo.com/quote/RELIANCE.NS/","scraped_at": "2026-10-05T20:30:10.181Z"}
Pricing
Pay per event: you pay for the rows you receive, plus a flat $0.005 per run, whatever memory you choose. Each row type has its own price, because one daily bar and a full company profile are not worth the same.
Free plan runs return up to 10 results each; paid plans have no cap.
| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
quote-scraped | Once per quote row stored in your dataset | $0.40 per 1,000 | $0.40 per 1,000 | $0.40 per 1,000 | $0.40 per 1,000 |
price-bar-scraped | Once per price history row (one day, week or month) | $0.10 per 1,000 | $0.10 per 1,000 | $0.10 per 1,000 | $0.10 per 1,000 |
profile-scraped | Once per profile row | $0.60 per 1,000 | $0.60 per 1,000 | $0.60 per 1,000 | $0.60 per 1,000 |
news-scraped | Once per headline row | $0.20 per 1,000 | $0.20 per 1,000 | $0.20 per 1,000 | $0.20 per 1,000 |
run-start | Once per run, when it starts | $0.005 | $0.005 | $0.005 | $0.005 |
The price of a single row is the price per 1,000 divided by 1,000. A year of daily history is about 250 bars per stock (365 for crypto, which trades every day).
Never charged:
- status rows: unknown tickers, values that are not tickers, and tickers with no history, profile or news;
- the quote request the actor makes to check your tickers when quotes are switched off (it only decides which tickers exist; no quote row is delivered or billed);
- a ticker you listed twice (read once);
- requests Yahoo refused;
- anything past your "Max cost per run": the actor stops delivering when your limit is reached instead of sending rows for free.
FAQ
What do I get on the free plan?
On Apify's free plan every run returns the first 10 rows as a preview, counting quote, price bar, profile and news rows together, so you can check the data and the fields before you pay. A paid Apify plan returns every row with no cap: https://apify.com/pricing?fpr=ymnoit
What does this actor read?
The public data on Yahoo Finance quote pages: the quote panel, the historical prices table, the profile, statistics and financials summaries, and the news list. It reads the same JSON the finance.yahoo.com pages load in your browser, as an anonymous visitor.
Do I need a Yahoo account, cookies or an API key?
No. Yahoo hands every visitor an anonymous cookie and a short token; the actor fetches its own for each session, as a browser does. You never log in or paste anything.
Which tickers work?
Everything Yahoo Finance has a quote page for: stocks on most of the world's exchanges (with Yahoo's suffix, such as .NS, .BO, .L, .TO, .T, .DE, .PA, .HK, .AX), ETFs, mutual funds, indices (^GSPC, ^DJI, ^IXIC, ^NSEI, ^FTSE), crypto pairs (BTC-USD, ETH-USD), currencies (EURUSD=X, USDINR=X) and futures (GC=F, CL=F). If you are unsure of a symbol, search for the company on finance.yahoo.com and copy the symbol or the link.
How fresh are the prices?
As fresh as Yahoo's quote page at the time of the run. Each quote row carries market_time (the time of the last price) and quote_source (for example "Nasdaq Real Time Price" or "Delayed Quote"); many exchanges are delayed by 15 to 20 minutes on Yahoo. Outside trading hours you get the last close plus pre market or after hours prices where Yahoo shows them.
How far back does price history go?
As far as Yahoo has it: "historyRange": "max" returns everything (Apple's daily history starts in December 1980). Use weekly or monthly bars for long ranges to keep the row count down, or set historyStartDate and historyEndDate for an exact window.
Are prices adjusted for splits and dividends?
open, high, low and close are adjusted for splits, as Yahoo shows them; adj_close is also adjusted for dividends. The dividend per share and the split ratio are given on the bar where they happened.
How many tickers can I run at once, and how long does it take?
Up to 1,000 per run. Quotes come 50 tickers per request (20 quotes took 5.8 seconds in our test, including the visitor session). History, profiles and news take one request per ticker each, four tickers at a time: 5 tickers with a year of daily bars, profiles and news took 12.2 seconds, and 100 large US stocks with quotes, profiles and news (1,158 rows) took 40.5 seconds with none of the 212 requests refused.
Do I need to set up a proxy?
No. The actor uses Apify's datacenter proxy on its own, keeps a few visitor sessions on separate IPs and retries a refused request on a new one. There is no proxy setting to choose.
What happens with a wrong ticker?
It is checked first with the quote request, then reported in one free status row (not_found) and skipped for history, profiles and news, so it costs nothing. Values that are not ticker symbols at all are listed as invalid_input.
Which formats can I download?
JSON, CSV, Excel, XML, HTML table and RSS from the dataset page, or the same through the API. The dataset has four views (quotes, price history, profiles, news); for a spreadsheet, filter on record_type so each tab holds one row type.
Can I use it from Claude, ChatGPT or Cursor (MCP)?
- Connector URL: https://mcp.apify.com/?tools=themineworks/yahoo-finance-scraper
- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code:
claude mcp add -t http yahoo-finance-scraper "https://mcp.apify.com/?tools=themineworks/yahoo-finance-scraper"
Is it legal to scrape Yahoo Finance?
The actor only reads data Yahoo Finance shows publicly to any visitor without signing in, and it does not collect personal data beyond company officers as Yahoo publishes them. Market data can be subject to the terms of Yahoo and of the exchanges that supply it: you are responsible for how you use and redistribute the data, and for data protection law such as GDPR and CCPA. Nothing here is investment advice.
Integrations
- Google Sheets: append each run's quotes or bars to a sheet with Apify's Google Sheets integration, for a daily portfolio log.
- Make, Zapier and n8n: start the actor and read its dataset with the Apify apps and nodes, for example "price below the 200 day average, send an email".
- Webhooks: have Apify call your URL when a run succeeds, then fetch the dataset.
- API and SDKs: run it from Python or JavaScript with the Apify client, or with a plain HTTP call (see "Copy to your AI assistant" above); the rows load straight into pandas.
- MCP clients: Claude, ChatGPT, Cursor and VS Code can run it as a tool through the connector URL in the FAQ.
More from The Mine Works
Company and business data
- Company Domain Finder
- GST Taxpayer Lookup
- Company KYB Resolver
- SEC EDGAR Filings Scraper
- EU VAT Checker (VIES)
- Tech Stack Detector
- Bundesanzeiger Scraper
- Domain to LinkedIn URL Resolver
- World Bank Trade Scraper
- US Import Records
- Y Combinator Scraper
- Norway Company Register
Social media and video
Leads and business directories
Marketing, SEO and reviews
Real estate
Science, health and government data
Jobs and hiring
E-commerce and marketplaces
Food and local services
Developer and AI tools
More tools
Support
Found a ticker that should work and does not? Open an issue in the Issues tab with the symbol and the run ID, and we will look at it. For a new source or a field you need, email dmineworks@gmail.com.
Give a list of tickers from any market and get Yahoo Finance quotes, price history with dividends and splits, company profiles with key statistics, and news as clean rows, without an account or an API key.

