---
title: "List business products"
description: "Use GET /business/{business_id}/categories/{category_id}/products to list products in a category."
canonical: https://docs.ordering.co/api-reference/guides/get-products/
---

# List business products

> **API operation:** [Open the endpoint in Scalar](https://docs.ordering.co/api-reference/#tag/business/GET/business/{business_id}/categories/{category_id}/products)

Use `GET /business/{business_id}/categories/{category_id}/products` to list products in a category. The current public operation is `Product.findAll`.

The ordinary read is public. Returned products can vary with business and category visibility, enabled state, schedules, order type, menu context, pagination, and requested relations.

```javascript
const response = await ordering.businesses(businessId).categories(categoryId).products().get()
```

This SDK syntax is historical. Confirm the package and version before using it. See [Business product model](https://docs.ordering.co/api-reference/guides/product-model/) for representative fields.

## OpenAPI reference

**Operation:** `GET /business/{business_id}/categories/{category_id}/products`

**Path parameters**

| Name          | Type    | Required | Description |
| ------------- | ------- | -------- | ----------- |
| `business_id` | integer | Yes      | —           |
| `category_id` | integer | Yes      | —           |

**Query parameters**

| Name              | Type    | Required | Description                                                                                                                                              |
| ----------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `params`          | string  | No       | Comma-separated list of fields. It is intersected with the model’s $fillable; an empty or invalid list returns all fields.                               |
| `orderBy`         | string  | No       | Field to sort by, with `-` prefixed for descending order. Multiple fields can be chained with commas.                                                    |
| `where`           | string  | No       | JSON filter over the fields the model declares as filterable. Valid fields for each resource are exposed in its `x-ordering-whereable` schema extension. |
| `page`            | integer | No       | Page number, starting at 1. Applies only to lists that return a pagination block.                                                                        |
| `page_size`       | integer | No       | Number of items per page.                                                                                                                                |
| `professional_id` | integer | No       | —                                                                                                                                                        |
| `menu_id`         | integer | No       | —                                                                                                                                                        |
| `timestamp`       | integer | No       | —                                                                                                                                                        |
| `type`            | integer | No       | —                                                                                                                                                        |
| `version`         | string  | No       | —                                                                                                                                                        |

**Responses**

| Code | Description                               |
| ---- | ----------------------------------------- |
| 200  | OK (Envelope)                             |
| 400  | Bad Request (ErrorResponse)               |
| 401  | Unauthorized (ProjectAccessErrorResponse) |
| 404  | Not Found                                 |
| 429  | Too Many Requests (ErrorResponse)         |
| 500  | Internal Server Error (ErrorResponse)     |
| 503  | Service Unavailable (ErrorResponse)       |

[Open this operation in the API reference](https://docs.ordering.co/api-reference/#tag/business/GET/business/{business_id}/categories/{category_id}/products)
