> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List of Google Locations for SERP API

> Returns the locations supported by the Google SERP API.

Returns the full list of locations supported by the Google SERP API, so you can resolve the `location_code` used when posting SERP tasks. Each entry carries `location_code`, `location_name`, `location_code_parent`, `country_iso_code` and `location_type`. 💰 Upstream is free — DataForSEO does not charge for this dictionary; AIsa bills the flat \$0.012 family rate. Wrapped in DataForSEO's envelope: data in `tasks[0].result`, outcome in `tasks[0].status_code` - a rejected request still returns HTTP 200.

## Example

<CodeGroup>
  ```bash REST theme={null}
  curl -X GET "https://api.aisa.one/apis/v1/dataforseo/serp/google/locations" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```jsonc MCP theme={null}
  // Copy this whole block into Claude Code, Codex, Cursor or any coding agent.
  // It carries everything needed to connect, authorize and run this example —
  // no key to paste, one click of Allow in the browser.
  {
    "operation_id": "get_dataforseo_serp_google_locations",
    "arguments": {},
    "max_price_usd": 0.05
  }
  // ── for the agent ─────────────────────────────────────────────────────────
  // Register the AIsa MCP server, then call its `use` tool with the JSON above.
  //   name       aisa
  //   endpoint   https://mcp.aisa.one/mcp
  //   transport  streamable-http
  //   auth       OAuth. The server publishes RFC 9728 metadata, so open a
  //              browser and the user clicks Allow once — nothing to paste.
  //              If AISA_API_KEY is set, send it as a bearer header instead.
  // Use your own MCP mechanism, not a hand-edited config file:
  //   Codex        codex mcp add aisa --url https://mcp.aisa.one/mcp
  //   Claude Code  claude mcp add --transport http -s user aisa https://mcp.aisa.one/mcp
  //   Cursor / VS Code   a "url" entry for https://mcp.aisa.one/mcp in the MCP config
  // The server lists five tools over https://mcp.aisa.one/servers worth of APIs:
  // search, get_details, use, batch_use, list_categories. search and
  // get_details are free; use is billed per call and max_price_usd refuses
  // anything above the cap before spending. This operation's full contract —
  // every argument, the response shape, the price and the pitfalls — is at
  //   https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-google-locations.md
  // Then run the call and show me the result.
  ```
</CodeGroup>

<Note>
  **First time?** Point any MCP client at `https://mcp.aisa.one/mcp` — Claude
  Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client
  opens a browser, you click Allow once, and there is no key to paste. The
  commands per client, and what each call costs, are on
  [aisa.one/mcp](https://aisa.one/mcp#connect).
</Note>

[Set this endpoint up in your agent →](https://aisa.one/mcp?from=/api-reference/dataforseo/get_dataforseo-serp-google-locations)


## OpenAPI

````yaml openapi/dataforseo.json GET /dataforseo/serp/google/locations
openapi: 3.0.3
info:
  title: DataForSEO API
  version: 1.0.0
  description: DataForSEO API endpoints exposed through the AIsa unified gateway.
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - BearerAuth: []
paths:
  /dataforseo/serp/google/locations:
    get:
      summary: List of Google Locations for SERP API
      description: >-
        Returns the full list of locations supported by the Google SERP API, so
        you can resolve the `location_code` used when posting SERP tasks. Each
        entry carries `location_code`, `location_name`, `location_code_parent`,
        `country_iso_code` and `location_type`. 💰 Upstream is free — DataForSEO
        does not charge for this dictionary; AIsa bills the flat $0.012 family
        rate. Wrapped in DataForSEO's envelope: data in `tasks[0].result`,
        outcome in `tasks[0].status_code` — a rejected request still returns
        HTTP 200.
      operationId: get_dataforseo_serp_google_locations
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  version:
                    type: string
                    description: The current version of the API
                  status_code:
                    type: integer
                    description: General status code
                  status_message:
                    type: string
                    description: General informational message
                  time:
                    type: string
                    description: Execution time, seconds
                  cost:
                    type: number
                    description: >-
                      Total tasks cost, USD (0 for these free dictionary
                      endpoints)
                  tasks_count:
                    type: integer
                    description: The number of tasks in the tasks array
                  tasks_error:
                    type: integer
                    description: >-
                      The number of tasks in the tasks array returned with an
                      error
                  tasks:
                    type: array
                    items:
                      type: string
                    description: Array of tasks
                  tasks[].result:
                    type: array
                    items:
                      type: string
                    description: Array of available locations
                  tasks[].result[].location_code:
                    type: integer
                    description: >-
                      Location code — pass this as location_code when posting a
                      SERP task
                  tasks[].result[].location_name:
                    type: string
                    description: Full location name
                  tasks[].result[].location_code_parent:
                    type: integer
                    description: Parent location code (e.g. the country a city belongs to)
                  tasks[].result[].country_iso_code:
                    type: string
                    description: Country ISO code
                  tasks[].result[].location_type:
                    type: string
                    description: Location type (Country, Region, City, etc.)
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '429':
          description: Rate limit exceeded
        '500':
          description: Internal server error
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````