Google Finance Scraper — Stock Prices, News & Market Data avatar

Google Finance Scraper — Stock Prices, News & Market Data

Pricing

from $20.00 / 1,000 stock results

Go to Apify Store
Google Finance Scraper — Stock Prices, News & Market Data

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

2

Monthly active users

4 days ago

Last modified

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 includeNews is 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.

FieldTypeRequiredDescription
tickersarray of stringsYesTickers 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.
includeNewsbooleanNoIncludes up to 5 latest news articles per ticker, each with title, source, date, and URL.
maxResultsintegerNoLimits how many tickers are processed. Use 0 to scrape the full list.
maxConcurrencyintegerNoSets how many tickers are processed in parallel.
requestDelayintegerNoSets a delay in milliseconds between requests.
proxyConfigurationobjectNoProxy 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.

FieldTypeDescription
tickerstringTicker symbol used for the record.
exchangestring or nullExchange associated with the ticker.
company_namestring or nullCompany name as shown on Google Finance.
current_pricenumber or nullLatest price at scrape time.
currencystringCurrency code for price fields.
price_changenumber or nullAbsolute day change.
price_change_percentnumber or nullDay change in percent.
previous_closenumber or nullPrevious trading close.
day_range_lownumber or nullIntraday low.
day_range_highnumber or nullIntraday high.
year_lownumber or null52-week low.
year_highnumber or null52-week high.
market_capstring or nullFormatted market cap.
market_cap_usdnumber or nullNumeric market cap in USD.
pe_rationumber or nullTrailing P/E ratio.
forward_penumber or nullForward P/E ratio.
dividend_yieldnumber or nullDividend yield as a percentage.
average_volumenumber or nullAverage daily volume.
epsnumber or nullEarnings per share.
betanumber or nullBeta.
revenue_ttmstring or nullTrailing 12 month revenue.
net_income_ttmstring or nullTrailing 12 month net income.
employeesinteger or nullNumber of employees.
ceostring or nullCEO name.
foundedstring or nullFounding year or date.
headquartersstring or nullHeadquarters location.
websitestring or nullpublic company website.
descriptionstring or nullCompany description from Google Finance.
newsarrayUp to 5 recent articles per ticker.
raw_statsobjectRaw key-value pairs from the Google Finance stats table.
source_urlstringGoogle Finance page URL used for the scrape.
scraped_atstringISO 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_stats as 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, and price_change_percent describe the latest quoted price snapshot
  • pe_ratio, forward_pe, eps, dividend_yield, market_cap, and market_cap_usd support valuation analysis
  • news provides recent articles when enabled
  • source_url and scraped_at provide 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_stats preserves 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 ApifyClient
import os
client = 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.