Google Finance Scraper - Most Comprehensive avatar

Google Finance Scraper - Most Comprehensive

Pricing

from $0.08 / 1,000 stocks

Go to Apify Store
Google Finance Scraper - Most Comprehensive

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

Kai

Maintained by Community

Actor stats

0

Bookmarked

23

Total users

7

Monthly active users

3 hours ago

Last modified

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

GroupAvailable data
QuotePrice, change, trading range, volume, valuation metrics, market state, currency, and exchange data
Company profileDescription, leadership, employees, founding date, headquarters, website, and classification
Statements and chartsQuarterly and annual financial periods plus price-and-volume points for the selected chart window
News and related instrumentsStock or market articles and related quote records when Google supplies them
DiscoveryFull 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

GoalKey inputPrimary recordType
Collect full instrument recordsstocksstock
Discover instruments on a market pagesearchMarketstock
Find identifiers with autocompletesearchTermsearch_result
Add upcoming earningsA primary selector with includeEarnings: trueAdds 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

FieldTypeDefaultDescription
stocksstring[]noneGoogle Finance URLs or identifiers such as GOOGL:NASDAQ, BTC-USD, or GCW00:COMEX. The Actor keeps the supplied order and duplicates.
searchTermstringnoneAutocomplete query. This mode returns search_result records, not full stock records.
searchMarketenum""Market page used to discover instruments and full stock records.
maxSearchResultsinteger20Maximum search or market results. Allowed range: 1 to 100. It does not limit an explicit stocks array.
includeFinancialsbooleantrueAdd quarterly and annual financial periods when Google provides them.
includeChartbooleantrueAdd price and volume chart data.
includeNewsbooleantrueAdd stock news. It also enables category news for supported market pages.
includeRelatedbooleantrueAdd the smaller related-stock quote records.
includeMarketIndicesbooleanfalseAdd regional market-index groups to each stock record.
includeMarketMoversbooleanfalseAdd the selected market-mover groups to each stock record.
includeEstimatesbooleanfalseAdd forward analyst estimates when available.
includeEarningsbooleanfalseAdd a separate earnings_calendar record after the primary mode.
newsLimitinteger6Maximum articles for each selected stock-news type. Allowed range: 1 to 50. Market-category news can contain more items.
newsTypesenum[]["stock", "market"]Any of stock, market, international, trending, crypto, and crypto-general.
moverCategoriesenum[]["active"]Any of active, gainers, losers, and trending. Used only when includeMarketMovers is true.
chartWindowenum"1M"1D, 5D, 1M, 6M, YTD, 1Y, 5Y, or MAX. Used only when includeChart is true.
proxyConfigurationobject{"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.

recordTypeWhen it appears
stockEach instrument from stocks, or each instrument discovered with searchMarket
search_resultEach autocomplete result from searchTerm
market_newsCategory news from a supported market page when includeNews is true
earnings_calendarUpcoming 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.

PathJSON type and nullability
recordTypestring; always stock
ticker, exchange, exchangeName, name, kgMidstring
typestock, index, etf, crypto, currency, or commodity
currency, country, sector, timezone, brandColorstring or null
price, previousClose, open, high, low, change, changePercentnumber
fiftyTwoWeekHigh, fiftyTwoWeekLow, marketCap, peRatio, dividendYield, volume, avgVolume, beta, sharesOutstandingnumber or null
isDelayedboolean
lastUpdateTimestamp, utcOffsetnumber
afterHoursobject or null; when present, price, change, changePercent, and lastUpdateTimestamp are numbers
marketHoursobject or null; when present, open and close are date objects
baseCurrency, quoteCurrency, baseName, quoteName, companyKgMidstring or null
nextEarningsDatedate object or null
companyobject or null
classificationobject
financialsoptional object or null
chartoptional object or null
newsoptional object array or null
relatedStocksoptional object array or null
marketIndicesoptional object array or null
marketMoversoptional object array or null
estimatesoptional object array or null
Child objectField contract
Date objectyear, month, and day are numbers; hour and minute are optional numbers.
companydescription: string; ceo, website, and wikipediaUrl: string or null; employees: number or null; founded: date object or null; hq: object or null
company.hqcity, state, country, countryCode, and address are strings.
classification.labelsObject array; each item has string name and description.
financials.periodsObject array using the financial-period contract below.
chartwindow: string; intervalSeconds and previousClose: number; dataPoints: object array
chart.dataPointstimestamp, price, change, and changePercent: number; date: number array; volume: number or null
newsEach item uses the news-article contract below.
relatedStocksEach item uses the related-stock contract below.
marketIndicesEach item has string region, number regionType, and an indices object array using the market-index contract below.
marketMoversEach item uses the market-mover contract below.
estimatesEach item uses the analyst-estimate contract below.
Repeated objectField contract
Financial periodperiodType: 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 articletitle, 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 quoteticker, exchange, name, and kgMid: string; price, change, and changePercent: number
Related stockticker, 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 indexticker, exchange, name, and kgMid: string; displayName: string or null; price, change, and changePercent: number
Market moverticker, exchange, name, and kgMid: string; price, change, and changePercent: number
Analyst estimatefiscalEnd: 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"
}
FieldJSON type and nullability
recordTypestring; always search_result
ticker, exchange, name, kgMidstring

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
}
]
}
FieldJSON type and nullability
recordTypestring; always market_news
marketstring
marketCategoryNewsobject 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
}
]
}
FieldJSON type and nullability
recordTypestring; always earnings_calendar
earningsCalendarobject array; it can be empty
earningsCalendar[].ticker, exchange, companyName, kgMidstring
earningsCalendar[].year, quarternumber
earningsCalendar[].earningsCallTimestamp, earningsReleaseTimestampnumber or null
earningsCalendar[].investorRelationsUrlstring 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.