---
title: "Shopify cart line limit, verified November 2026"
description: "What the Storefront API answered as a cart was built to 500 lines and past: the 250-item limit on one mutation's input, the 500-line limit on the cart, and the two different places the errors arrive. Verified 3 November 2026 on Shopify's 2026-10 API."
url: https://offersuite.io/shopify/limits/cart-lines
updated: 2026-11-03
---

# Shopify's cart line limit: 500 lines, 250 per mutation

A Storefront API cart holds 500 lines, and one mutation carries 250 of them. The two limits fail in different places: one before the mutation runs, in the response's errors, and one inside it, in userErrors. A cart builder has to read both.

Verified 3 November 2026 on Shopify’s 2026-10 API, on a real store. Each statement marked with a tick is checked against the answer Shopify gave.

## Two limits, two kinds of error

The first limit is on the request. A list of more than 250 items in a mutation's input is refused before the mutation runs, so there is no cart and no userErrors, only a top-level error.

The second is on the cart. A cart reaches 500 lines in two mutations, and the next line is refused by the mutation itself.

**Building a cart up to 500 lines, and past it** Verified 3 November 2026 · API 2026-10

#### What was sent, and what Shopify answered

What Shopify answered: Building a cart up to 500 lines, and past it

| Step | Answer | Lines in the cart |
| --- | --- | --- |
| 1. cartCreate with 250 lines | Accepted | 250 |
| 2. cartCreate with 251 lines | Refused in the response's top-level errors `MAX_INPUT_SIZE_EXCEEDED` “The input array size of 251 is greater than the maximum allowed of 250.” | no cart |
| 3. cartLinesAdd of 250 more lines to the first cart | Accepted | 500 |
| 4. cartLinesAdd of one more line | Refused in the mutation's userErrors `INVALID` “Lines must be less than or equal to 500” | 500 |

#### What that shows

- A cart of 250 lines was created in one mutation.
- A cartCreate with 251 lines was refused before any cart existed, in the response's top-level errors and not in userErrors, with the code MAX_INPUT_SIZE_EXCEEDED and the message “The input array size of 251 is greater than the maximum allowed of 250.” That is a limit on one mutation's input, not on the cart.
- A second mutation took the first cart to 500 lines.
- One more line was refused in userErrors, with the code INVALID and the message “Lines must be less than or equal to 500”. The cart kept its 500 lines.

## Read both error lists

A client that reads only userErrors sees nothing wrong with the 251-line create: the reason is in the response's errors. A client that reads only those treats the 501st line as added.

After the refused add the cart still had its 500 lines. The refusal changed nothing, so the cart can go on to checkout as it was.

## 500 is a limit on lines, not on products or units

Every line in this run was one unit of the same product, kept apart by a line attribute. A build-your-own bundle or an order form that puts each pick on its own line is where a cart gets this long.

## How this was verified

Every step on this page was sent to a Shopify Plus development store we keep for this, on API version 2026-10, and Shopify’s answer was recorded as it came back.

The carts were built through the Storefront API with cartCreate and cartLinesAdd. Every line was one unit of one product, each with a different line attribute, and the lines were counted by reading the cart back page by page after each step. No order was placed.

A suite sends these steps again. A statement that no longer matches the answer takes this page down until it is corrected, and no record stands for more than 90 days without being taken again. This is what one store answered on one API version: your store’s plan can change the result, so try it on a development store.

Seen something different on your store? Write to [privacy@offersuite.io](mailto:privacy@offersuite.io) with the request and the answer and we’ll run it.

## Related

- [Shopify, verified **Shopify offer mechanics, verified on a real store** How Shopify discounts, discount functions, cart transforms, selling plans, the Storefront cart and their limits behave, shown in real carts built on a Shopify store and built again at least every 90 days.](https://offersuite.io/shopify)
- [Feature **Serve a verified offer to your buy box** Show a verified offer through the Verified offer theme block, your developers' code on the public API, or your agent, with every price computed by the server.](https://offersuite.io/features/buy-box)
- [Shopify, verified **Shopify Storefront cart discounts, verified November 2026** Where a Shopify Storefront API cart reports each kind of discount: product discounts on the line, order discounts on the cart, shipping discounts on the delivery group, and codes it did not apply in warnings. Verified 3 November 2026 on Shopify's 2026-10 API.](https://offersuite.io/shopify/storefront-cart)
- [Shopify, verified **Shopify cart line quantity limit, verified November 2026** What the Storefront API answered for a cart line of 1,000,000 units and of 1,000,001: the largest quantity a line takes, the error past it, and a message that states the limit one unit low. Verified 3 November 2026 on Shopify's 2026-10 API.](https://offersuite.io/shopify/limits/line-quantity)
- [Shopify, verified **Shopify discount code limit per cart, verified November 2026** What a Storefront API cart did with six discount codes: a valid code in sixth place is not honoured, codes the store does not have still take places, the order of the list decides, and a free-shipping code is counted apart. Verified 3 November 2026 on Shopify's 2026-10 API.](https://offersuite.io/shopify/limits/discount-codes-per-cart)
- [Shopify, verified **Shopify cart transform function, verified November 2026** What a Shopify cart transform's price looks like in a real Storefront cart: the line's own price changes with no discount allocation, a function that returns nothing leaves no trace, and discount codes are taken from the new price. Verified 3 November 2026 on Shopify's 2026-10 API.](https://offersuite.io/shopify/cart-transform)
