---
title: "Listar produtos"
description: "GET /v1/catalog/products — produtos da empresa BeeFood, com filtros e paginação."
method: "GET"
path: "/v1/catalog/products"
url: "https://developer.beefood.com.br/docs/catalogo/produtos"
group: "Catálogo"
scope: "catalog:read"
lang: "pt"
---
# Listar produtos

`GET /v1/catalog/products`

- Produção: `https://api.beefood.app/v1/catalog/products`
- Sandbox: `https://api-sandbox.beefood.app/v1/catalog/products`

Lista os produtos da empresa.

## Autenticação

Envie o access token no header `Authorization: Bearer <accessToken>`. Escopo necessário: `catalog:read`. Limite: 300 requisições a cada 3 minutos.



## Parâmetros de query

- `page` *integer* — Página (padrão 1). Exemplo: `1`.

- `limit` *integer* — Itens por página (padrão 20). Exemplo: `20`.

- `sort` *string* — Ordem por productId: asc ou desc (padrão desc). Exemplo: `desc`.
  - *Valores:* `asc`, `desc`

- `active` *boolean* — Filtra produtos ativos ou inativos em algum cardápio da empresa. Exemplo: `true`.

- `sectorId` *integer[]* — Filtra por IDs de setor (array). Exemplo: `1997`.

- `sectorName` *string* — Filtra pelo nome do setor (contém). Exemplo: `Pizzas`.

- `name` *string* — Filtra pelo nome do produto (contém). Exemplo: `Pizza`.

- `code` *string* — Filtra pelo código interno. Exemplo: `25`.

- `barcode` *string* — Filtra pelo código de barras. Exemplo: `7891000315507`.

- `featured` *boolean* — Filtra produtos em destaque. Exemplo: `true`.

- `cashbackEnabled` *boolean* — Filtra produtos com cashback ativo em algum cardápio da empresa. Exemplo: `true`.

- `combo` *boolean* — Filtra combos. Exemplo: `false`.

- `label` *string[]* — Filtra pelos selos: new, recommended, bestSeller, limitedEdition, soldOut (array). Exemplo: `new`.




## Exemplos de requisição

### cURL

```bash
curl -X GET "https://api.beefood.app/v1/catalog/products?page=1&limit=20&sort=desc" \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```


## Exemplos de resposta

### 200 OK

```json
{
  "items": [
    {
      "productId": 2589035,
      "storeId": 38311,
      "type": "product",
      "name": "Água com Gás 500ml",
      "description": "Importante: imagem meramente ilustrativa. A marca do produto será enviada confirma disponibilidade do mesmo.",
      "unit": "UN",
      "price": 6.9,
      "featured": false,
      "featuredPrint": false,
      "serviceFeeActive": true,
      "scheduleOnly": false,
      "scaleActive": false,
      "sectorId": 213756,
      "sectorName": "Bebidas",
      "combo": false,
      "cost": {
        "base": 0,
        "supply": 0,
        "total": 0
      },
      "image": {
        "original": "https://beetech-imagens.beefood-r2.work/38311/p/webp/202411061918_7F7.webp",
        "thumbnail60": "https://beetech-imagens.beefood-r2.work/38311/p/60/202411061918_7F7.jpg",
        "thumbnail120": "https://beetech-imagens.beefood-r2.work/38311/p/120/202411061918_7F7.jpg",
        "thumbnailWeb": "https://beetech-imagens.beefood-r2.work/38311/p/webp/202411061918_7F7.webp"
      },
      "menus": [
        {
          "merchantId": 39202,
          "name": "Restaurante Exemplo",
          "active": false,
          "delivery": true,
          "dineIn": true,
          "totem": true,
          "sortOrder": 1,
          "cashbackEnabled": true
        },
        {
          "merchantId": 50502,
          "name": "Restaurante Exemplo - Sushi",
          "active": true,
          "delivery": true,
          "dineIn": true,
          "totem": true,
          "sortOrder": 2,
          "cashbackEnabled": true
        }
      ]
    },
    {
      "productId": 2589034,
      "storeId": 38311,
      "type": "product",
      "name": "Água sem Gás 500ml",
      "description": "Importante: imagem meramente ilustrativa. A marca do produto será enviada confirma disponibilidade do mesmo.",
      "unit": "UN",
      "price": 6,
      "featured": false,
      "featuredPrint": false,
      "serviceFeeActive": true,
      "scheduleOnly": false,
      "scaleActive": false,
      "sectorId": 213756,
      "sectorName": "Bebidas",
      "combo": false,
      "cost": {
        "base": 0,
        "supply": 0,
        "total": 0
      },
      "image": {
        "original": "https://beetech-imagens.beefood-r2.work/38311/p/webp/202411061917_KAF.webp",
        "thumbnail60": "https://beetech-imagens.beefood-r2.work/38311/p/60/202411061917_KAF.jpg",
        "thumbnail120": "https://beetech-imagens.beefood-r2.work/38311/p/120/202411061917_KAF.jpg",
        "thumbnailWeb": "https://beetech-imagens.beefood-r2.work/38311/p/webp/202411061917_KAF.webp"
      },
      "menus": [
        {
          "merchantId": 39202,
          "name": "Restaurante Exemplo",
          "active": false,
          "delivery": true,
          "dineIn": true,
          "totem": true,
          "sortOrder": 2,
          "cashbackEnabled": true
        },
        {
          "merchantId": 50502,
          "name": "Restaurante Exemplo - Sushi",
          "active": true,
          "delivery": true,
          "dineIn": true,
          "totem": true,
          "sortOrder": 3,
          "cashbackEnabled": true
        }
      ]
    }
  ],
  "page": 1,
  "limit": 2,
  "total": 166,
  "pages": 83
}
```


