Google Search Results Scraper: Organic & SERP Boxes avatar

Google Search Results Scraper: Organic & SERP Boxes

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Google Search Results Scraper: Organic & SERP Boxes

Google Search Results Scraper: Organic & SERP Boxes

Search Google and get organic results plus AI Overview, knowledge panel, People Also Ask, related searches, local pack, top stories and ads for each query, across 48 countries with language and date filters.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

vexaloom-labs

vexaloom-labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Google Search Results Scraper: Web, News, Images & Videos

Run any search term through Google and get back structured results for the surface you need: classic web results with ads and SERP features, the News tab, the Images tab, or the Videos tab. Point it at a list of queries, choose a country and language, and it returns one structured record per query/page.

What this actor does

  • Searches web, news, images or videos with one searchType choice
  • Web results: organic results, ads, People Also Ask, related searches, knowledge panel, local pack, top stories, sports tables and optional extra boxes
  • Images: title, source, page URL, thumbnail, original image URL and dimensions
  • News: headline, source, link, published time and snippet
  • Videos: title, link, video ID, publisher/channel, duration and thumbnail
  • Country/language targeting, time filters, custom date ranges, city-level uule hints and Google search operators
  • Optional real destination URLs for web organic results, and an optional browser-rendered AI Overview
  • No proxy setup or credentials required: the actor handles its own access

Output per search result page

Each run produces one record per query (per page, if maxPagesPerQuery > 1). Fields that Google does not render for a query are omitted, not filled with placeholders.

Web (searchType: "web"):

  • searchQuery — term, page, country, language, search type and results-per-page metadata
  • organicResults — {position, title, url, displayedUrl, destinationUrl, snippet, siteLinks}. url is the working Google result link; set includeDestinationUrl to add the real destination.
  • paidResults — ad slots, when Google renders any
  • peopleAlsoAsk — related questions
  • relatedQueries — suggested searches
  • knowledgePanel — entity panel for people, places and organizations
  • localPack — local business results with rating, review count and address
  • topStories — news carousel results
  • sportsTable — standings when Google renders a real table (best-effort; current grid layouts may not populate it)
  • aiOverview — only when includeAiOverview is enabled and Google renders one
  • resultsTotal — Google's own rough estimate, which fluctuates between pages and renders; treat it as volatile, not a stable volume metric
  • hasNextPage — whether another page is available
  • weatherBox, stockBox, timeZoneBox, currencyConverterBox, unitConverterBox, jobsPack, videoPack, shoppingPack, dictionaryBox — opt-in via includeExtraBoxes

News (searchType: "news"): newsResults[] with position, title, url, source, publishedAt (ISO 8601 when Google exposes a timestamp), publishedTimeText and snippet.

Images (searchType: "images"): imageResults[] with position, title, source, pageUrl, thumbnailUrl, originalImageUrl, width and height. Original URLs come from the publisher as Google reports them; some hosts block hotlinks or let URLs expire, so validate before fetching. The thumbnail is returned independently.

Videos (searchType: "videos"): videoResults[] with position, title, url, videoId, publisher, channel, duration and thumbnailUrl.

Error rows: a query that fails outright, or is blocked on every attempt, produces {"type": "error", "query": ..., "reason": ...} instead of page records.

Input

