---
title: "Search Google Maps places"
method: POST
path: "/v1/google-maps/search"
tags: ["Google maps"]
---

# Search Google Maps places

`POST /v1/google-maps/search`

## Request

- Base URL: `https://api.fiber.ai`
- URL: `https://api.fiber.ai/v1/google-maps/search`
- Auth: none declared

Searches Google Maps for places matching a query, and returns them with ratings, review counts, and contact details. Responds synchronously with one page of up to 20 results. For bulk collection across a region, use POST /v1/google-maps-search/start instead, which runs in the background and is polled for results.

<span>⚡ <strong>Rate limit:</strong> 120 requests per 1 minute</span>

<span>💰 <strong>Cost:</strong> 2 credits per search&nbsp;<span title="Pricing shown is default pricing. Actual pricing may vary.">ⓘ</span></span>

## Request body

- object
  - `apiKey` string, required: Your Fiber API key
  - `query` string, required: What to search for (e.g. 'coffee shop' or 'The Modern'). A business name also works.
  - `location` string, nullable: Where to search. Accepts a city and state ('Brooklyn, NY'), a full address, or a ZIP code. Omit to search without a location bias.
  - `nextPageToken` string, nullable: Pagination token from a prior response's `nextPageToken`. Omit (or pass null) to fetch the first page.

## Response `200`

Default Response

- object
  - `output` object, required
    - `places` object[], required: Matching places. Google Maps indexes parks, transit stops and landmarks alongside businesses, so a result is not necessarily a business.
      - `placeId` string, required: Google Maps place ID. Use with POST /v1/google-maps/place and POST /v1/google-maps/reviews.
      - `name` string, required: Place display name.
      - `url` string, required: Google Maps page for this place.
      - `rating` number, nullable: Average star rating from 0 to 5.
      - `reviewCount` integer, nullable: Total review count.
      - `phoneNumber` string, nullable: Contact phone number in E.164 format when the country can be determined, otherwise as listed on Google Maps.
      - `websiteUrl` string, nullable: Website URL for this place.
      - `address` string, nullable: Street address of the place.
      - `categories` string[], required: Categories this place belongs to (e.g. 'Coffee shop', 'Park', 'Subway station').
      - `openingHours` object[], required: Opening hours by day of the week, when available.
        - `dayOfWeek` 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday', required: Day of the week.
        - `hours` string, required: Opening hours for the day, as displayed on the Google Maps page for the place (e.g. '12–2:30 PM, 5–9 PM').
      - `coordinates` object, nullable: Geographic coordinates of the place.
        - `latitude` number, required: The latitude of the point.
        - `longitude` number, required: The longitude of the point.
      - `thumbnailUrl` string, nullable: Thumbnail image URL for this place.
    - `nextPageToken` string, nullable: Token to retrieve the next page. Pass as `nextPageToken` in the next request. Null if no more pages.
  - `chargeInfo` union, required
    - object: Credits were charged immediately for this operation
      - `method` 'charged-now', required
      - `creditsCharged` number, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: Credits will be charged after the operation completes
      - `method` 'charging-later', required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: Credits that were charged for an asynchronous operation
      - `method` 'charged-for-async-process', required
      - `creditsCharged` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: No credits were charged for this operation
      - `method` 'free', required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: Credits were refunded for this operation
      - `method` 'credits-refunded', required
      - `creditsRefunded` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
  - `warnings` object[], nullable: Warnings about extraneous fields in request
    - `field` string, required: Full path to extraneous field (e.g., 'searchParams.ExtraField')
    - `message` string, required: Warning message
  - `advice` string[], nullable: Tips, recommendations, and suggestions for using this API effectively.

## Other responses

- `400`: Default Response
- `401`: Default Response
- `402`: Default Response
- `403`: Default Response
- `404`: Default Response
- `422`: Default Response
- `429`: Default Response
- `500`: Default Response
- `503`: Default Response

## Changes

- **2026-10-07** `7f6ae6cff8b1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fiber/apis/fiber-ai-api/changes/v1/google-maps/search/post.md)

---

[API](https://skmtc.dev/fiber/apis/fiber-ai-api.md) - [All operations](https://skmtc.dev/fiber/apis/fiber-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fiber/apis/fiber-ai-api/revisions/d8237cb5c35e?raw)
