Google Search: scrapers and the official API, compared

Organic results, knowledge panels, ads, related questions and SERP features.

Short answer

For most Google Search jobs, start with Search & URL Markdown Extractor for LLMs: it covers 2 of 5 core fields (title, url) at $0.99 per 1,000 results on Apify's Free plan. The top published score for Google Search goes to Cheapest Google Search Results (Fast and cheap SERP API) by lofomachines (91 of 100), a Store tool from another publisher, listed for reference.

From published Store listings, output schemas and the official documentation. Checked 2026-11-11. How the ranking works.

Search & URL Markdown Extractor for LLMs: inputs, code and costOpen in Apify Store

4 catalogue Actors 9 other Store tools Official API: Limited access Lowest rate  $0.35 per 1K

What do you need from Google Search?

Route map

Each line is one way to get Google Search data; each stop is a field you probably need. Green lines are catalogue Actors, ranked by the published formula.

Route diagram for Google Search dataSearch & URL Markdown Extractor for LLMs: stops at 2 of the 10 fields shown; Google Image Search Results & Metadata Scraper: stops at 3 of the 10 fields shown; Google Autocomplete Keyword Expansion Scraper: stops at 1 of the 10 fields shown; Google Search Results Scraper: Organic & SERP Boxes: stops at 5 of the 10 fields shown; Other Store tools (7): stops at 9 of the 10 fields shown; Programmable Search Engine JSON API: limited, field coverage not compared.Google Searchtitleurlsnippetpositionserp featuresaiOverviewhasNextPageorganicResultspaidResultspeopleAlsoAsk1234+API

Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.

Catalogue Actors for Google Search

Search & URL Markdown Extractor for LLMs

Turn a search query or a list of URLs into clean Markdown, plain text, or HTML pages, with filters for domain, keyword, and minimum content…

2/5 core fields 13 output fields $0.99 per 1K Open in Apify Store

Google Image Search Results & Metadata Scraper

Run a Google Images search and get back full-resolution image URLs with dimensions, thumbnails, source page titles, and the web page each image…

3/5 core fields 29 output fields $0.99 per 1K Open in Apify Store

Google Autocomplete Keyword Expansion Scraper

Expand seed keywords into long-tail suggestions using Google's autocomplete, with question-word, preposition, comparison, and A-to-Z expansion…

1/5 core fields 7 output fields $0.99 per 1K Open in Apify Store

Which route for which job

The catalogue Actors for Google Search return different records. "Only this route" lists the published fields no other Actor in this table returns, which is usually what decides the choice. Cost is the published per-result rate; start events and platform usage are extra.

Catalogue Actors for Google Search by job, with the fields only each one returns
Actor Good for Only this route Core fields 10K results
Search & URL Markdown Extractor for LLMs Collect web content description, wordCount, httpStatusCode, loadedTime, searchRank 2/5 $9.90
Google Image Search Results & Metadata Scraper Find image sources retrievalMethod, isFallback, fallbackReason, imageId, isCrawlerOnly 3/5 $9.90
Google Autocomplete Keyword Expansion Scraper Expand keyword lists seed, locale, relevance 1/5 $9.90
Google Search Results Scraper: Organic & SERP Boxes Collect search results resultsTotal, organicResults, aiOverview, knowledgePanel, peopleAlsoAsk 0/5 $9.90

Field matrix: who returns what

Every tool with a published output schema, against the 5 fields most Google Search jobs need. A dot means the field name appears in the schema; rows can still leave it empty.

Which tools return each core Google Search field, from published output schemas
Tooltitleurlsnippetpositionserp featuresFields
Search & URL Markdown Extractor for LLMs●●–––2/5
Google Image Search Results & Metadata Scraper●●–●–3/5
Google Autocomplete Keyword Expansion Scraper–––●–1/5
Google Search Results Scraper: Organic & SERP Boxes–––––0/5
Cheapest Google Search Results (Fast and cheap SERP API)Reference only, by lofomachines●●●●–4/5
Free Google Search Results ScraperReference only, by s-r●●●––3/5
Google Search Results Scraper (SERP)Reference only, by apidojo●●●––3/5
Google Search Results ScraperReference only, by eiv●●–––2/5
Google Search Results ScraperReference only, by thirdwatch●●●●–4/5
Google Search Results ScraperReference only, by alfalfa–●–––1/5
Google Search Results Scraper: SERP, Ads & AI OverviewReference only, by santamaria-automations–●●––2/5
Tools returning it79540

Field dictionary: the exact keys

The same core field has a different key in each Actor's output. Map these before you merge datasets; a dash means the published schema has no matching key. Need a field that is not listed here, such as email? Search every Google Search Actor by field.

Output keys for each core Google Search field in the top catalogue Actors
Core field Search & URL Markdown…Google Image Search Results…Google Autocomplete Keyword…
title titletitle, siteName–
url url, canonicalUrlcontentUrl, googleUrl–
snippet –––
position –positionposition
serp features –––

Download this comparison: CSV · JSON (every tool with a published schema, matching keys per core field, price and score).