FieldTypeDefaultDescription
queriesarray–Search terms; each is searched separately.
searchTypestringwebweb, news, images or videos.
maxResultsinteger100Maximum items per query (1–200). Web results stop at Google's own ~70–100 ceiling; images return 50–100; news/videos paginate in 10-result steps (news pages may render 10–22 cards).
countryCodestring(empty = US)Country for the Google domain and searcher-location signal.
restrictResultsCountrystring(empty = any)Only return pages targeting this country (Google's cr).
languageCodestring(empty)Google interface language (e.g. en, de).
restrictResultsLanguagestring(empty)Only return pages written in this language (e.g. en or en,fr).
maxPagesPerQueryinteger1Pages to crawl per query for web/news/videos (1–10). Images are one page.
timePeriodstring(empty = any)hour, day, week, month or year.
safeSearchstring(empty = default)active or off.
includeAiOverviewbooleanfalseOpt-in browser-rendered AI Overview for web. Slower; not guaranteed.
includeDestinationUrlbooleanfalseResolve web organic links to their real destination. Adds one lookup per result.
csvFriendlyOutputbooleanfalseWeb only: one organic/paid result per row.
includeExtraBoxesbooleanfalseWeb only: weather, time zone, converter, stock, jobs, videos, shopping, dictionary boxes.
uulestring(empty)Google-encoded location for city-level targeting; best-effort.
dateFrom / dateTostring(empty)Custom date range (YYYY-MM-DD), set together. Overrides timePeriod.
exactPhrasebooleanfalseWrap each query in quotes.
sitestring(empty)site: operator; results are checked against the domain and off-domain ones are dropped.
intitle / intext / inurl / fileTypestring(empty)Search operators sent to Google as-is.
excludeTermsstring(empty)Words to exclude, comma- or space-separated.

Examples

Web rank check with a time filter:

{
"queries": ["best running shoes 2026"],
"searchType": "web",
"countryCode": "us",
"maxResults": 30,
"maxPagesPerQuery": 4,
"timePeriod": "month",
"includeDestinationUrl": true
}

News monitoring:

{
"queries": ["tesla"],
"searchType": "news",
"countryCode": "us",
"maxResults": 20,
"maxPagesPerQuery": 2
}

Image research:

{
"queries": ["tesla cybertruck"],
"searchType": "images",
"countryCode": "us",
"maxResults": 50
}

Use cases

  • SEO monitoring — track web ranking positions across countries and languages
  • News monitoring — collect headlines, sources and publication times
  • Visual research — gather image thumbnails, sources and dimensions
  • Video research — collect video titles, channels and durations
  • SERP feature tracking — monitor ads, PAA, knowledge panels, local packs and AI Overviews
  • Content research — mine related searches and questions

FAQ

Is this an official Google product? No. This is an independent actor that reads publicly available Google result pages. It is not affiliated with, endorsed by, or sponsored by Google.

Do I need a proxy or Google account? No. The actor handles its own access and needs no cookies, logins, API keys or proxy configuration.

How many results can I get per query? Web results stop at Google's own ceiling of roughly 70–100, even if you ask for 200. Images return 50–100 per query. News and videos paginate in 10-result steps and stop when Google stops returning results; a news page may render 10–22 cards.

Why is resultsTotal sometimes a small number? It is Google's own estimate on that specific render. It fluctuates between pages and query types, so use it as a rough signal rather than a stable search-volume metric.

Why are paidResults, knowledgePanel, localPack or topStories often empty? Google only renders those features for some queries. Ads are sparse even on commercial terms; local packs need local intent; knowledge panels need an entity. Their absence is normal, not an extraction failure.

Why is aiOverview empty? AI Overview is opt-in because it requires a slower browser-rendered fetch, and Google still may not show one for a given query. The text is best-effort and headings/bullets may be flattened.

What is destinationUrl? Google usually wraps organic links in a redirect. With includeDestinationUrl enabled, the actor follows that redirect and adds the real destination. If the lookup fails, destinationUrl is omitted and the working Google link remains in url.

Why did site: return fewer results than expected? Google silently widens site: searches once the restricted corpus runs out. The actor checks each result against your domain and drops ones that do not belong, so a smaller but accurate set is expected. Social cards with follower counts are recognized as on-domain.

Does CSV mode include news, images or videos? No. csvFriendlyOutput is a web-only reshape. Use the default JSON layout for the other search types.

Are image URLs permanent? Thumbnail URLs are served by Google and are reliable. Original image URLs come from the publisher and may expire or be hotlink-protected; the actor returns the URL Google provides and does not runtime-validate every original, so a few may return 403/404.