Google Finance Scraper - Most Comprehensive
Pricing
from $0.08 / 1,000 stocks
Google Finance Scraper - Most Comprehensive
๐ฅ ~$0.1/1K stocks ๐ฅ Scrape Google Finance for stock quotes, financials, charts, news, and more
Pricing
from $0.08 / 1,000 stocks
Rating
5.0
(1)
Developer
Kai
Maintained by CommunityActor stats
0
Bookmarked
23
Total users
7
Monthly active users
3 hours ago
Last modified
Categories
Share
Google Finance Scraper
Collect quotes, company profiles, financial statements, charts, news, and related instruments from Google Finance. The Actor supports stocks, ETFs, indices, crypto, currency pairs, and futures on global exchanges.
Quote and market coverage
| Group | Available data |
|---|---|
| Quote | Price, change, trading range, volume, valuation metrics, market state, currency, and exchange data |
| Company profile | Description, leadership, employees, founding date, headquarters, website, and classification |
| Statements and charts | Quarterly and annual financial periods plus price-and-volume points for the selected chart window |
| News and related instruments | Stock or market articles and related quote records when Google supplies them |
| Discovery | Full instrument records from market pages, short autocomplete results, market movers, indices, and optional earnings events |
Optional sections are present only when you enable them and Google supplies the data for that instrument.
Choose a mode
| Goal | Key input | Primary recordType |
|---|---|---|
| Collect full instrument records | stocks | stock |
| Discover instruments on a market page | searchMarket | stock |
| Find identifiers with autocomplete | searchTerm | search_result |
| Add upcoming earnings | A primary selector with includeEarnings: true | Adds earnings_calendar after the primary mode |
If an input contains several primary selectors, stocks takes precedence over
searchMarket, and searchMarket takes precedence over searchTerm.
Look up one or more instruments
{"stocks": ["GOOGL:NASDAQ"]}
Add more identifiers to the same stocks array when you need several
instruments:
{"stocks": ["GOOGL:NASDAQ","AAPL:NASDAQ","TSLA:NASDAQ","AMZN:NASDAQ"]}
Add charts, financials, and news
{"stocks": ["GOOGL:NASDAQ"],"includeFinancials": true,"includeChart": true,"includeNews": true}
Use Google Finance identifiers. Examples include GOOGL:NASDAQ, 7203:TYO,
BTC-USD, EUR-USD, GCW00:COMEX, and CLW00:NYMEX. Use
GCW00:COMEX for gold, not the Yahoo-style identifier GC=F. A full Google
Finance quote URL is also accepted.
Get quote-only records
Disable the large optional sections when you only need quote data:
{"stocks": ["GOOGL:NASDAQ"],"includeFinancials": false,"includeChart": false,"includeNews": false,"includeRelated": false}
Discover instruments from a market page
{"searchMarket": "gainers","maxSearchResults": 10}
Use searchTerm instead when you want short autocomplete results rather than full quote records.
Look up several asset types
This input requests a stock, crypto pair, currency pair, and gold future. It also shows that a full Google Finance quote URL is accepted.
{"stocks": ["https://www.google.com/finance/quote/GOOGL:NASDAQ","BTC-USD","EUR-USD","GCW00:COMEX"],"includeFinancials": false,"includeChart": false,"includeNews": false,"includeRelated": false,"includeMarketIndices": false,"includeMarketMovers": false,"includeEstimates": false,"includeEarnings": false}
Global exchange identifiers work in the same array. For example:
{"stocks": ["005930:KRX","7203:TYO","RELIANCE:NSE","VOW3:ETR","0700:HKG"]}
Find an instrument identifier
Search mode returns short discovery records.
{"searchTerm": "GOOGL","maxSearchResults": 1,"includeFinancials": false,"includeChart": false,"includeNews": false,"includeRelated": false,"includeMarketIndices": false,"includeMarketMovers": false,"includeEstimates": false,"includeEarnings": false}
Collect market-page news
This input can return a market_news record and currency records.
{"searchMarket": "currencies","maxSearchResults": 1,"includeFinancials": false,"includeChart": false,"includeNews": true,"includeRelated": false,"includeMarketIndices": false,"includeMarketMovers": false,"includeEstimates": false,"includeEarnings": false,"newsLimit": 2,"newsTypes": ["market"]}
Input reference
Provide at least one of stocks, searchTerm, or searchMarket.
The next example covers every input field. It is a field reference, not a recommended combination.
Fields
| Field | Type | Default | Description |
|---|---|---|---|
stocks | string[] | none | Google Finance URLs or identifiers such as GOOGL:NASDAQ, BTC-USD, or GCW00:COMEX. The Actor keeps the supplied order and duplicates. |
searchTerm | string | none | Autocomplete query. This mode returns search_result records, not full stock records. |
searchMarket | enum | "" | Market page used to discover instruments and full stock records. |
maxSearchResults | integer | 20 | Maximum search or market results. Allowed range: 1 to 100. It does not limit an explicit stocks array. |
includeFinancials | boolean | true | Add quarterly and annual financial periods when Google provides them. |
includeChart | boolean | true | Add price and volume chart data. |
includeNews | boolean | true | Add stock news. It also enables category news for supported market pages. |
includeRelated | boolean | true | Add the smaller related-stock quote records. |
includeMarketIndices | boolean | false | Add regional market-index groups to each stock record. |
includeMarketMovers | boolean | false | Add the selected market-mover groups to each stock record. |
includeEstimates | boolean | false | Add forward analyst estimates when available. |
includeEarnings | boolean | false | Add a separate earnings_calendar record after the primary mode. |
newsLimit | integer | 6 | Maximum articles for each selected stock-news type. Allowed range: 1 to 50. Market-category news can contain more items. |
newsTypes | enum[] | ["stock", "market"] | Any of stock, market, international, trending, crypto, and crypto-general. |
moverCategories | enum[] | ["active"] | Any of active, gainers, losers, and trending. Used only when includeMarketMovers is true. |
chartWindow | enum | "1M" | 1D, 5D, 1M, 6M, YTD, 1Y, 5Y, or MAX. Used only when includeChart is true. |
proxyConfiguration | object | {"useApifyProxy":true} | Optional connection settings for the run. |
searchMarket accepts indexes, gainers, losers, most-active, trending, climate-leaders, currencies, crypto, etfs, futures, commodities, bonds, sectors, americas, europe-middle-east-africa, asia-pacific, and world.
Dataset record reference
The default Dataset contains one of four record types. Use recordType to select the correct shape.
recordType | When it appears |
|---|---|
stock | Each instrument from stocks, or each instrument discovered with searchMarket |
search_result | Each autocomplete result from searchTerm |
market_news | Category news from a supported market page when includeNews is true |
earnings_calendar | Upcoming earnings events when includeEarnings is true and data is available |
Prices, timestamps, news, and other source values can change. Long arrays below show one item.
Stock record
This GOOGL field-shape projection includes quote data and selected optional sections. It is not a complete record. Each populated child array shows one item.
The four currency-pair fields are null for an equity. This BTC example shows their populated form.
{"recordType": "stock","ticker": "BTC-USD","exchange": "","exchangeName": "","name": "Bitcoin (BTC / USD)","type": "crypto","currency": "USD","country": null,"kgMid": "/g/11bvvxp7st","baseCurrency": "BTC","quoteCurrency": "USD","baseName": "Bitcoin","quoteName": "United States Dollar","company": null,"classification": {"labels": [{"name": "Exchange Rate","description": "Value of the base currency compared to the quote currency"},{"name": "Cryptocurrency","description": "A digital asset maintained by a decentralized system that records and verifies transactions using cryptography"}]}}
Stock field reference
Quote and identity fields are present in every stock record. Optional sections
are absent when disabled. When enabled, they can be null or empty if Google
does not return data.
| Path | JSON type and nullability |
|---|---|
recordType | string; always stock |
ticker, exchange, exchangeName, name, kgMid | string |
type | stock, index, etf, crypto, currency, or commodity |
currency, country, sector, timezone, brandColor | string or null |
price, previousClose, open, high, low, change, changePercent | number |
fiftyTwoWeekHigh, fiftyTwoWeekLow, marketCap, peRatio, dividendYield, volume, avgVolume, beta, sharesOutstanding | number or null |
isDelayed | boolean |
lastUpdateTimestamp, utcOffset | number |
afterHours | object or null; when present, price, change, changePercent, and lastUpdateTimestamp are numbers |
marketHours | object or null; when present, open and close are date objects |
baseCurrency, quoteCurrency, baseName, quoteName, companyKgMid | string or null |
nextEarningsDate | date object or null |
company | object or null |
classification | object |
financials | optional object or null |
chart | optional object or null |
news | optional object array or null |
relatedStocks | optional object array or null |
marketIndices | optional object array or null |
marketMovers | optional object array or null |
estimates | optional object array or null |
| Child object | Field contract |
|---|---|
| Date object | year, month, and day are numbers; hour and minute are optional numbers. |
company | description: string; ceo, website, and wikipediaUrl: string or null; employees: number or null; founded: date object or null; hq: object or null |
company.hq | city, state, country, countryCode, and address are strings. |
classification.labels | Object array; each item has string name and description. |
financials.periods | Object array using the financial-period contract below. |
chart | window: string; intervalSeconds and previousClose: number; dataPoints: object array |
chart.dataPoints | timestamp, price, change, and changePercent: number; date: number array; volume: number or null |
news | Each item uses the news-article contract below. |
relatedStocks | Each item uses the related-stock contract below. |
marketIndices | Each item has string region, number regionType, and an indices object array using the market-index contract below. |
marketMovers | Each item uses the market-mover contract below. |
estimates | Each item uses the analyst-estimate contract below. |
| Repeated object | Field contract |
|---|---|
| Financial period | periodType: quarterly or annual; fiscalEnd: date object; currency: string; revenue, netIncome, eps, epsDiluted, operatingIncome, operatingMargin, sharesOutstanding, totalAssets, totalLiabilities, totalEquity, cashAndShortTermInvestments, operatingCashFlow, investingCashFlow, financingCashFlow, capex, peRatio, profitMargin, returnOnAssets, revenueGrowth, and netIncomeGrowth: number; operatingExpense, ebitda, currentAssets, intangibleAssets, shortTermDebt, freeCashFlow, dividendsPaid, shareRepurchase, returnOnCapital, and debtToEquityOrPriceToBook: number or null |
| News article | title, source, and url: string; timestamp: number; snippet, articleId, and thumbnailUrl: string or null; thumbnailWidth and thumbnailHeight: number or null; relatedTickers: object array of string ticker, exchange, and kgMid; relatedStockQuotes: object array or null |
| News related quote | ticker, exchange, name, and kgMid: string; price, change, and changePercent: number |
| Related stock | ticker, exchange, name, type, and kgMid: string; currency: string or null; price, change, changePercent, and previousClose: number; afterHours: object or null with number price, change, and changePercent |
| Market index | ticker, exchange, name, and kgMid: string; displayName: string or null; price, change, and changePercent: number |
| Market mover | ticker, exchange, name, and kgMid: string; price, change, and changePercent: number |
| Analyst estimate | fiscalEnd: date object; periodType: quarterly or annual; currency: string; estimatedRevenue, estimatedEps, estimatedEpsDiluted, and estimatedPeRatio: number or null |
Search result record
This example shows an instrument search result.
{"recordType": "search_result","ticker": "GOOGL","exchange": "NASDAQ","name": "Alphabet Inc Class A","kgMid": "/m/07zln7n"}
| Field | JSON type and nullability |
|---|---|
recordType | string; always search_result |
ticker, exchange, name, kgMid | string |
Market news record
Each article has the same field shape as stock.news[]. This example keeps one article. Here, relatedTickers is an empty array and relatedStockQuotes is null.
{"recordType": "market_news","market": "currencies","marketCategoryNews": [{"title": "EUR/USD Churns but Bulls Have So Far Held the Line","source": "FOREX.com","url": "https://www.forex.com/en-us/news-and-analysis/eur-usd-churns-but-bulls-have-so-far-held-the-line/","timestamp": 1786642250,"snippet": "It's been a quiet couple of weeks in EUR/USD but so far the levels have remained clean.","articleId": "15423650982462343712","thumbnailUrl": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcRwgD8K2mQA0FY1atRzIt2046sNra4AufKbuc5uwRpn81DAgSm6EOQV9JdUNp0","thumbnailWidth": 275,"thumbnailHeight": 183,"relatedTickers": [],"relatedStockQuotes": null}]}
| Field | JSON type and nullability |
|---|---|
recordType | string; always market_news |
market | string |
marketCategoryNews | object array; each item uses the news-article contract above |
Earnings calendar record
This example keeps one event. The calendar can be empty, and the three final fields can be null.
{"recordType": "earnings_calendar","earningsCalendar": [{"ticker": "HD","exchange": "NYSE","companyName": "Home Depot","kgMid": "/m/07zkzvn","year": 2027,"quarter": 2,"earningsCallTimestamp": 1787058000,"earningsReleaseTimestamp": null,"investorRelationsUrl": null}]}
| Field | JSON type and nullability |
|---|---|
recordType | string; always earnings_calendar |
earningsCalendar | object array; it can be empty |
earningsCalendar[].ticker, exchange, companyName, kgMid | string |
earningsCalendar[].year, quarter | number |
earningsCalendar[].earningsCallTimestamp, earningsReleaseTimestamp | number or null |
earningsCalendar[].investorRelationsUrl | string or null |
Mode and result behaviour
- If one result fails, the Actor still completes successfully and keeps valid records from the other instruments. If all explicit stocks or all discovered market instruments fail, the run can complete with no stock records.
- A valid run can finish with an empty Dataset when a stock identifier or search term has no matching instrument. A market page can also return no stock records. Check the identifier format or use a broader search term.