Google Finance Scraper avatar

Google Finance Scraper

Pricing

Pay per event

Go to Apify Store
Google Finance Scraper

Google Finance Scraper

Extract Google Finance quotes, fundamentals, company profiles, quarterly and annual statements, related securities, and news. Export via API, JSON, CSV, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Extract Google Finance stock quotes, fundamentals, company profiles, financial statements, related securities, and current news without an API key.

Give the Actor ticker/exchange pairs such as AAPL:NASDAQ or canonical Google Finance quote URLs. It returns one normalized portfolio-ready record per security in JSON, CSV, Excel, XML, or RSS.

  • πŸ“ˆ Refresh a watchlist or portfolio on a schedule.
  • 🧾 Collect quarterly and annual revenue, net income, EPS, and margins.
  • πŸ“° Monitor current company news with source links.
  • ⚑ Use lightweight HTTP extraction instead of paying browser overhead.
  • πŸ”‘ No Google login, private account, or API key is required.

What does Google Finance Scraper do?

Google Finance Scraper turns public Google Finance quote pages into structured market-data records.

For each requested ticker it extracts:

  • identity and exchange;
  • current price and price movement;
  • open, high, low, volume, and market capitalization;
  • valuation and dividend metrics;
  • company profile facts;
  • quarterly and annual financial summaries;
  • related securities;
  • recent news headlines and source URLs.

The Actor accepts batches, removes duplicate symbols, and keeps an error record for an individual bad symbol without discarding successful portfolio results.

Who is Google Finance Scraper for?

Portfolio and wealth-tech teams

  • Refresh quote snapshots for internal dashboards.
  • Enrich holdings with valuation ratios and company descriptions.
  • Schedule daily or intraday monitoring runs.

Financial analysts and researchers

  • Compare revenue, net income, EPS, and margins across periods.
  • Collect related tickers for peer research.
  • Send current company news into a research queue.

Data engineers

  • Load consistent numeric fields into a warehouse.
  • Use one record per ticker for simple upserts.
  • Trigger runs through API, webhooks, Make, or Zapier.

Developers and AI-agent builders

  • Use an API-like extraction layer without maintaining selectors.
  • Call the Actor through Apify MCP.
  • Export data into notebooks, apps, and automated reports.

Why use this Google Finance data extractor?

  • βœ… No API key: reads public anonymous quote pages.
  • βœ… Batch portfolio input: mix ticker pairs and quote URLs.
  • βœ… Deduplication: aapl:nasdaq and its canonical URL become one request.
  • βœ… Typed output: K/M/B/T abbreviations become JSON numbers.
  • βœ… Bounded retries: transient responses are retried conservatively.
  • βœ… Per-symbol errors: one unavailable symbol does not erase good records.
  • βœ… Low overhead: HTTP-first extraction runs with 256 MB memory.
  • βœ… Apify platform: scheduling, datasets, API, webhooks, and integrations are included.

What Google Finance data can you extract?

CategoryExample fields
Identityticker, exchange, companyName, currency, sourceUrl
Quoteprice, priceChange, priceChangePercent, marketStatus
Tradingopen, high, low, volume, averageVolume, marketCap
FundamentalspeRatio, eps, beta, sharesOutstanding
DividendsdividendYieldPercent, quarterlyDividend, exDividendDate
Companyceo, employees, founded, headquarters, sector, description
Financialsquarterly and annual revenue, netIncome, eps, netProfitMargin
Relatedticker, exchange, company, price, change percentage, quote URL
Newsheadline, publisher, relative publication time, article URL
Operationsstatus, error, scrapedAt

Optional fields are omitted when Google Finance does not publish them for that security. They are never replaced with misleading zero values.

How much does it cost to scrape Google Finance?

Google Finance Scraper uses pay-per-event pricing. A run currently has a $0.005 start event and a tiered price per successfully extracted security. Failed symbols are not charged as successful securities.

Apify planPrice per security
Free$0.0002454
Starter / Bronze$0.00021339
Scale / Silver$0.00016645
Business / Gold$0.00012804

Higher plans receive additional volume discounts. Platform compute is included in pay-per-event pricing.

Illustrative costs at Free-tier pricing

WorkflowSecuritiesApproximate event cost
Single quote lookup1$0.00525
Small watchlist10$0.00745
Portfolio refresh100$0.02954
Large symbol batch1,000$0.25040

These examples include the $0.005 run-start event and use the Free-tier per-security price.

