# Google Search API. Pay per record.

> Google web results as JSON: rank, title, link, snippet and domain, with site, date and file-type filters. From $0.0009 per page.

Canonical: https://apiforagents.dev/platforms/google/search-api · Updated 2026-10-21

Run a Google web search and get the organic results as JSON: rank, title, link, snippet, domain and date, with related questions and searches. Operators like site:, intitle: and OR work, and you can filter by country, language, site, date range and file type.

- Price: $0.0009 / page
- Billed: Per record
- Free to start: $0.10
- Endpoint: POST /v1/google

## What people build with the Google Search API

- **Ground an agent in the web.** Let an agent search before it answers, then read the links it found, with the rank of each.
- **Rank tracking.** Check where a domain ranks for a set of queries in each country, on a schedule you choose.
- **Find evidence first.** Search a site, such as one domain or a profile path, to find the exact page or handle before you look it up elsewhere.

## Quote it, then run it

1. free quote: the exact price, nothing charged:

```bash
curl -X POST https://apiforagents.dev/v1/google \
  -H "Authorization: Bearer $AFA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"op":"search","query":"best CRM for startups","pages":1,"country":"US","language":"en","estimateOnly":true}'
```

2. the same call, run:

```bash
curl -X POST https://apiforagents.dev/v1/google \
  -H "Authorization: Bearer $AFA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"op":"search","query":"best CRM for startups","pages":1,"country":"US","language":"en"}'
```

## Inputs

Everything you can send in one search call. Required inputs first.

| Input | Type | What it does |
|---|---|---|
| query * | string | ≤300 chars |
| pages | integer | Billed per page of ~10 results. The one op counted in pages. 1-5 |
| country | string | Country to search from. ISO alpha-2 |
| language | string | BCP-47 |
| site | string | Only results from this domain ("linkedin.com/in", "reddit.com"). The same as writing site: in the query. ≤120 chars |
| relatedToSite | string | Sites Google considers similar to this domain, instead of the query's own matches. ≤120 chars |
| since | string | YYYY-MM-DD |
| until | string | YYYY-MM-DD |
| fileTypes | text list | Only documents of these types, as extensions ("pdf", "xlsx", "ppt"). Empty = any page. each ≤8 chars |

## What comes back

The fields of every row, always present. Nothing is guessed: a value that could not be measured is null, and the answer's coverage says why.

| Field | Type |
|---|---|
| link | string |
| title | string |
| snippet | string |
| domain | string |
| source | string |
| publishedDate | string |
| rank | integer |
| relatedQuestions | any |
| relatedSearches | any |
| aiAnswer | string |
| aiAnswerSources | any |
| details | object |

details is always the last field: everything else the source sent for that row, under our own field names. Its keys depend on the source that answered, so read them defensively; it is {} when there is nothing more.

## A sample answer

Made-up names and values in the real field names, so you can see the shape before you spend anything.

| rank | title | domain | snippet | publishedDate | link |
|---|---|---|---|---|---|
| 1 | How to price a B2B SaaS product (2026 guide) | northfold.example | A step-by-step way to set your first price, with worked e… | 2026-08-12 | https://www.google.com/how-to-price-a-b2b-saas-product-20… |
| 2 | SaaS pricing models compared | ledgerly.example | Per seat, usage-based and flat fees, side by side. | 2026-06-30 | https://www.google.com/saas-pricing-models-compared-1001 |
| 3 | Pricing page examples that convert | brightdesk.example | 24 real pricing pages and what they get right. | 2026-09-18 | https://www.google.com/pricing-page-examples-that-convert… |

## Pricing

Pay as you go, in US dollars, per record. No subscription, nothing expires, $5 first top-up, and every new agent starts with $0.10 free.

| Request | Records | At the list price |
|---|---|---|
| One page | 1 | $0.0009 |

These are per-record list prices. Some calls also carry a minimum, such as a page of search results, so a small request can cost more than the table shows. The quote ("estimateOnly": true) is free, gives the most your exact request can cost, and the charge then settles to what came back. Records that do not come back are refunded.

## Try it without writing code

- [Open the Google Search API in the playground](https://apiforagents.dev/dashboard/run?platform=google&op=search): The playground runs any endpoint by hand: pick a platform and what you want from it, fill a short form named in plain words (or press Use sample input), see the free quote on the Run button, run it, then read the answer as a table or JSON and download it as CSV or JSON. The same call is written out as cURL, Python and Node while you type.

## Why this one, and not a scraper you run yourself

- No login, no Google account, no cookies, no proxies, no browser to babysit.
- When the site changes its pages, your request stays the same: keeping the reads working is our job, not yours.
- A fetch that fails costs nothing: it is named in the answer with a reason, and the quote says the most a call can cost before it runs.

## Use it from your tools

- [Google in n8n](https://apiforagents.dev/integrations/n8n/google)
- [Google in Make](https://apiforagents.dev/integrations/make/google)
- [Google in Zapier](https://apiforagents.dev/integrations/zapier/google)
- [Google in Python](https://apiforagents.dev/integrations/python/google)
- [Google in LangChain](https://apiforagents.dev/integrations/langchain/google)
- [Google in Claude Code](https://apiforagents.dev/integrations/claude-code/google)

## Questions

### What does the Google Search API return?

One row per organic result: rank, title, domain, snippet, published date where shown, and link, plus the related questions and related searches Google shows for the query.

### What do I pass in?

A query of up to 300 characters, and optionally the number of pages (one to five), country, language, a site to search within, a site to find similar sites to, since and until dates, and file types such as pdf or xlsx.

### How is a search billed?

$0.0009 per page of about ten results at the list price. A small call can carry a minimum, so quote first with "estimateOnly": true: the quote is free and is the most the call can cost. You pay for what comes back.

## Why API for Agents

- One key for 26 platforms: social, commerce, jobs, places, search and contacts, with one request shape and one response shape.
- A free quote before any spend: add "estimateOnly": true to any call and see the most it can cost.
- Pay per record in US dollars. No subscription, nothing expires, top-ups from $5.
- $0.10 free to try, no card. An AI agent can sign itself up in one request; a person claims it later.
- Measured, not estimated: every answer says when each row was measured, whether it was fresh or a recent capture, and how sure to be of each field.
- Partial success is success: anything that could not be fetched is named with a reason, and the charge settles to what came back, never above the quote.
- Typed fields that keep their names whichever source answered, and a details object last with everything else the source sent, under our own field names.
- Try any endpoint in the playground and download the answer as CSV or JSON.

## Start

The playground runs any endpoint by hand: pick a platform and what you want from it, fill a short form named in plain words (or press Use sample input), see the free quote on the Run button, run it, then read the answer as a table or JSON and download it as CSV or JSON. The same call is written out as cURL, Python and Node while you type. Open it at https://apiforagents.dev/dashboard/run?platform=google&op=search (sign in first).

Agents register at https://apiforagents.dev/auth.md (one POST, $0.10 free). People: https://apiforagents.dev/docs#start. Prices: https://apiforagents.dev/pricing.md
