# `api.commodities.search` > `POST /commodity/search` — ACPortal **Python** ```python api.commodities.search(*, data: CommoditySearchRequest | dict) -> list[Commodity] ``` **CLI** ```bash ab commodities search [--data ...] ``` POST /commodity/search. Args: data: Search payload with search_text, page, page_size. Accepts a :class:`CommoditySearchRequest` instance or a dict. Request model: :class:`CommoditySearchRequest` ## Request body — `CommoditySearchRequest` | Field | Type | Required | Description | |---|---|---|---| | `searchText` | `Optional[str]` | no | Free-text search query | | `page` | `Optional[int]` | no | Page number | | `pageSize` | `Optional[int]` | no | Results per page | ## Response Returns a list of `List[Commodity]`. | Field | Type | Required | Description | |---|---|---|---| | `id` | `Optional[str]` | no | Commodity ID | | `description` | `Optional[str]` | no | Commodity description | | `freightClass` | `Optional[str]` | no | Freight class | | `nmfcCode` | `Optional[str]` | no | NMFC code | | `weightMin` | `Optional[float]` | no | Minimum weight | | `weightMax` | `Optional[float]` | no | Maximum weight | --- [← Back to api.commodities](../commodities.md)