How to scrape Google Finance stock data

  1. Open Google Finance Scraper.
  2. Add one or more TICKER:EXCHANGE values.
  3. Choose whether to include financials, news, and related securities.
  4. Keep concurrency low for a first run.
  5. Click Start.
  6. Review the dataset table.
  7. Export JSON, CSV, Excel, XML, or RSS, or connect an integration.

A minimal input is:

{
"symbols": ["AAPL:NASDAQ"]
}

A portfolio input is:

{
"symbols": ["AAPL:NASDAQ", "MSFT:NASDAQ", "BMW:ETR"],
"maxNewsItems": 5,
"maxRelatedSecurities": 5
}

Input parameters

ParameterTypeDefaultDescription
symbolsstring[]none (UI prefill: AAPL:NASDAQ)Ticker and exchange pairs
startUrlsRequest[]noneCanonical Google Finance quote URLs
includeFinancialsbooleantrueAdd quarterly and annual summaries
includeNewsbooleantrueAdd current news stories
maxNewsItemsinteger10Maximum news records per security, 0–50
includeRelatedbooleantrueAdd related securities
maxRelatedSecuritiesinteger10Maximum related records, 0–30
maxConcurrencyinteger3Parallel quote requests, 1–10
proxyConfigurationobjectdirectOptional Apify Proxy settings

You may use both symbols and startUrls. Duplicates are normalized by ticker and exchange before requests begin.

Supported ticker and URL formats

Use the exchange shown by Google Finance:

AAPL:NASDAQ
MSFT:NASDAQ
SPY:NYSEARCA
BMW:ETR
VOD:LON

Canonical URL input also works:

https://www.google.com/finance/quote/AAPL:NASDAQ
https://www.google.com/finance/quote/BMW:ETR?hl=en

URLs outside google.com/finance/quote/ fail closed. A generic Google search URL cannot bypass this scope check.

Google Finance output example

{
"status": "ok",
"ticker": "AAPL",
"exchange": "NASDAQ",
"companyName": "Apple Inc",
"sourceUrl": "https://www.google.com/finance/quote/AAPL:NASDAQ?hl=en",
"currency": "USD",
"price": 333.74,
"priceChange": 0.48,
"priceChangePercent": 0.14,
"open": 331.98,
"high": 334.99,
"low": 329,
"marketCap": 4900000000000,
"volume": 63410000,
"peRatio": 40.37,
"eps": 8.27,
"sector": "Computers, Peripherals, and Software",
"quarterlyFinancials": [
{
"period": "Jun 2026",
"revenue": 111184000000,
"netIncome": 29578000000,
"eps": 2.01,
"netProfitMargin": 26.6
}
],
"news": [
{
"title": "Example company headline",
"source": "Example Publisher",
"publishedAgo": "1 hour ago",
"url": "https://example.com/article"
}
],
"scrapedAt": "2026-07-18T00:00:00.000Z"
}

Actual market values change continuously. Treat the example as a field-shape reference, not a live quote.

Financial statement coverage

The Actor reads Google Finance's embedded statement dataset. It returns up to eight recent quarterly periods and six annual periods.

Each period contains:

  • period;
  • revenue;
  • netIncome;
  • eps;
  • netProfitMargin.

These fields provide a compact comparison layer without claiming every accounting line shown by every issuer. Financial availability varies for stocks, funds, currencies, indices, and crypto.

Tips for reliable portfolio refreshes

  • πŸ§ͺ Start with one or two known symbols before submitting a large portfolio.
  • 🏷️ Always include the exchange; tickers alone can be ambiguous.
  • 🌐 Use canonical quote URLs when an instrument has an unusual symbol.
  • βš™οΈ Keep maxConcurrency near the default for scheduled runs.
  • πŸ“° Reduce maxNewsItems if you only need quote and fundamental snapshots.
  • 🧾 Disable financials for asset types that do not publish corporate statements.
  • πŸ” Use a daily schedule and stable ticker list for warehouse upserts.
  • 🚨 Inspect records with status: "error" before replacing prior good data.

Integrations and automation workflows

Google Finance Scraper β†’ Google Sheets

Schedule a morning run and replace a sheet tab with price, market cap, P/E, and EPS for a team watchlist.

Google Finance Scraper β†’ Slack or Discord

Use a webhook to compare priceChangePercent against a threshold and post large-move alerts.