## Campos da resposta

- `items[].productId` *number* — Identificador do produto.

- `items[].storeId` *number* — Identificador da empresa.

- `items[].barcode` *string* — Código de barras.

- `items[].code` *string* — Código interno.

- `items[].type` *string* — Tipo derivado do PDV: "product". Somente leitura.

- `items[].name` *string* — Nome do produto.

- `items[].description` *string* — Descrição do produto.

- `items[].internalNotes` *string* — Observações internas.

- `items[].label` *string* — Selo do cardápio: new, recommended, bestSeller, limitedEdition ou soldOut.

- `items[].unit` *string* — Unidade de medida (Default: UN): UN, KG, G, L, ML, PCT, CX, DZ, FD, BD, SC, PT, CP, PC, FT, PQ, GF, LT ou BN.
  - *Valores:* `UN`, `KG`, `G`, `L`, `ML`, `PCT`, `CX`, `DZ`, `FD`, `BD`, `SC`, `PT`, `CP`, `PC`, `FT`, `PQ`, `GF`, `LT`, `BN`

- `items[].price` *number* — Preço padrão.

- `items[].featured` *boolean* — Indica se está em destaque.

- `items[].featuredPrint` *boolean* — Indica se tem destaque na impressão.

- `items[].serviceFeeActive` *boolean* — Indica se a taxa de serviço está ativa.

- `items[].scheduleOnly` *boolean* — Indica se a venda é apenas por agendamento.

- `items[].scaleActive` *boolean* — Indica se a balança está ativa.

- `items[].scaleShelfLifeDays` *number* — Validade em dias na balança.

- `items[].sectorId` *number* — Identificador de um setor da mesma empresa.

- `items[].sectorName` *string* — Nome do setor. Somente leitura.

- `items[].combo` *boolean* — Indica se é combo. Somente leitura: vira true quando o produto tem ao menos um grupo vinculado e volta a false quando o último é desvinculado.

- `items[].cost` *object* — Custos do produto.

- `items[].cost.base` *number* — Custo base.

- `items[].cost.supply` *number* — Custo da composição, calculado dos insumos. Somente leitura.

- `items[].cost.total` *number* — Soma do custo base com o custo da composição. Somente leitura.

- `items[].image` *object* — URLs da imagem do produto. Somente leitura. Para enviar ou remover, use Enviar imagem e Remover imagem com resourceType = products.

- `items[].image.original` *string* — Campo original.

- `items[].image.thumbnail60` *string* — Campo thumbnail60.

- `items[].image.thumbnail120` *string* — Campo thumbnail120.

- `items[].image.thumbnailWeb` *string* — Campo thumbnailWeb.

- `items[].menus` *array* — Configurações do produto por cardápio.

- `items[].menus[].merchantId` *number* — Cardápio da mesma empresa.

- `items[].menus[].name` *string* — Nome do cardápio. Somente leitura.

- `items[].menus[].active` *boolean* — Indica se está ativo nesto cardápio.

- `items[].menus[].delivery` *boolean* — Indica se aparece no delivery.

- `items[].menus[].deliveryPrice` *number* — Preço no delivery.

- `items[].menus[].dineIn` *boolean* — Indica se aparece no presencial.

- `items[].menus[].dineInPrice` *number* — Preço no presencial.

- `items[].menus[].totem` *boolean* — Indica se aparece no totem.

- `items[].menus[].promotionPrice` *number* — Preço promocional.

- `items[].menus[].sortOrder` *number* — Posição de exibição.

- `items[].menus[].featuredOrder` *number* — Posição entre destaques.

- `items[].menus[].cashbackEnabled` *boolean* — Indica se o cashback está ativo nesto cardápio.

- `items[].menus[].upsell` *array* — Produtos sugeridos nesto cardápio.

- `items[].menus[].upsell[].productId` *number* — Produto sugerido no upsell.

- `items[].menus[].upsell[].name` *string* — Nome do produto sugerido. Somente leitura.

- `items[].restrictions` *object* — Restrições e características alimentares.

- `items[].restrictions.vegetarian` *boolean* — Indica se é vegetariano.

- `items[].restrictions.vegan` *boolean* — Indica se é vegano.

