---
title: "Google Web Search"
method: GET
path: "/v1/web/search"
tags: ["Google Search"]
---

# Google Web Search

`GET /v1/web/search`

## Request

- Base URL: `https://apidirect.io`
- URL: `https://apidirect.io/v1/web/search`
- Auth: API key in header `X-API-Key`

Run a real-time Google search and return organic results with position, rank, title, URL, snippet, source, domain, and displayed link. Supports Google advanced operators (site:, inurl:, intitle:). Fetch 1-10 pages of results in a single call: each page is 10 results and every page is merged into one results array. Supports country, language, time window, city-level location, and device targeting. Set include_ai_overview=true to include Google's AI Overview when one is available for the query.

**Price:** $0.004 per page (+$0.002 flat per request when `include_ai_overview=true`). **Free tier:** 50 requests/month.

## Query parameters

- `query` string, required
- `pages` integer
- `country` string
- `language` string
- `time` 'any' | 'hour' | 'day' | 'week' | 'month' | 'year'
- `location` string
- `device` 'desktop' | 'mobile'
- `include_ai_overview` boolean

## Response `200`

Successful response

- SearchWebResponse: Inferred from a live response. Any field can be null or absent, and new fields may be added at any time.
  - `results` object[], nullable
    - `position` number, nullable
    - `rank` number, nullable
    - `title` string, nullable
    - `url` string, nullable
    - `snippet` string, nullable
    - `source` string, nullable
    - `domain` string, nullable
    - `displayed_link` string, nullable
  - `pages` number, nullable
  - `count` number, nullable
  - `ai_overview` object, nullable
    - `text_parts` object[], nullable
      - `type` string, nullable
      - `text` string, nullable
    - `reference_links` object[], nullable
      - `title` string, nullable
      - `link` string, nullable
      - `source` string, nullable

## Other responses

- `400`: Bad request: missing or invalid parameters
- `401`: Unauthorized: invalid or missing API key
- `402`: Free tier used up for this endpoint and no payment method on file (`payment_required`).
- `403`: Account blocked after a failed payment (`account_blocked`).
- `429`: Rate limit exceeded or too many concurrent requests
- `500`: Internal server error
- `502`: Temporary failure retrieving search data. Please retry shortly.
- `503`: Service temporarily unavailable. Please retry shortly.
- `504`: The request timed out

---

[API](https://skmtc.dev/apidirect/apis/api-direct.md) · [All operations](https://skmtc.dev/apidirect/apis/api-direct/llms.txt) · [OpenAPI document](https://skmtc.dev/apidirect/apis/api-direct/revisions/fa8c68d70bd0?raw)
