Google Search API: Google SERP Scraper & Web Results avatar

Google Search API: Google SERP Scraper & Web Results

Pricing

from $0.30 / 1,000 organic results

Go to Apify Store
Google Search API: Google SERP Scraper & Web Results

Google Search API: Google SERP Scraper & Web Results

Google Search API and MCP tool, Google Custom Search API alternative: Google organic results as JSON (position, URL, domain, title, snippet, SERP features) for any query, country, language, device. $0.0024 per query with results plus $0.0003 per result, $0.0026 per extra page of 10, $0.001 per run.

Pricing

from $0.30 / 1,000 organic results

Rating

0.0

(0)

Developer

PlainRows

PlainRows

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

A Google Search API for scripts and AI agents: give it search queries, get one row per Google organic result with its position, URL, domain, title and snippet, plus the other blocks Google showed on the page (AI Overview, People also ask, ads, maps...), for the country, language and device you choose (desktop or mobile), up to 100 results per query. One live Google search per query, JSON out: a drop-in Google Custom Search API (Custom Search JSON API) alternative with no daily query quota and no search engine ID to set up.

It calls a commercial SERP data API instead of driving browsers: no proxies, no CAPTCHAs, no Google account, no API key of your own. Up to five queries run at a time (fewer with deep result pages), a few seconds each. Queries with no result are free.

Typical uses

  • AI agents and RAG: give an LLM fresh Google results (URL, title, snippet) as an MCP tool, then let it read the pages it needs.
  • SEO: see who ranks on Google for your keywords, by country and language, desktop or mobile.
  • Research and monitoring: collect the top Google results for a list of topics, brands or questions on a schedule.
  • Lead and content discovery: find the sites, articles and forums Google shows for a topic.
  • Exports: send the rows to Google Sheets, BigQuery, Slack, n8n, Make or Zapier.

What you get for each organic result

FieldDescription
searchQueryThe query searched on Google
positionOrganic position on Google (1 = first organic result)
absolutePosition, pagePosition among all elements of the page (ads and boxes included); Google results page
url, domainResult URL and its domain
title, descriptionResult title and the snippet Google shows
breadcrumb, websiteName, publishedAtBreadcrumb, site name and publication date when Google shows them
resultTypeElement type (organic)
serpFeaturesOther element types on the same page (ai_overview, people_also_ask, related_searches, paid, local_pack, video...)
found, status, messageFOUND for a billed row; free rows say why: NO_RESULTS, FORMAT_CHANGED, PROVIDER_ERROR, REJECTED, NOT_CHECKED
country, languageCode, device, searchedAtWhere, how and when the search ran

Missing values are null, never guessed. Positions are Google's organic rank (ads and boxes are not counted in position). serpFeatures says which blocks were on the page; their content is not included (for AI Overview text and sources, use AI Overview Scraper & Tracker).

Input

{
"queries": ["crm software", "best project management tool"],
"country": "US",
"device": "desktop",
"maxResults": 10
}
  • queries (required): up to 1,000 per run, one Google search each, max 700 characters.
  • country: US, GB, CA, AU, IE, IN, DE, AT, CH, FR, BE, ES, MX, IT, NL, PT, BR, PL, SE, JP. languageCode defaults to the country's main language.
  • device: desktop (default) or mobile.
  • maxResults (default 10): organic results per query, 1 to 100. 10 = the first Google page, which usually holds 7 to 9 organic results once ads, maps and other boxes take their place. Each further 10 results is one more Google page (see Pricing).

Pricing

Pay per event, no subscription:

  • Search query with results: $0.0024, once per query that returns at least one organic result.
  • Organic result: $0.0003 per result row. A first page of 9 organic results costs about $0.0051.
  • Extra results page: $0.0026, only if you raise maxResults above 10, once per extra page of 10 results Google returned.
  • Actor start: $0.001 per run.

Queries with no result, queries the data source failed or refused, unreadable answers and queries not reached (budget or timeout) get a free row with found: false and the reason. The run never spends more than the maximum cost you set.

Free Apify plan: each run searches the first 5 queries, up to 30 results each, so you can test the output. A paid Apify plan removes this limit.

Good to know

  • Results are those of a logged-out user in the chosen country, language and device, not personalized. The same query can move a place or two between runs.
  • Advanced search operators (site:, intitle:, inurl:, filetype:...) are not supported: such queries are skipped for free and listed in the run summary (invalidQueries). Quotes, -word and OR work as usual.
  • To track where one domain ranks for many keywords, use Keyword Rank Checker; for Bing results, Bing Search API.

What this is not

  • Not an official Google API, and not affiliated with or endorsed by Google. It returns the public Google results page as data.
  • Not Google Images, News or Maps: organic web results only (see the other PlainRows tools below).

Run summary

Each run stores a summary in the key-value store (OUTPUT): queries run, queries with no result, results billed, search fees and extra pages charged, and anything skipped because of the free-plan or budget limit.

Use it from code, automations or AI agents

API (one call, results returned directly):

curl -X POST "https://api.apify.com/v2/acts/plainrows~google-search-api/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries": ["crm software"]}'

n8n, Make, Zapier: use the Apify integration, pick plainrows/google-search-api and send the rows where you need them.

AI agents (MCP tool): add https://mcp.apify.com?tools=plainrows/google-search-api to Claude, Cursor or any MCP client, then ask "Search Google for 'crm software' and list the top 10 results".

FAQ

Is this the Google Custom Search JSON API? No. It returns the real Google results page (what a logged-out user sees), not a Programmable Search Engine index, and needs no Google key or quota.

Do I pay for queries with no result? No. A query with no organic result gets a free found: false row.

Why fewer than 10 results on page 1? Google fills part of its first page with ads, maps, videos or People also ask. You only pay per organic result returned.

Can I get more than the first page? Yes, raise maxResults up to 100. Each extra page of 10 results Google returns is billed as an extra page.

More PlainRows tools

Same pay-per-result pricing, same clean JSON, built to chain together in n8n, Make, Zapier or AI agents.

Support

Missing a field or found a bug? Open an issue on this page. Issues are read and answered.