All 13 tools, scored

Catalogue Actors link to their detail pages; the score (0 to 100) is the published formula, identical for every tool. Other Store tools follow in their own table, for reference. Price is the published primary-result rate per 1,000 (the Free-plan rate where the price is tiered; higher Apify plans pay less); start events and platform usage are excluded.

Catalogue Actors for Google Search, ranked by the published method
Sample fields
74
Search & URL Markdown Extractor for LLMs Catalogue Actor, pay per event
title, url, description 13 $0.99 100% of 29 runs Oct 2026
73
Google Image Search Results & Metadata Scraper Catalogue Actor, pay per event
title, contentUrl, engine 29 $0.99 19 runs, too few to rate Oct 2026
61
Google Autocomplete Keyword Expansion Scraper Catalogue Actor, pay per event
seed, locale, relevance 7 $0.99 19 runs, too few to rate Oct 2026
55 resultsTotal, hasNextPage, organicResults 18 $0.99 18 runs, too few to rate Oct 2026

Other Store tools, for reference

Scored with the same published formula and listed for comparison only; this site does not link or recommend them.

Other Store tools for Google Search, for reference
Sample fields
91
Cheapest Google Search Results (Fast and cheap SERP API) Reference only, by lofomachines
title, url, snippet 11 $0.50 100% of 47,848 runs Nov 2026
84
Free Google Search Results Scraper Reference only, by s-r
title, url, snippet 11 $0.35 95% of 13,244 runs Nov 2026
81
Google Search Results Scraper (SERP) Reference only, by apidojo
title, link, snippet 5 $2.00 99% of 26,803 runs Nov 2026
77
Google Search Results Scraper Reference only, by eiv
knowledgeGraph, url, hasNextPage 27 $0.60 98% of 4,861 runs Nov 2026
73
Google Search Results Reference only, by scraperlink
No published schema – $0.50 100% of 4,533,748 runs Sep 2026
68
Google Search Results Scraper Reference only, by thirdwatch
title, url, featured_snippet 7 $8.00 94% of 81 runs Oct 2026
68
Google Search Results Scraper Reference only, by alfalfa
url, hasNextPage, resultsTotal 11 $0.45 74% of 96,800 runs Oct 2026
65
Google Search Results Scraper Reference only, by apify
No published schema – $4.50 98% of 9,693,040 runs Nov 2026
63
Google Search Results Scraper: SERP, Ads & AI Overview Reference only, by santamaria-automations
kvsHtmlUrl, featuredSnippet, resultsTotal 14 $6.00 96% Oct 2026

What to check before you choose

Search teams use Google results to track visible pages, study competing content and identify questions around a topic. Research teams use destination links to build reading lists and collect source material.

Choose a results collector for rankings and search features, an autocomplete tool for phrase discovery, or a page extractor for destination content. The programmable search API suits a configured search engine rather than reproducing the live Google results page.

Checklist

  • Verify the query, country and pagination controls, and keep that context with every ranking dataset.
  • Check whether the schema contains full result groups such as organicResults and peopleAlsoAsk or only image records, suggestions or destination-page metadata.
  • For image results, inspect engine, retrievalMethod, isFallback and fallbackReason before attributing rows to Google.

Where the data is incomplete

The published data does not define the nested fields inside organicResults, so confirm their structure before mapping individual results.

The leading tool's detailed schema is absent from the published data. The image tool also documents fallback results from another engine, which need to be distinguished from Google results when measuring search visibility.

Official API route

Programmable Search Engine JSON API

Google's programmable search API returns results for a configured search engine. It is not a general replacement for the live Google results page.

Price. Free allowance plus per-query pricing is published; check the official overview for current rates and caps.

Limits. Daily query caps apply. The API requires a search engine ID and API key.

Official documentation Official pricing

Collect ranking data from public pages and follow Google's terms. Check the conditions for storing and reusing result snippets and destination content. This is general information, not legal advice.

Read Google Search's terms. Keep to public data, do not bypass logins or access controls, and check whether personal data is involved before you collect it. The can-I-scrape checklist walks through it.

How to start

  1. Open the recommended Google Search tool and check its documented query inputs. Choose a narrow query and record any supported country or language settings.
  2. Collect a small dataset and inspect how it represents result positions, destination links and search features. Confirm the producing engine wherever the output identifies it.
  3. Save the dataset with its query settings and collection time. Preserve result groups and position information when preparing the first analysis.

Call Search & URL Markdown Extractor for LLMs from code

The example input uses the Actor's published defaults; set your own Google Search query before you run it. You need an Apify API token.

