# Google Maps API

> Google Maps returns place details, reviews and directions, available as a workflow and API.

Google Maps Search finds places by type or name and location, returning matching places with details such as ratings, hours and contact information. Get place returns a public place profile using a place name or Maps link and location; Get place reviews returns reviews using the same inputs. Get directions returns up to three routes using an origin and destination, with travel mode and departure time as optional inputs.

- Page: https://fous.com/tools/google-maps
- Handle: `@google-maps`
- Category: [Maps](https://fous.com/tools/category/maps)
- Source website: https://google.com/maps
- Last verified: Sep 30, 2026

## Methods

### Get directions

Operation `get_directions`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get up to three Google Maps routes between two places, with distances, travel times and directions. Transit details and route availability depend on the place and departure time.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `avoid` | string | no | `"tolls"` | A road feature to avoid, such as tolls; defaults to none. |
| `origin` | string | yes | `"Ferry Building, San Francisco"` | Starting address, place name or city, such as Golden Gate Bridge. |
| `destination` | string | yes | `"SFO Airport"` | Destination address, place name or city, such as Stanford University. |
| `travel_mode` | string | no | `"public_transit"` | How to travel, such as walking; defaults to driving. |
| `departure_time` | string | no | `"2026-09-29T08:00:00-07:00"` | Departure date and time at the starting place, with its time zone offset, such as 2026-10-01T09:00:00-07:00; defaults to now. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "origin",
    "destination"
  ],
  "properties": {
    "avoid": {
      "enum": [
        "none",
        "tolls",
        "highways",
        "ferries"
      ],
      "type": "string",
      "default": "none",
      "description": "A road feature to avoid, such as tolls; defaults to none.",
      "examples": [
        "tolls"
      ]
    },
    "origin": {
      "type": "string",
      "title": "From",
      "description": "Starting address, place name or city, such as Golden Gate Bridge.",
      "examples": [
        "Ferry Building, San Francisco",
        "Golden Gate Bridge",
        "Times Square, New York"
      ]
    },
    "destination": {
      "type": "string",
      "title": "To",
      "description": "Destination address, place name or city, such as Stanford University.",
      "examples": [
        "SFO Airport",
        "Stanford University",
        "Central Park, New York"
      ]
    },
    "travel_mode": {
      "enum": [
        "driving",
        "walking",
        "cycling",
        "public_transit"
      ],
      "type": "string",
      "default": "driving",
      "description": "How to travel, such as walking; defaults to driving.",
      "examples": [
        "public_transit",
        "walking",
        "driving"
      ]
    },
    "departure_time": {
      "type": "string",
      "format": "date-time",
      "description": "Departure date and time at the starting place, with its time zone offset, such as 2026-10-01T09:00:00-07:00; defaults to now.",
      "examples": [
        "2026-09-29T08:00:00-07:00"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "origin": "Ferry Building, San Francisco",
      "destination": "SFO Airport",
      "travel_mode": "public_transit",
      "departure_time": "2026-09-29T08:00:00-07:00"
    },
    {
      "origin": "Golden Gate Bridge",
      "destination": "Stanford University"
    },
    {
      "origin": "Times Square, New York",
      "destination": "Central Park, New York",
      "travel_mode": "walking"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `routes` | array |  |  |
| `routes[].steps` | array |  |  |
| `routes[].summary` | string | `"Subway Red-S"` |  |
| `routes[].page_link` | string | `"https://www.google.com/maps/dir/Ferry+Building,+1+Ferry+Building,+San+Francisco,+CA+94105/San+Francisco+International+A` |  |
| `routes[].distance_km` | number | `26.2` |  |
| `routes[].travel_time` | string | `"40 min"` |  |
| `routes[].distance_miles` | number | `16.3` |  |
| `routes[].distance_metres` | integer | `26169` |  |
| `routes[].travel_time_seconds` | integer | `2374` |  |
| `end_address` | string | `"San Francisco International Airport, San Francisco, CA 94128"` |  |
| `start_address` | string | `"Ferry Building, 1 Ferry Building, San Francisco, CA 94105"` |  |

**Example input**

```json
{
  "origin": "Ferry Building, San Francisco",
  "destination": "SFO Airport",
  "travel_mode": "public_transit",
  "departure_time": "2026-09-29T08:00:00-07:00"
}
```

**Example output**

```json
{
  "routes": [
    {
      "steps": [
        {
          "time": "2 min",
          "to_stop": null,
          "distance": "400 ft",
          "from_stop": null,
          "line_name": null,
          "instruction": "Head toward The Embarcadero S",
          "time_seconds": 118,
          "departure_time": null,
          "distance_metres": 122
        }
      ],
      "summary": "Subway Red-S",
      "page_link": "https://www.google.com/maps/dir/Ferry+Building,+1+Ferry+Building,+San+Francisco,+CA+94105/San+Francisco+International+Airport,+San+Francisco,+CA+94128/data=!4m18!4m17!1m5!1m1!1s0x808580668e8f3159:0x6c…",
      "distance_km": 26.2,
      "travel_time": "40 min",
      "distance_miles": 16.3,
      "distance_metres": 26169,
      "travel_time_seconds": 2374
    }
  ],
  "end_address": "San Francisco International Airport, San Francisco, CA 94128",
  "start_address": "Ferry Building, 1 Ferry Building, San Francisco, CA 94105"
}
```

### Get place

Operation `get_place`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get a public Google Maps place profile by name and location, or by a Maps place link and location. Fields not shown for a place are left empty.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `location` | string | yes | `"Seattle, Washington"` | City, area, or address, such as Greenwich Village, New York. |
| `place_name` | string | yes | `"Space Needle"` | Business or place name, such as Joe's Pizza, or a Google Maps place link. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "place_name",
    "location"
  ],
  "properties": {
    "location": {
      "type": "string",
      "description": "City, area, or address, such as Greenwich Village, New York.",
      "examples": [
        "Seattle, Washington",
        "Greenwich Village, New York"
      ]
    },
    "place_name": {
      "type": "string",
      "description": "Business or place name, such as Joe's Pizza, or a Google Maps place link.",
      "examples": [
        "Space Needle",
        "Joe's Pizza",
        "https://www.google.com/maps/place/Joe's+Pizza/@40.7306597,-74.0021707,17z/data=!4m6!3m5!1s0x89c259924a960df1:0x43b20488619b3f43!8m2!3d40.7306597!4d-74.0021707!16s%2Fg%2F1tyyy0n3"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "location": "Seattle, Washington",
      "place_name": "Space Needle"
    },
    {
      "location": "Greenwich Village, New York",
      "place_name": "Joe's Pizza"
    },
    {
      "location": "Greenwich Village, New York",
      "place_name": "https://www.google.com/maps/place/Joe's+Pizza/@40.7306597,-74.0021707,17z/data=!4m6!3m5!1s0x89c259924a960df1:0x43b20488619b3f43!8m2!3d40.7306597!4d-74.0021707!16s%2Fg%2F1tyyy0n3"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `name` | string | `"Space Needle"` | Place name. |
| `address` | string or null | `"400 Broad St, Seattle, WA 98109"` | Full street address. |
| `website` | string or null | `"https://www.spaceneedle.com/"` | Public website link. |
| `category` | string or null | `"Observation deck"` | Primary category. |
| `latitude` | number or null | `47.620506299999995` | Latitude. |
| `open_now` | string or null | `"No"` | Yes or No based on the current hours status. |
| `longitude` | number or null | `-122.34927739999999` | Longitude. |
| `plus_code` | string or null | `"JMC2+67 Seattle, Washington"` | Plus code. |
| `description` | string or null | `"Iconic, 605-ft-tall spire at the Seattle Center, with an observation deck & a rotating restaurant."` | Short description, when shown. |
| `photo_links` | array |  | Up to five public place photo links. |
| `price_level` | string or null |  | Price level as shown on Google Maps. |
| `star_rating` | number or null | `4.6` | Average star rating. |
| `phone_number` | string or null | `"(206) 905-2100"` | Public phone number. |
| `review_count` | integer or null | `10649` | Number of reviews. |
| `opening_hours` | object |  | Weekly opening hours as displayed. |
| `opening_hours.Friday` | string or null | `"10 AM–4 AM"` | Friday hours as text. |
| `opening_hours.Monday` | string or null | `"10:30 AM–8 PM"` | Monday hours as text. |
| `opening_hours.Sunday` | string or null | `"10 AM–3 AM"` | Sunday hours as text. |
| `opening_hours.Tuesday` | string or null | `"10 AM–3 AM"` | Tuesday hours as text. |
| `opening_hours.Saturday` | string or null | `"10 AM–4 AM"` | Saturday hours as text. |
| `opening_hours.Thursday` | string or null | `"10 AM–3 AM"` | Thursday hours as text. |
| `opening_hours.Wednesday` | string or null | `"10 AM–3 AM"` | Wednesday hours as text. |
| `google_place_id` | string or null | `"ChIJ-bfVTh8VkFQRDZLQnmioK9s"` | Google place ID. |
| `service_options` | array |  | Available service options. |
| `google_maps_link` | string | `"https://www.google.com/maps/place/Space+Needle,+400+Broad+St,+Seattle,+WA+98109/@47.6205063,-122.3492774,2689a,13.1y/da` | Google Maps page link. |

**Example input**

```json
{
  "location": "Seattle, Washington",
  "place_name": "Space Needle"
}
```

**Example output**

```json
{
  "name": "Space Needle",
  "address": "400 Broad St, Seattle, WA 98109",
  "website": "https://www.spaceneedle.com/",
  "category": "Observation deck",
  "latitude": 47.620506299999995,
  "open_now": "No",
  "longitude": -122.34927739999999,
  "plus_code": "JMC2+67 Seattle, Washington",
  "description": "Iconic, 605-ft-tall spire at the Seattle Center, with an observation deck & a rotating restaurant.",
  "photo_links": [
    "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWmyNGjXVaNO1wFdbnLTCMEENxuZz8P1xBHu8p5sBhammJXbwfalKs8GuoPCklHHW-79tcLjP0PU3HmmyMilpTQe2zFjhiKdcuEh1VIyRfil97ou-igWbOuFANlzMTcFWMEJg-RA=w86-h114-k-no"
  ],
  "price_level": null,
  "star_rating": 4.6,
  "phone_number": "(206) 905-2100",
  "review_count": null,
  "opening_hours": {
    "Friday": null,
    "Monday": "10:30 AM–8 PM",
    "Sunday": null,
    "Tuesday": null,
    "Saturday": null,
    "Thursday": null,
    "Wednesday": null
  },
  "google_place_id": "ChIJ-bfVTh8VkFQRDZLQnmioK9s",
  "service_options": [],
  "google_maps_link": "https://www.google.com/maps/place/Space+Needle,+400+Broad+St,+Seattle,+WA+98109/@47.6205063,-122.3492774,2689a,13.1y/data=!4m2!3m1!1s0x5490151f4ed5b7f9:0xdb2ba8689ed0920d"
}
```

### Get place reviews

Operation `get_place_reviews`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get public Google reviews for a place by its name or Maps link and location. Returns up to 100 reviews in the chosen order; details unavailable on public pages are null.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"newest"` | Review order, e.g. newest. |
| `location` | string | yes | `"Boston"` | City or area to identify the place, e.g. Boston. |
| `place_name` | string | yes | `"The Ritz-Carlton"` | Business name or Google Maps link, e.g. Union Oyster House or https://www.google.com/maps/place/Union+Oyster+House/. |
| `max_reviews` | integer | no | `15` | Maximum reviews to return, e.g. 20 (up to 100). |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "place_name",
    "location"
  ],
  "properties": {
    "sort": {
      "enum": [
        "most_relevant",
        "newest",
        "highest_rating",
        "lowest_rating"
      ],
      "type": "string",
      "default": "most_relevant",
      "description": "Review order, e.g. newest.",
      "examples": [
        "newest",
        "most_relevant",
        "highest_rating"
      ]
    },
    "location": {
      "type": "string",
      "description": "City or area to identify the place, e.g. Boston.",
      "examples": [
        "Boston"
      ]
    },
    "place_name": {
      "type": "string",
      "description": "Business name or Google Maps link, e.g. Union Oyster House or https://www.google.com/maps/place/Union+Oyster+House/.",
      "examples": [
        "The Ritz-Carlton",
        "Union Oyster House",
        "https://www.google.com/maps/place/Union+Oyster+House/"
      ]
    },
    "max_reviews": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum reviews to return, e.g. 20 (up to 100).",
      "x-fous-developer": true,
      "examples": [
        15,
        20,
        12
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sort": "newest",
      "location": "Boston",
      "place_name": "The Ritz-Carlton",
      "max_reviews": 15
    },
    {
      "sort": "most_relevant",
      "location": "Boston",
      "place_name": "Union Oyster House",
      "max_reviews": 20
    },
    {
      "sort": "highest_rating",
      "location": "Boston",
      "place_name": "Union Oyster House",
      "max_reviews": 12
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `address` | string or null | `"10 Avery St, Boston, MA 02111, United States"` |  |
| `reviews` | array |  |  |
| `reviews[].likes` | integer or null |  |  |
| `reviews[].stars` | integer or null | `5` |  |
| `reviews[].review_id` | string or null | `"Ci9DQUlRQUNvZENodHljRjlvT2pGSlZGcFhhRFp2TWtReGIxTkdNMFpFYVU0MGVVRRAB"` |  |
| `reviews[].owner_reply` | string or null |  |  |
| `reviews[].review_date` | string or null | `"2026-09-22"` |  |
| `reviews[].review_link` | string or null | `"https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT2pGSlZGcFhhRFp2TWtReGIxTkdNMFpFYV` |  |
| `reviews[].review_text` | string or null | `"This is definitely not a 5 star hotel.  The location is great but the rooms compare to a Fairfield Inn.  We were surpri` |  |
| `reviews[].reviewer_name` | string or null | `"Troy Nold"` |  |
| `reviews[].owner_reply_date` | string or null |  |  |
| `reviews[].original_date_text` | string or null | `"5 days ago"` |  |
| `place_link` | string | `"https://www.google.com/maps/place/?q=place_id:ChIJP5_YX51w44kRtD4XQHvSfco"` |  |
| `place_name` | string | `"The Ritz-Carlton, Boston"` |  |
| `total_reviews` | integer or null | `983` |  |
| `overall_rating` | number or null | `4.4` |  |
| `google_place_id` | string or null | `"ChIJP5_YX51w44kRtD4XQHvSfco"` |  |

**Example input**

```json
{
  "sort": "newest",
  "location": "Boston",
  "place_name": "The Ritz-Carlton",
  "max_reviews": 15
}
```

**Example output**

```json
{
  "address": "10 Avery St, Boston, MA 02111, United States",
  "reviews": [
    {
      "likes": null,
      "stars": 5,
      "review_id": "Ci9DQUlRQUNvZENodHljRjlvT2pGSlZGcFhhRFp2TWtReGIxTkdNMFpFYVU0MGVVRRAB",
      "owner_reply": null,
      "review_date": "2026-09-22",
      "review_link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT2pGSlZGcFhhRFp2TWtReGIxTkdNMFpFYVU0MGVVRRAB!2m1!1s0x0:0xca7dd27b40173eb4!3m1!1s2@1:CAIQACodChtycF9oOjFJVFpXaDZvMkQ…",
      "review_text": null,
      "reviewer_name": "Troy Nold",
      "owner_reply_date": null,
      "original_date_text": "5 days ago"
    },
    {
      "likes": null,
      "stars": 3,
      "review_id": "Ci9DQUlRQUNvZENodHljRjlvT2pkVlEwOXdRbUp6V0Rsb1RqaGFWbmxtY1Y5Q1NrRRAB",
      "owner_reply": null,
      "review_date": "2026-09-18",
      "review_link": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT2pkVlEwOXdRbUp6V0Rsb1RqaGFWbmxtY1Y5Q1NrRRAB!2m1!1s0x0:0xca7dd27b40173eb4!3m1!1s2@1:CAIQACodChtycF9oOjdVQ09wQmJzWDl…",
      "review_text": "This is definitely not a 5 star hotel.  The location is great but the rooms compare to a Fairfield Inn.  We were surprised there was no coffee maker in the room. Upon leaving and I mentioned, it they …",
      "reviewer_name": "Nancy Weaver",
      "owner_reply_date": null,
      "original_date_text": "a week ago"
    }
  ],
  "place_link": "https://www.google.com/maps/place/?q=place_id:ChIJP5_YX51w44kRtD4XQHvSfco",
  "place_name": "The Ritz-Carlton, Boston",
  "total_reviews": 983,
  "overall_rating": 4.4,
  "google_place_id": "ChIJP5_YX51w44kRtD4XQHvSfco"
}
```

### Search places

Operation `search_places`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find businesses and places near a location in Google Maps order, with contact details, ratings, hours and links when shown. Google may return related places for broad or uncommon searches.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `page` | integer | no | `2` | Page of results, such as 2. Each page has up to max_results places. |
| `what` | string | yes | `"pizza"` | Place type or business name, such as dentist or Starbucks. |
| `where` | string | yes | `"Austin, TX"` | City, neighborhood, address or postcode, such as Austin, TX. |
| `language` | string | no |  | Language for place details, such as English or Spanish. |
| `open_now` | boolean | no | `true` | Only include places Google shows as open now, such as true. |
| `min_rating` | number | no | `4.5` | Only include places rated at least this many stars, such as 4.5. |
| `max_results` | integer | no | `5` | Maximum number of places, such as 20. Up to 100. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "what",
    "where"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "description": "Page of results, such as 2. Each page has up to max_results places.",
      "x-fous-developer": true,
      "examples": [
        2
      ]
    },
    "what": {
      "type": "string",
      "minLength": 1,
      "description": "Place type or business name, such as dentist or Starbucks.",
      "examples": [
        "pizza",
        "coffee shops",
        "gas station"
      ]
    },
    "where": {
      "type": "string",
      "minLength": 1,
      "description": "City, neighborhood, address or postcode, such as Austin, TX.",
      "examples": [
        "Austin, TX"
      ]
    },
    "language": {
      "type": "string",
      "default": "English",
      "description": "Language for place details, such as English or Spanish."
    },
    "open_now": {
      "type": "boolean",
      "default": false,
      "description": "Only include places Google shows as open now, such as true.",
      "examples": [
        true
      ]
    },
    "min_rating": {
      "type": "number",
      "maximum": 5,
      "minimum": 1,
      "description": "Only include places rated at least this many stars, such as 4.5.",
      "examples": [
        4.5
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of places, such as 20. Up to 100.",
      "examples": [
        5,
        4
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "what": "pizza",
      "where": "Austin, TX",
      "min_rating": 4.5,
      "max_results": 5
    },
    {
      "page": 2,
      "what": "coffee shops",
      "where": "Austin, TX",
      "max_results": 4
    },
    {
      "what": "gas station",
      "where": "Austin, TX",
      "open_now": true,
      "max_results": 5
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `places` | array |  | Matching places in Google Maps order. |
| `places[].name` | string or null | `"Home Slice Pizza"` | Name of the place. |
| `places[].rating` | number or null | `4.7` | Star rating out of five. |
| `places[].address` | string or null | `"1415 S Congress Ave, Austin, TX 78704"` | Full street address. |
| `places[].website` | string or null | `"https://homeslicepizza.com/location/south-congress/"` | Business website. |
| `places[].category` | string or null | `"Pizza restaurant"` | Primary place category. |
| `places[].latitude` | number or null | `30.2492286` | Latitude. |
| `places[].open_now` | boolean or null | `false` | Whether Google shows the place as open now. |
| `places[].longitude` | number or null | `-97.7495328` | Longitude. |
| `places[].price_level` | string or null |  | Price displayed by Google, such as $10–20 or $$. |
| `places[].today_hours` | string or null | `"11 AM–11 PM"` | Opening hours shown for today. |
| `places[].phone_number` | string or null | `"(512) 444-7437"` | Phone number. |
| `places[].review_count` | integer or null | `11123` | Number of reviews. |
| `places[].google_place_id` | string or null | `"ChIJu96UVvy0RIYRCPxWa4TSr6o"` | Google place ID. |
| `places[].google_maps_link` | string or null | `"https://www.google.com/maps/search/?api=1&query=Home%20Slice%20Pizza%201415%20S%20Congress%20Ave%2C%20Austin%2C%20TX%20` | Google Maps page link. |

**Example input**

```json
{
  "what": "pizza",
  "where": "Austin, TX",
  "min_rating": 4.5,
  "max_results": 5
}
```

**Example output**

```json
{
  "places": [
    {
      "name": "Home Slice Pizza",
      "rating": 4.7,
      "address": "1415 S Congress Ave, Austin, TX 78704",
      "website": "https://homeslicepizza.com/location/south-congress/",
      "category": "Pizza restaurant",
      "latitude": 30.2492286,
      "open_now": false,
      "longitude": -97.7495328,
      "price_level": null,
      "today_hours": "11 AM–11 PM",
      "phone_number": "(512) 444-7437",
      "review_count": 11123,
      "google_place_id": "ChIJu96UVvy0RIYRCPxWa4TSr6o",
      "google_maps_link": "https://www.google.com/maps/search/?api=1&query=Home%20Slice%20Pizza%201415%20S%20Congress%20Ave%2C%20Austin%2C%20TX%2078704&query_place_id=ChIJu96UVvy0RIYRCPxWa4TSr6o"
    },
    {
      "name": "DeSano Pizzeria Napoletana - Downtown Austin",
      "rating": 4.7,
      "address": "301 Lavaca St Ste 200, Austin, TX 78701",
      "website": "https://desanopizza.com/downtown-austin?utm_source=google",
      "category": "Pizza restaurant",
      "latitude": 30.266316999999997,
      "open_now": false,
      "longitude": -97.74595939999999,
      "price_level": null,
      "today_hours": "11:30 AM–10 PM",
      "phone_number": "(512) 256-2426",
      "review_count": 1434,
      "google_place_id": "ChIJH1vZsj21RIYR9QNowHxmpDU",
      "google_maps_link": "https://www.google.com/maps/search/?api=1&query=DeSano%20Pizzeria%20Napoletana%20-%20Downtown%20Austin%20301%20Lavaca%20St%20Ste%20200%2C%20Austin%2C%20TX%2078701&query_place_id=ChIJH1vZsj21RIYR9QNowH…"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@google-maps",
  "visibility": "public",
  "operation": "get_directions",
  "version": 1,
  "input": {
    "origin": "Ferry Building, San Francisco",
    "destination": "SFO Airport",
    "travel_mode": "public_transit",
    "departure_time": "2026-09-29T08:00:00-07:00"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@google-maps\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_directions\",\n  \"version\": 1,\n  \"input\": {\n    \"origin\": \"Ferry Building, San Francisco\",\n    \"destination\": \"SFO Airport\",\n    \"travel_mode\": \"public_transit\",\n    \"departure_time\": \"2026-09-29T08:00:00-07:00\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@google-maps",
  "visibility": "public",
  "operation": "get_directions",
  "version": 1,
  "input": {
    "origin": "Ferry Building, San Francisco",
    "destination": "SFO Airport",
    "travel_mode": "public_transit",
    "departure_time": "2026-09-29T08:00:00-07:00"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/google-maps`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_directions`: Get directions. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_place`: Get place. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_place_reviews`: Get place reviews. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_places`: Search places. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-google-maps https://api.fous.com/mcp/tools/google-maps --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Find businesses near a city or neighborhood
- Compare place ratings, hours and contact details
- Review customer feedback for a business
- Plan routes between addresses or places
- Filter place searches by rating or open status

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Google Maps tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Google Maps account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from google.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 30, 2026.

### What businesses are near a particular location?

Search places finds businesses and places by type or name and location.

### What are a place’s hours and phone number?

Get place returns public profile details, including opening hours and phone number when shown.

### How long does it take to travel between two places?

Get directions returns route travel times and distances for an origin and destination.

## Related

- [OpenStreetMap API](https://fous.com/tools/openstreetmap.md): OpenStreetMap returns place coordinates, address details, nearby readable place information, and ordered place search results from contributor-created data; results reflect mapped features and may be incomplete or differ from landmarks.
- [Yelp API](https://fous.com/tools/yelp.md): Yelp returns local business matches, public profiles, ratings and up to 60 publicly shown reviews; matches are unsponsored and Yelp-ordered, but later results may lack contact or location details.
- [Google Play API](https://fous.com/tools/google-play.md): Google Play helps people discover Android apps and games, view public listings and search results, read reviews when available by app and region, and see country-specific top charts.
- [Google Hotels API](https://fous.com/tools/google-hotels.md): Google Hotels finds stays, guest details and reviews, and compares booking-site totals, cancellation and links for up to six adults; prices and availability can change, and some prices or topic ratings may be unavailable.
- [Tripadvisor API](https://fous.com/tools/tripadvisor.md): Tripadvisor provides traveler-ranked first-page city listings of attractions, restaurants and hotels, plus latest reviews; hotel prices and booking sites depend on supplied stay dates and availability.
- [Booking.com API](https://fous.com/tools/booking-com.md): Booking.com helps find stays, property details and public guest reviews; prices and cancellation terms depend on selected dates, and displayed prices may exclude taxes and fees.
- [Yellow Pages API](https://fous.com/tools/yellow-pages.md): Find local US businesses and their contact details on Yellow Pages.
- [Goodreads API](https://fous.com/tools/goodreads.md): Goodreads returns public book searches, matched-book details with variable editions, popular or newest reviews, author books by popularity or date, and up to 100 quotes.
- [All Maps tools](https://fous.com/tools/category/maps)