Google Finance Scraper β†’ Make or Zapier

Trigger a run from a CRM or portfolio table, then route news URLs into a research-review workflow.

Google Finance Scraper β†’ BigQuery, Snowflake, or PostgreSQL

Upsert by ticker plus exchange and store scrapedAt for time-series snapshots.

Scheduled monitoring

Use Apify schedules for daily fundamentals, weekly statement refreshes, or market-hour quote snapshots.

Using the Apify API with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/google-finance-scraper').call({
symbols: ['AAPL:NASDAQ', 'MSFT:NASDAQ'],
maxNewsItems: 5,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

The returned dataset ID is stable for the run and can be exported in multiple formats.

Using the Apify API with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/google-finance-scraper').call(run_input={
'symbols': ['AAPL:NASDAQ', 'BMW:ETR'],
'includeNews': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use environment variables or a secret manager for tokens.

Using the Apify API with cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~google-finance-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"symbols": ["AAPL:NASDAQ", "MSFT:NASDAQ"],
"maxNewsItems": 5
}'

Poll the returned run or use a webhook to continue when it succeeds.

Use Google Finance Scraper with AI agents via MCP

Google Finance Scraper works as a tool for assistants that support the Model Context Protocol.

For Claude Code:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/google-finance-scraper"

For Claude Desktop, Cursor, or VS Code:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/google-finance-scraper"
}
}
}

After OAuth authentication, try these example prompts:

  • β€œUse automation-lab/google-finance-scraper to compare AAPL:NASDAQ and MSFT:NASDAQ fundamentals.”
  • β€œFetch BMW:ETR quarterly and annual revenue, net income, and recent news.”
  • β€œRefresh my five-symbol watchlist and flag price changes above three percent.”

Scraping public web data is generally legal in many jurisdictions, but the rules depend on location, purpose, data type, and contractual obligations.

Use the Actor responsibly:

  • collect only public information you are authorized to use;
  • respect applicable terms, database rights, copyright, and rate limits;
  • do not use personal data unlawfully;
  • comply with financial-data licensing rules in your jurisdiction;
  • seek legal advice for regulated or high-risk use cases.

This Actor is an extraction tool, not investment advice or a licensed real-time market-data feed. Google Finance and Google are trademarks of Google LLC; this Actor is independent and unaffiliated.

Limitations and data freshness

  • Google controls the source markup and may change it.
  • Quote delay and market status depend on the exchange and Google Finance.
  • Some instruments do not expose company profiles, dividends, or statements.
  • News availability varies by ticker, region, and time.
  • Historical chart series are not included in v1.
  • The Actor validates identity and price, but it does not guarantee exchange-grade real-time delivery.
  • Direct HTTP is the default; configure a proxy only when geography or routing requires it.

Frequently asked questions

Does this scrape real-time Google Finance prices?

It extracts the current value displayed by Google Finance at request time. Exchange-specific delays may apply, so use a licensed market feed for trading execution.

How fast is a run?

A small direct-HTTP watchlist usually completes quickly because no browser starts. Duration scales mainly with ticker count, retries, and proxy routing.

Do I need a Google Finance API key?

No. The Actor reads anonymous public quote pages and embedded page data.

Can I submit only AAPL without an exchange?

No. Use AAPL:NASDAQ so the target is deterministic and cannot silently resolve to the wrong instrument.

Why is a field missing?

Google Finance does not publish every field for every asset type. Missing optional values are omitted rather than converted to zero.

Why did a symbol return an error record?

Check the ticker/exchange pair on Google Finance, then retry with its canonical quote URL. A delisted instrument, changed exchange code, challenge page, or temporary upstream response can cause an error.

What happens if every symbol fails?

The Actor exits with a failed status after preserving diagnostic records. This prevents an empty or fully broken extraction from looking successful in automation.

How is this different from an official market-data API?

This tool structures the public Google Finance surface and is convenient for research and monitoring. A licensed API is more appropriate for guaranteed latency, redistribution rights, or order execution.

Other financial and market-data scrapers

Build a broader research stack with other automation-lab tools:

Use only the tools needed for your workflow, keep first runs small, and validate source-specific licensing requirements.

Support

If a run behaves unexpectedly, include:

  • the run URL;
  • the affected ticker and exchange;
  • whether a proxy was enabled;
  • the expected field;
  • a link to the matching public Google Finance quote page.

That context makes source changes and ticker-specific cases faster to reproduce.