Google Finance Scraper — Stock Prices, News & Market Data
Pricing
from $20.00 / 1,000 stock results
Google Finance Scraper — Stock Prices, News & Market Data
Extract real-time prices, P/E ratio, market cap, EPS, dividends, 52-week range, company info and news from Google Finance $0.020/result. MCP/API-ready.
Pricing
from $20.00 / 1,000 stock results
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
14
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Google Finance Scraper | Stocks, Crypto & Market Data
Use this Apify Actor when you need one structured record per Google Finance ticker. It accepts a list of tickers or symbols and returns a single dataset item for each one, with fields such as current price, currency, price change, 52-week range, market cap, P/E ratio, forward P/E, dividend yield, EPS, company profile details, latest news, raw stats, source URL, and scraped timestamp. The output is suitable for portfolio monitoring, market research, and AI workflows through Apify and Apify MCP.
Best fit and connected workflows
This Actor fits workflows that start with a watchlist and end with structured market data. It works well when you want Google Finance quote pages turned into records that can be filtered, stored, compared, or passed into downstream tools.
Common routing patterns include:
- Watchlist refreshes for a small or large set of tickers
- Financial dashboards that need price and key stats in a tabular dataset
- AI agent workflows through Apify MCP that need ticker-level market facts
- News-aware research runs when
includeNewsis enabled - Batch enrichment for stocks, ETFs, crypto pairs, forex pairs, indices, and mutual funds
Focused standalone workflow
This Actor is designed as a focused standalone workflow.
Practical scenario
Maya, a portfolio analyst, has a watchlist with AAPL:NASDAQ, TSLA:NASDAQ, and NVDA:NASDAQ. She starts a run with news enabled because she wants both valuation data and recent headlines. The dataset returns fields such as current_price, price_change_percent, market_cap, pe_ratio, dividend_yield, and news. Maya uses those fields to compare the tickers side by side, then follows up by exporting the dataset to a spreadsheet for review.
Input
The Actor accepts a ticker list and optional execution controls.
| Field | Type | Required | Description |
|---|---|---|---|
tickers | array of strings | Yes | Tickers or symbols to scrape from Google Finance. Supports stocks with or without exchange suffix, indices, crypto pairs, forex pairs, and mutual funds. Up to 1,000 tickers per run. |
includeNews | boolean | No | Includes up to 5 latest news articles per ticker, each with title, source, date, and URL. |
maxResults | integer | No | Limits how many tickers are processed. Use 0 to scrape the full list. |
maxConcurrency | integer | No | Sets how many tickers are processed in parallel. |
requestDelay | integer | No | Sets a delay in milliseconds between requests. |
proxyConfiguration | object | No | Proxy settings for the run. Residential proxies are strongly recommended for Google Finance scraping. |
Focused input example
{"tickers": ["AAPL:NASDAQ", "TSLA:NASDAQ", "BTC-USD"],"includeNews": true,"maxResults": 3,"maxConcurrency": 3,"requestDelay": 0}
Output
The Actor writes one dataset record per ticker. The primary event title is Stock Result, charged per ticker successfully scraped.
| Field | Type | Description |
|---|---|---|
ticker | string | Ticker symbol used for the record. |
exchange | string or null | Exchange associated with the ticker. |
company_name | string or null | Company name as shown on Google Finance. |
current_price | number or null | Latest price at scrape time. |
currency | string | Currency code for price fields. |
price_change | number or null | Absolute day change. |
price_change_percent | number or null | Day change in percent. |
previous_close | number or null | Previous trading close. |
day_range_low | number or null | Intraday low. |
day_range_high | number or null | Intraday high. |
year_low | number or null | 52-week low. |
year_high | number or null | 52-week high. |
market_cap | string or null | Formatted market cap. |
market_cap_usd | number or null | Numeric market cap in USD. |
pe_ratio | number or null | Trailing P/E ratio. |
forward_pe | number or null | Forward P/E ratio. |
dividend_yield | number or null | Dividend yield as a percentage. |
average_volume | number or null | Average daily volume. |
eps | number or null | Earnings per share. |
beta | number or null | Beta. |
revenue_ttm | string or null | Trailing 12 month revenue. |
net_income_ttm | string or null | Trailing 12 month net income. |
employees | integer or null | Number of employees. |
ceo | string or null | CEO name. |
founded | string or null | Founding year or date. |
headquarters | string or null | Headquarters location. |
website | string or null | public company website. |
description | string or null | Company description from Google Finance. |
news | array | Up to 5 recent articles per ticker. |
raw_stats | object | Raw key-value pairs from the Google Finance stats table. |
source_url | string | Google Finance page URL used for the scrape. |
scraped_at | string | ISO 8601 timestamp for the scrape. |
Illustrative output record
{"ticker": "AAPL","exchange": "NASDAQ","company_name": "Apple Inc.","current_price": 175.43,"currency": "USD","price_change": 2.15,"price_change_percent": 1.24,"previous_close": 173.28,"day_range_low": 172.9,"day_range_high": 176.1,"year_low": 142.65,"year_high": 199.62,"market_cap": "2.74T","market_cap_usd": 2740000000000,"pe_ratio": 28.5,"forward_pe": 26.2,"dividend_yield": 0.52,"average_volume": 55000000,"eps": 6.46,"beta": 1.29,"revenue_ttm": "383.29B","net_income_ttm": "96.99B","employees": 164000,"ceo": "Tim Cook","founded": "1976","headquarters": "Cupertino, CA","website": "https://www.apple.com","description": "Apple Inc. designs, manufactures, and markets smartphones, personal computers, tablets, wearables, and accessories worldwide.","news": [{"title": "Apple shares move after earnings update","source": "Reuters","date": "3 hours ago","url": "https://example.com/article","snippet": "Apple reported results and guidance that investors are reviewing."}],"raw_stats": {"previous close": "173.28","market cap": "2.74T","p/e ratio": "28.5"},"source_url": "https://www.google.com/finance/quote/AAPL:NASDAQ","scraped_at": "2026-03-28T14:30:00.000Z"}
How it works
The Actor visits the Google Finance quote page for each ticker in your input list and extracts the visible quote panel and related company information into structured JSON.
Implementation facts exposed by the contract:
- It supports up to 1,000 tickers per run
- It can include up to 5 recent news articles per ticker
- It exposes both parsed fields and
raw_statsas a fallback for Google Finance labels - It is an Apify Actor usable through Apify MCP
- It uses pay per event pricing with a primary event called
Stock Result
Pricing
This Actor uses Pay per event pricing plus Apify platform usage.
The primary charge is per successfully scraped ticker. The contract shows a Stock Result event priced at $0.02 per event, and the Actor also has an Apify actor start event tied to platform usage. For the current live pricing details, open the Pricing tab in the Apify Console.
Example in words: if you scrape fifty tickers, the event-based charge follows the per-ticker rate shown in the live Pricing tab, and Apify platform usage is applied according to the run's start-event accounting.
Use with AI agents (MCP)
This Actor can be used through Apify MCP as a tool for fetching Google Finance market data on demand.
Actor identity: khadinakbar/google-finance-stock-news-scraper
Tool behavior: pass a list of tickers, optionally include news, and receive one structured dataset record per ticker for agent reasoning, comparison, summarization, or extraction into another workflow.
Get the latest Google Finance data for AAPL:NASDAQ and TSLA:NASDAQ, include news, then return the current price, P/E ratio, market cap, dividend yield, and source URLs in a compact summary.
What the output means:
current_price,price_change, andprice_change_percentdescribe the latest quoted price snapshotpe_ratio,forward_pe,eps,dividend_yield,market_cap, andmarket_cap_usdsupport valuation analysisnewsprovides recent articles when enabledsource_urlandscraped_atprovide provenance and timing for each record
Scope and provenance:
- Each record is tied to a single Google Finance quote page
- The dataset item reflects the scrape moment recorded in
scraped_at raw_statspreserves source labels from the page for fallback parsing
Pagination and cost guidance:
- One dataset item is produced per ticker
- News is capped at up to 5 articles per ticker
- Cost scales with the number of tickers processed and the live event pricing shown in the Pricing tab
Apify API example
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('khadinakbar/google-finance-stock-news-scraper').call({tickers: ['AAPL:NASDAQ', 'TSLA:NASDAQ'],includeNews: true,maxResults: 2,});const items = await client.dataset(run.defaultDatasetId).listItems();console.log(items.items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('khadinakbar/google-finance-stock-news-scraper').call(run_input={'tickers': ['AAPL:NASDAQ', 'TSLA:NASDAQ'],'includeNews': True,'maxResults': 2,})dataset_id = run['defaultDatasetId']items = list(client.dataset(dataset_id).iterate_items())print(items)
Best results and outcome guidance
Use exchange suffixes when you have them, especially for non-US tickers. Keep includeNews enabled only when you need article data. For large watchlists, use moderate concurrency and a small request delay to keep runs steady. If you are validating input, start with a short ticker list and confirm that the dataset records contain the fields you need before scaling up.
Design note
I found that the live dataset contract includes both market_cap and market_cap_usd, which makes the record useful for both display and numeric sorting.
FAQ
Can this Actor handle more than one asset type?
Yes. The input schema supports stocks, indices, crypto pairs, forex pairs, and mutual funds.
Does the Actor return one record per ticker?
Yes. The dataset contract is structured around one record per ticker, with ticker, source_url, and scraped_at required.
Can I use ticker symbols without exchange suffixes?
Yes. The schema accepts symbols like AAPL and TSLA, and those default to NASDAQ according to the input description.
When should I enable news?
Enable includeNews when you want recent articles alongside price and fundamental data. Leave it off when you only need quote and company fields.
What if I need raw Google Finance labels too?
Use raw_stats. It preserves the page's raw key-value pairs and can serve as a fallback when a specific parsed field is null.
Responsible use
Use this Actor for publicly available Google Finance pages and for workflows that align with Apify and source-site access policies. Keep request volume and concurrency aligned with the input settings and your use case. For financial decisions, treat the output as a live data snapshot from the scrape moment and verify it against your own process before acting on it.