Python

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
    "query": "what is retrieval augmented generation",
    "queries": [],
    "startUrls": [],
    "searchEngine": "auto",
    "searchLanguage": "auto",
    "searchCountry": "auto",
    "maxResults": 3,
    "maxItems": 0,
    "outputFormats": [
        "markdown"
    ],
    "removeElementsCssSelector": "nav, footer, aside, script, style, .ad, .advertisement, [aria-hidden='True']",
    "keepElementsCssSelector": [],
    "htmlTransformer": "readable-text",
    "maxContentLength": 0,
    "includeMetadata": True,
    "chunkMarkdown": False,
    "chunkMaxChars": 2000,
    "chunkOverlapChars": 200,
    "maxCrawlDepth": 0,
    "maxCrawlPages": 25,
    "domainAllowlist": [],
    "domainBlocklist": [],
    "excludeContentSelectors": [],
    "keywordsAnyOf": [],
    "emitFailedResults": False
}

run = client.actor("vexaloom-labs/rag-web-browser").call(run_input=run_input)
if run is None:
    raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

pip install apify-client

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
    "query": "what is retrieval augmented generation",
    "queries": [],
    "startUrls": [],
    "searchEngine": "auto",
    "searchLanguage": "auto",
    "searchCountry": "auto",
    "maxResults": 3,
    "maxItems": 0,
    "outputFormats": [
        "markdown"
    ],
    "removeElementsCssSelector": "nav, footer, aside, script, style, .ad, .advertisement, [aria-hidden='true']",
    "keepElementsCssSelector": [],
    "htmlTransformer": "readable-text",
    "maxContentLength": 0,
    "includeMetadata": true,
    "chunkMarkdown": false,
    "chunkMaxChars": 2000,
    "chunkOverlapChars": 200,
    "maxCrawlDepth": 0,
    "maxCrawlPages": 25,
    "domainAllowlist": [],
    "domainBlocklist": [],
    "excludeContentSelectors": [],
    "keywordsAnyOf": [],
    "emitFailedResults": false
};

const run = await client.actor("vexaloom-labs/rag-web-browser").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

npm install apify-client

cURL

curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~rag-web-browser/run-sync-get-dataset-items"   -H "Authorization: Bearer $APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"query":"what is retrieval augmented generation","queries":[],"startUrls":[],"searchEngine":"auto","searchLanguage":"auto","searchCountry":"auto","maxResults":3,"maxItems":0,"outputFormats":["markdown"],"removeElementsCssSelector":"nav, footer, aside, script, style, .ad, .advertisement, [aria-hidden='''true''']","keepElementsCssSelector":[],"htmlTransformer":"readable-text","maxContentLength":0,"includeMetadata":true,"chunkMarkdown":false,"chunkMaxChars":2000,"chunkOverlapChars":200,"maxCrawlDepth":0,"maxCrawlPages":25,"domainAllowlist":[],"domainBlocklist":[],"excludeContentSelectors":[],"keywordsAnyOf":[],"emitFailedResults":false}'

Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).

MCP (AI agents)

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=vexaloom-labs/rag-web-browser",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.

Questions people ask

Will the programmable search API reproduce the live results page?

The published data describes it as returning results for a configured search engine rather than replacing the live Google results page. Check that distinction before using its output for ranking or search-feature monitoring.

Are autocomplete suggestions evidence of search volume?

The autocomplete schema lists keyword, seed, position, locale, relevance and source without a search-volume field. Use the output for phrase discovery rather than treating suggestion order as a measured volume.

How can image results from another engine be identified?

The image tool provides engine and isFallback, with retrievalMethod and fallbackReason describing how the row was obtained. Preserve those fields when separating Google image results from fallback records.

Does a page extractor preserve the whole search results page?

The listed page extractor provides destination-page metadata such as canonicalUrl, author and httpStatusCode alongside searchRank. Use a results collector with documented search-feature output when you need boxes, panels or related questions.

What is the cheapest catalogue Actor for Google Search data?

Search & URL Markdown Extractor for LLMs lists $0.99 per 1,000 results (pay per event), with 13 fields in its published output schema. Start events and platform usage are billed separately. Checked 2026-11-11.

Which Google Search scraper returns the most core fields?

Google Image Search Results & Metadata Scraper covers 3 of the 5 core Google Search fields this page tracks (title, url, snippet, position, serp features), based on its published output schema.

Does Google Search have an official API?

Limited access: Google's programmable search API returns results for a configured search engine. It is not a general replacement for the live Google results page. Free allowance plus per-query pricing is published; check the official overview for current rates and caps.

Is it legal to scrape Google Search?

It depends on what you collect and how. Collect ranking data from public pages and follow Google's terms. Check the conditions for storing and reusing result snippets and destination content. Read Google Search's terms (https://policies.google.com/terms) before you collect, and check whether personal data is involved. This is general information, not legal advice.

More on Google Search

Sources

Text updated 2026-11-11 Data checked 2026-11-11
Cite this page

Scraper Finder. "How to get Google Search data." https://scraperfinder.com/sites/google-search/ (data checked 2026-11-11).

Highest-scoring catalogue Actor

Search & URL Markdown Extractor for LLMs: 2 of 5 core fields, $0.99 per 1,000 results, score 74. The highest score overall is 91 (Cheapest Google Search Results (Fast and cheap SERP API), a Store tool from another publisher); both are in the table above.

Open in Apify Store