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

# GET /places/top-picks — Top Nigerian restaurants

> Retrieve up to six top-rated Nigerian restaurants, optionally ranked by GPS proximity and tuned to a specific reviewer persona's tastes and preferences.

The `/places/top-picks` endpoint returns up to six highly rated Nigerian restaurants sourced from Google Places. You can pass GPS coordinates to surface restaurants close to a specific location, and optionally supply a persona title to influence how results are ranked. This is a lightweight discovery endpoint — use `/place-details/{place_id}` to retrieve full information for any restaurant in the list.

## Request

```text theme={null}
GET https://naijataste-api-vcp4.onrender.com/places/top-picks
```

All parameters are optional.

### Query parameters

<ParamField query="lat" type="number">
  The latitude of the user's location (e.g. `6.4281`). When provided alongside `lng`, results are biased toward nearby restaurants.
</ParamField>

<ParamField query="lng" type="number">
  The longitude of the user's location (e.g. `3.4219`). Use together with `lat`.
</ParamField>

<ParamField query="persona" default="Curious Taster" type="string">
  A persona title that affects how results are ranked and filtered. Defaults to `"Curious Taster"` when omitted.
</ParamField>

## Response

The response is an array of up to six restaurant objects.

<ResponseField name="name" type="string" required>
  The restaurant's display name (e.g. `"Yellow Chilli"`).
</ResponseField>

<ResponseField name="vicinity" type="string" required>
  The restaurant's neighborhood or street-level address (e.g. `"Victoria Island, Lagos"`).
</ResponseField>

<ResponseField name="rating" type="number" required>
  The Google Places average star rating for this restaurant (e.g. `4.3`).
</ResponseField>

<ResponseField name="price_level" type="number" required>
  A Google Places price level on a scale of 0–4, where `0` is free and `4` is very expensive.
</ResponseField>

<ResponseField name="place_id" type="string" required>
  The Google Places `place_id` for this restaurant. Pass this value to `/place-details/{place_id}` to retrieve full details.
</ResponseField>

<ResponseField name="types" type="string[]" required>
  A list of Google Places category tags for this restaurant (e.g. `["restaurant", "food"]`).
</ResponseField>

<ResponseField name="photo_url" type="string">
  A Google Maps photo URL for this restaurant. May be `null` if no photo is available.
</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://naijataste-api-vcp4.onrender.com/places/top-picks?lat=6.4281&lng=3.4219&persona=Curious%20Taster"
  ```

  ```json Response theme={null}
  [
    {
      "name": "Yellow Chilli",
      "vicinity": "Victoria Island, Lagos",
      "rating": 4.3,
      "price_level": 3,
      "place_id": "ChIJxxxxxxx",
      "types": ["restaurant", "food"],
      "photo_url": "https://maps.googleapis.com/maps/api/place/photo?..."
    }
  ]
  ```
</CodeGroup>

## Errors

| Status | Cause                                                                      |
| ------ | -------------------------------------------------------------------------- |
| `503`  | The Google Places API key is not configured or the service is unreachable. |