- `items[].restrictions.organic` *boolean* — Indica se é orgânico.

- `items[].restrictions.glutenFree` *boolean* — Indica se não contém glúten.

- `items[].restrictions.sugarFree` *boolean* — Indica se não contém açúcar.

- `items[].restrictions.lactoseFree` *boolean* — Indica se não contém lactose.

- `items[].restrictions.natural` *boolean* — Indica se é natural.

- `items[].restrictions.iced` *boolean* — Indica se é gelado.

- `items[].restrictions.serves` *number* — Número de pessoas servidas.

- `items[].groups` *array* — Grupos já existentes vinculados ao produto, ordenados por sortOrder.

- `items[].groups[].groupId` *number* — Grupo existente da mesma empresa.

- `items[].groups[].name` *string* — Nome do grupo. Somente leitura.

- `items[].groups[].active` *boolean* — Indica se o grupo está ativo.

- `items[].groups[].delivery` *boolean* — Indica se o grupo aparece no delivery.

- `items[].groups[].dineIn` *boolean* — Indica se o grupo aparece no presencial.

- `items[].groups[].required` *boolean* — Indica se a escolha é obrigatória.

- `items[].groups[].sortOrder` *number* — Posição do grupo neste produto; menor valor aparece primeiro. Omitido quando o produto não tem ordem definida para o grupo.

- `items[].groups[].priceFormation` *string* — Regra de preço: gift, highest, proportional ou sum.

- `items[].groups[].minQuantity` *number* — Quantidade mínima de opções.

- `items[].groups[].maxQuantity` *number* — Quantidade máxima de opções.

- `items[].groups[].selectionMode` *string* — Modo de seleção do grupo.

- `items[].groups[].options` *array* — Opções do grupo. Somente leitura nesta entrega.

- `items[].groups[].options[].optionId` *number* — Campo optionId.

- `items[].groups[].options[].productId` *number* — Campo productId.

- `items[].groups[].options[].name` *string* — Campo name.

- `items[].groups[].options[].type` *string* — Campo type.

- `items[].groups[].options[].active` *boolean* — Campo active.

- `items[].groups[].options[].delivery` *boolean* — Campo delivery.

- `items[].groups[].options[].dineIn` *boolean* — Campo dineIn.

- `items[].groups[].options[].minQuantity` *number* — Campo minQuantity.

- `items[].groups[].options[].maxQuantity` *number* — Campo maxQuantity.

- `items[].groups[].options[].price` *number* — Campo price.

- `items[].groups[].options[].deliveryPrice` *number* — Campo deliveryPrice.

- `items[].groups[].options[].dineInPrice` *number* — Campo dineInPrice.

- `items[].groups[].options[].sortOrder` *number* — Campo sortOrder.

- `items[].groups[].options[].image` *object* — Campo image.

- `items[].groups[].options[].image.original` *string* — Campo original.

- `items[].groups[].options[].image.thumbnail60` *string* — Campo thumbnail60.

- `items[].groups[].options[].image.thumbnail120` *string* — Campo thumbnail120.

- `items[].groups[].options[].image.thumbnailWeb` *string* — Campo thumbnailWeb.

- `page` *number* — page da paginação.

- `limit` *number* — limit da paginação.

- `total` *number* — total da paginação.

- `pages` *number* — pages da paginação.



## Erros

| Status | Mensagem |
| --- | --- |
| 401 | Authentication token is missing |
| 401 | Invalid or expired access token |
| 403 | This credential does not include the catalog:read scope |
| 429 | Too many requests |


## Vocabulários usados neste endpoint

## Listagens · sort

| Valor | Significado | Uso |
| --- | --- | --- |
| `asc` | Crescente | Todas as listagens |
| `desc` | Decrescente (padrão) | Todas as listagens |

## Catálogo · unit

Valores aceitos no campo unit dos produtos do catálogo.

| Valor | Significado | Uso |
| --- | --- | --- |
| `UN` | Unidade | /v1/catalog/products |
| `KG` | Quilograma | /v1/catalog/products |
| `G` | Grama | /v1/catalog/products |
| `L` | Litro | /v1/catalog/products |
| `ML` | Mililitro | /v1/catalog/products |
| `PCT` | Pacote | /v1/catalog/products |
| `CX` | Caixa | /v1/catalog/products |
| `DZ` | Dúzia | /v1/catalog/products |
| `FD` | Fardo | /v1/catalog/products |
| `BD` | Balde | /v1/catalog/products |
| `SC` | Saco | /v1/catalog/products |
| `PT` | Pote | /v1/catalog/products |
| `CP` | Copo | /v1/catalog/products |
| `PC` | Peça | /v1/catalog/products |
| `FT` | Fátia | /v1/catalog/products |
| `PQ` | Porção | /v1/catalog/products |
| `GF` | Garrafa | /v1/catalog/products |
| `LT` | Lata | /v1/catalog/products |
| `BN` | Bandeja | /v1/catalog/products |

