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

# Fetch a restaurant list

> One paginated GET to populate a picker or first screen.

# Fetch a restaurant list

**Goal:** Prove connectivity and render a first UI from live data.\
**Prep time:** \~2 minutes

## What you'll use

* `GET /flynet/v1/restaurants` with `X-API-Key`

## Code

```typescript theme={null}
const res = await fetch(
  "https://api.staging.blackbird.xyz/flynet/v1/restaurants?page=0&page_size=20",
  { headers: { "X-API-Key": process.env.API_KEY! } },
);
const data = await res.json();
console.log(data.restaurants?.length, data.pagination);
```

```bash theme={null}
curl -sS "https://api.staging.blackbird.xyz/flynet/v1/restaurants?page=0&page_size=20" \
  -H "X-API-Key: $API_KEY"
```

`/restaurants` is a Discovery route (server-to-server, no member context), so it takes the API key, not an OAuth bearer. Sending `Authorization: Bearer …` returns `401 MISSING_API_KEY`. See [API keys](/concepts/api-keys).

<Warning>
  **Chef's warning:** `cohort` and `cuisine` query filters are accepted but not implemented yet. Sending them silently has no effect; filter client-side until they ship.
</Warning>

**Next:** [Restaurant explorer](/recipes/mains/restaurant-explorer): chain in locations and weekly hours.
