> Documentation index: [Saleor](/llms.txt) · [This section](/api-reference/products/llms.txt)
> Source: https://docs.saleor.io/api-reference/products/inputs/product-filter-input

# ProductFilterInput Input Type

No description

```graphql
input ProductFilterInput {
  isPublished: Boolean
  collections: [ID!]
  categories: [ID!]
  hasCategory: Boolean
  attributes: [AttributeInput!]
  stockAvailability: StockAvailability
  stocks: ProductStockFilterInput
  search: String
  metadata: [MetadataFilter!]
  publishedFrom: DateTime
  isAvailable: Boolean
  availableFrom: DateTime
  isVisibleInListing: Boolean
  price: PriceRangeInput
  minimalPrice: PriceRangeInput
  updatedAt: DateTimeRangeInput
  productTypes: [ID!]
  giftCard: Boolean
  ids: [ID!]
  hasPreorderedVariants: Boolean @deprecated
  slugs: [String!]
  channel: String @deprecated
}
```

<a id="fields"></a>

### Fields

<a id="is-published"></a>

#### [`isPublished`](#is-published) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

<a id="collections"></a>

#### [`collections`](#collections) ● [`[ID!]`](/api-reference/miscellaneous/scalars/id.md)

<a id="categories"></a>

#### [`categories`](#categories) ● [`[ID!]`](/api-reference/miscellaneous/scalars/id.md)

<a id="has-category"></a>

#### [`hasCategory`](#has-category) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

<a id="attributes"></a>

#### [`attributes`](#attributes) ● [`[AttributeInput!]`](/api-reference/attributes/inputs/attribute-input.md)

<a id="stock-availability"></a>

#### [`stockAvailability`](#stock-availability) ● [`StockAvailability`](/api-reference/products/enums/stock-availability.md)

Filter by variants having specific stock status.

<a id="stocks"></a>

#### [`stocks`](#stocks) ● [`ProductStockFilterInput`](/api-reference/products/inputs/product-stock-filter-input.md)

<a id="search"></a>

#### [`search`](#search) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

<a id="metadata"></a>

#### [`metadata`](#metadata) ● [`[MetadataFilter!]`](/api-reference/miscellaneous/inputs/metadata-filter.md)

<a id="published-from"></a>

#### [`publishedFrom`](#published-from) ● [`DateTime`](/api-reference/miscellaneous/scalars/date-time.md)

Filter by the publication date.

<a id="is-available"></a>

#### [`isAvailable`](#is-available) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

Filter by availability for purchase.

<a id="available-from"></a>

#### [`availableFrom`](#available-from) ● [`DateTime`](/api-reference/miscellaneous/scalars/date-time.md)

Filter by the date of availability for purchase.

<a id="is-visible-in-listing"></a>

#### [`isVisibleInListing`](#is-visible-in-listing) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

Filter by visibility in product listings.

<a id="price"></a>

#### [`price`](#price) ● [`PriceRangeInput`](/api-reference/miscellaneous/inputs/price-range-input.md)

<a id="minimal-price"></a>

#### [`minimalPrice`](#minimal-price) ● [`PriceRangeInput`](/api-reference/miscellaneous/inputs/price-range-input.md)

Filter by the lowest variant price after discounts.

<a id="updated-at"></a>

#### [`updatedAt`](#updated-at) ● [`DateTimeRangeInput`](/api-reference/miscellaneous/inputs/date-time-range-input.md)

Filter by when was the most recent update.

<a id="product-types"></a>

#### [`productTypes`](#product-types) ● [`[ID!]`](/api-reference/miscellaneous/scalars/id.md)

<a id="gift-card"></a>

#### [`giftCard`](#gift-card) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

Filter on whether product is a gift card or not.

<a id="ids"></a>

#### [`ids`](#ids) ● [`[ID!]`](/api-reference/miscellaneous/scalars/id.md)

<a id="slugs"></a>

#### [`slugs`](#slugs) ● [`[String!]`](/api-reference/miscellaneous/scalars/string.md)

Show deprecatedHide deprecated

<a id="has-preordered-variants"></a>

#### [`hasPreorderedVariants`](#has-preordered-variants) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

DEPRECATED

Preorder is deprecated and will be removed. Model pre-sales with regular stock instead: create the planned quantity in a warehouse, or set `trackInventory` to false to sell without a stock limit.

Filter by product with preordered variants.

<a id="channel"></a>

#### [`channel`](#channel) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

DEPRECATED

Use root-level channel argument instead.

Specifies the channel by which the data should be filtered.

<a id="member-of"></a>

### Member Of

[`ExportProductsInput`](/api-reference/products/inputs/export-products-input.md) input  ● [`products`](/api-reference/products/queries/products.md) query
