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

# Serper: Maps Batch

> Run up to 100 Google Maps searches at once and get the places found for each query. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Run up to 100 Google Maps searches at once and get the places found for each query.

> [!NOTE]
>
> Tool ID: `serper_google_maps_search_batch`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'serper_google_maps_search_batch',
  {
    "queries": [
      {
        "query": "software companies hiring engineers"
      }
    ]
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute serper_google_maps_search_batch --input '{
  "queries": [
    {
      "query": "software companies hiring engineers"
    }
  ]
}' --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe serper_google_maps_search_batch --json` for the complete live contract.

## Input reference

Run up to 100 Serper Google Maps searches in a single batched request.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.queries` | `array` | Yes | — | Up to 100 Serper Maps searches executed in one request. Results are returned in the same order. Minimum items: 1. Maximum items: 100. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Run up to 100 Serper Google Maps searches in a single batched request.",
    "properties": {
      "queries": {
        "type": "array",
        "description": "Up to 100 Serper Maps searches executed in one request. Results are returned in the same order.",
        "minItems": 1,
        "maxItems": 100,
        "items": {
          "type": "object",
          "description": "Run a Serper Google Maps search. Returns a fixed ~20 places per call and is billed per call, not per place, so narrow the result set with a more specific `query` or an `ll` location bias rather than by paging. Unlike serper_google_search, this endpoint does not support a `num` result cap.",
          "properties": {
            "query": {
              "type": "string",
              "description": "Maps search query string.",
              "aliases": [
                "q"
              ]
            },
            "ll": {
              "type": "string",
              "description": "GPS position and zoom in `@latitude,longitude,zoom` format.",
              "minLength": 1
            },
            "placeId": {
              "type": "string",
              "description": "Optional Google place ID filter/anchor.",
              "minLength": 1
            },
            "cid": {
              "description": "Optional Google CID filter/anchor.",
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1
                },
                {
                  "type": "integer",
                  "minimum": 0
                }
              ]
            },
            "hl": {
              "type": "string",
              "description": "Language code. Defaults to `en`.",
              "default": "en",
              "minLength": 2,
              "maxLength": 8
            },
            "gl": {
              "type": "string",
              "description": "Country code. Defaults to `us`.",
              "default": "us",
              "minLength": 2,
              "maxLength": 2
            },
            "page": {
              "type": "integer",
              "description": "1-indexed results page. One call returns a fixed ~20 places and each page is billed separately, so only request page 2+ when page 1 came back full and you genuinely need more; a query with fewer than ~20 total matches returns an EMPTY page 2 and still costs a full credit. There is no per-call result limit: /maps ignores `num`.",
              "minimum": 1
            },
            "autocorrect": {
              "type": "boolean",
              "description": "Enable query autocorrection."
            }
          },
          "required": [
            "query"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "queries"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.results` | `array` | Yes | — | Per-query responses, positionally aligned with the submitted queries. |
| `result.data.results[].searchParameters` | `record` | No | — | — |
| `result.data.results[].places` | `array` | No | — | — |
| `result.data.results[].places[].position` | `number` | No | — | — |
| `result.data.results[].places[].title` | `string` | No | — | — |
| `result.data.results[].places[].address` | `string` | No | — | — |
| `result.data.results[].places[].latitude` | `number` | No | — | — |
| `result.data.results[].places[].longitude` | `number` | No | — | — |
| `result.data.results[].places[].rating` | `number` | No | — | — |
| `result.data.results[].places[].ratingCount` | `number` | No | — | — |
| `result.data.results[].places[].category` | `string` | No | — | — |
| `result.data.results[].places[].phoneNumber` | `string` | No | — | — |
| `result.data.results[].places[].website` | `string` | No | — | — |
| `result.data.results[].places[].cid` | `string \| number` | No | — | — |
| `result.meta` | `record` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "results": {
            "type": "array",
            "description": "Per-query responses, positionally aligned with the submitted queries.",
            "items": {
              "type": "object",
              "description": "Provider response payload.",
              "properties": {
                "searchParameters": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "places": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "position": {
                        "type": "number"
                      },
                      "title": {
                        "type": "string"
                      },
                      "address": {
                        "type": "string"
                      },
                      "latitude": {
                        "type": "number"
                      },
                      "longitude": {
                        "type": "number"
                      },
                      "rating": {
                        "type": "number"
                      },
                      "ratingCount": {
                        "type": "number"
                      },
                      "category": {
                        "type": "string"
                      },
                      "phoneNumber": {
                        "type": "string"
                      },
                      "website": {
                        "type": "string"
                      },
                      "cid": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "number"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          }
        },
        "required": [
          "results"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": {}
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `per_result` (per result).
* Estimated Deepline credits: `0.04` per pricing unit.

## Related documentation

* [Serper provider guide](https://deepline.com/docs/providers/serper/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.