# Queries

> The fields a storefront query starts from, and what each returns.

Source: https://storeware.ai/docs/api-reference/storefront-graphql/queries

## shop

The shop this credential names.

Returns [`Shop!`](https://storeware.ai/docs/api-reference/storefront-graphql/objects#shop).

### What Shop answers

| Field | Type | Description |
| --- | --- | --- |
| `collection(handle)` | [`Collection`](https://storeware.ai/docs/api-reference/storefront-graphql/objects#collection) |  |
| `collections` | [`[Collection!]!`](https://storeware.ai/docs/api-reference/storefront-graphql/objects#collection) |  |
| `product(handle)` | [`Product`](https://storeware.ai/docs/api-reference/storefront-graphql/objects#product) | One product by handle. Null for a draft, an archived one, or nothing at all. |
| `products(after, before, collection, first, last)` | [`ShopProductsConnection!`](https://storeware.ai/docs/api-reference/storefront-graphql/objects#shopproductsconnection) | Published products, in a stable order that survives the catalogue changing. |

**`collection` takes:**

| Argument | Type | Description |
| --- | --- | --- |
| `handle` | `String!` |  |

**`product` takes:**

| Argument | Type | Description |
| --- | --- | --- |
| `handle` | `String!` |  |

**`products` takes:**

| Argument | Type | Description |
| --- | --- | --- |
| `after` | `String` |  |
| `before` | `String` |  |
| `collection` | `String` | Limit to one collection, by its handle. |
| `first` | `Int` |  |
| `last` | `Int` |  |
