Google Finance Scraper
Pricing
Pay per event
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
Maintained by CommunityActor 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:nasdaqand 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?
| Category | Example fields |
|---|---|
| Identity | ticker, exchange, companyName, currency, sourceUrl |
| Quote | price, priceChange, priceChangePercent, marketStatus |
| Trading | open, high, low, volume, averageVolume, marketCap |
| Fundamentals | peRatio, eps, beta, sharesOutstanding |
| Dividends | dividendYieldPercent, quarterlyDividend, exDividendDate |
| Company | ceo, employees, founded, headquarters, sector, description |
| Financials | quarterly and annual revenue, netIncome, eps, netProfitMargin |
| Related | ticker, exchange, company, price, change percentage, quote URL |
| News | headline, publisher, relative publication time, article URL |
| Operations | status, 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 plan | Price 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
| Workflow | Securities | Approximate event cost |
|---|---|---|
| Single quote lookup | 1 | $0.00525 |
| Small watchlist | 10 | $0.00745 |
| Portfolio refresh | 100 | $0.02954 |
| Large symbol batch | 1,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
- Open Google Finance Scraper.
- Add one or more
TICKER:EXCHANGEvalues. - Choose whether to include financials, news, and related securities.
- Keep concurrency low for a first run.
- Click Start.
- Review the dataset table.
- 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
| Parameter | Type | Default | Description |
|---|---|---|---|
symbols | string[] | none (UI prefill: AAPL:NASDAQ) | Ticker and exchange pairs |
startUrls | Request[] | none | Canonical Google Finance quote URLs |
includeFinancials | boolean | true | Add quarterly and annual summaries |
includeNews | boolean | true | Add current news stories |
maxNewsItems | integer | 10 | Maximum news records per security, 0β50 |
includeRelated | boolean | true | Add related securities |
maxRelatedSecurities | integer | 10 | Maximum related records, 0β30 |
maxConcurrency | integer | 3 | Parallel quote requests, 1β10 |
proxyConfiguration | object | direct | Optional 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:NASDAQMSFT:NASDAQSPY:NYSEARCABMW:ETRVOD:LON
Canonical URL input also works:
https://www.google.com/finance/quote/AAPL:NASDAQhttps://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
maxConcurrencynear the default for scheduled runs. - π° Reduce
maxNewsItemsif 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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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-scraperto 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.β
Is it legal to scrape Google Finance?
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:
- TradingView Scraper β screen global markets and instruments.
- Stocktwits Scraper β collect investor messages and sentiment.
- Yahoo Finance Scraper β extract Yahoo Finance market data.
- SEC EDGAR Scraper β collect public company filings.
- CoinMarketCap Scraper β monitor crypto-market records.
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.