# List styles

Source: https://docs.foodshot.ai/reference/list-styles

> Lists the styles you can use, category by category.

`GET https://api.foodshot.ai/v1/styles`

Add `category` to get one category. `description`, `angle` and `recommended_aspect_ratios` can be `null`.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `category` | query | "delivery-apps" \| "menu" \| "fine-dining" \| "lifestyle" \| "bar-lounge" \| "studio" \| "pastry-bakery" \| "rtd-beverage" \| "packaged-food" \| "spirits-bottles" | no | Only the styles of this category. See [Styles](https://docs.foodshot.ai/guides/styles#categories). |

## Responses

### 200

The styles your account can use, or those of one category.

```json
{
  "object": "list",
  "data": [
    {
      "id": "pure-shot",
      "object": "style",
      "name": "Pure Shot",
      "category": "delivery-apps",
      "category_name": "Delivery & Takeout",
      "description": null,
      "angle": null,
      "recommended_aspect_ratios": null,
      "thumbnail_url": "https://cdn.foodshot.ai/style-thumbnails/2026-09-24/pure-shot_0123456789ab.webp",
      "example": null,
      "retires_at": null
    },
    {
      "id": "white-hero",
      "object": "style",
      "name": "White Hero",
      "category": "delivery-apps",
      "category_name": "Delivery & Takeout",
      "description": null,
      "angle": null,
      "recommended_aspect_ratios": null,
      "thumbnail_url": "https://cdn.foodshot.ai/style-thumbnails/2026-09-24/white-hero_fedcba987654.webp",
      "example": null,
      "retires_at": null
    }
  ],
  "has_more": false
}
```

### 400

The `category` or another query parameter is wrong.

```json
{
  "error": {
    "code": "invalid_request",
    "message": "The query parameter named in param is invalid.",
    "param": "category",
    "request_id": "req_daJCWaeLcd6uXjfMaJeplG"
  }
}
```

### 401

The key is missing, wrong or revoked.

```json
{
  "error": {
    "code": "invalid_api_key",
    "message": "The API key is missing, malformed, unknown or revoked.",
    "param": null,
    "request_id": "req_NPfzXU77n1f2QYM559fGL8"
  }
}
```

### 403

This key may not make this request.

```json
{
  "error": {
    "code": "permission_denied",
    "message": "Live keys work only from your server.",
    "param": null,
    "request_id": "req_NPfzXU77n1f2QYM559fGL8"
  }
}
```

### 429

Over the request limit of this key. Retry after `Retry-After` seconds.

```json
{
  "error": {
    "code": "rate_limited",
    "message": "Too many requests. Retry after the number of seconds in Retry-After.",
    "param": null,
    "request_id": "req_BTBBPZA0oirxnw23MU0t7E"
  }
}
```

### 500

Something went wrong on our side. Retry; for a `POST`, with the same `Idempotency-Key` and body.

```json
{
  "error": {
    "code": "internal_error",
    "message": "Something went wrong on our side. Retry the request; for POST /v1/generations, use the same Idempotency-Key.",
    "param": null,
    "request_id": "req_8d4DxP5n53EgewaJFOqGyS"
  }
}
```

### 503

Temporarily unavailable. Retry after `Retry-After` seconds.

```json
{
  "error": {
    "code": "service_unavailable",
    "message": "The service is temporarily unavailable. Retry after the number of seconds in Retry-After.",
    "param": null,
    "request_id": "req_8d4DxP5n53EgewaJFOqGyS"
  }
}
```

## Code samples

### curl

```bash
curl -sS -G https://api.foodshot.ai/v1/styles \
  --max-time 60 \
  -H "Authorization: Bearer $FOODSHOT_API_KEY" \
  --data-urlencode 'category=delivery-apps'
```

### Node

```js
const res = await fetch('https://api.foodshot.ai/v1/styles?category=delivery-apps', {
  headers: { Authorization: `Bearer ${process.env.FOODSHOT_API_KEY}` },
  signal: AbortSignal.timeout(60_000),
});
if (!res.ok) throw new Error(`FoodShot ${res.status}: ${await res.text()}`);
const { data: styles } = await res.json();
for (const style of styles) {
  console.log(style.id, style.name, style.category_name, style.angle ?? '-');
}
```

### Python

```python
import os

import requests

response = requests.get(
    "https://api.foodshot.ai/v1/styles",
    params={"category": "delivery-apps"},
    headers={"Authorization": f"Bearer {os.environ['FOODSHOT_API_KEY']}"},
    timeout=60,
)
response.raise_for_status()
for style in response.json()["data"]:
    print(style["id"], style["name"], style["category_name"], style["angle"] or "-")
```
