CartQL

GraphQL Shopping Cart API

GraphQL shopping cart and checkout API built to work with your existing inventory.

CartQL illustration

Bring your own frontend, or backend

However you handle carts, on the frontend or as a separate microservice, CartQL was designed to fit right in.

Built for the Jamstack

No more writing custom logic to handle carts and checkout. Works with Apollo Client, URQL and more.

Flexible cart items

Store any type of data on cart and cart items with the CartQL mutations API.

No replatforming

CartQL was built to handle custom cart items for SKUs, promotions, shipping and so much more.

What you see is what you get

Manage cart items, checkout and pay for orders with a simple declarative GraphQL API.

Works with your favorite frontend framework.

Works with React
Works with Next.js
Works with Vue.js
Works with Gatsby
Works with Ember
Works with Svelte
Works with Apollo
query {
cart(
id: "ck5r8d5b500003f5o2aif0v2b",
currency: {
code: GBP
}
) {
...CartWithItems
}
}
fragment CartWithItems on Cart {
...CartInfo
items {
...ItemInfo
}
}
fragment CartInfo on Cart {
id
email
isEmpty
abandoned
totalItems
totalUniqueItems
currency {
code
symbol
}
subTotal {
amount
formatted
}
shippingTotal {
amount
formatted
}
taxTotal {
amount
formatted
}
grandTotal {
amount
formatted
}
attributes {
key
value
}
notes
createdAt
updatedAt
}
fragment ItemInfo on CartItem {
id
name
description
images
quantity
attributes {
key
value
}
unitTotal {
amount
formatted
}
lineTotal {
amount
formatted
}
createdAt
updatedAt
}

Free, forever

CartQL is free to use, and opensource if you want to extend.

Hosted API

Completely free

  • Jamstack-ready
  • GraphQL Cart API
  • No server setup required

Opensource

Host and grow your own instance

  • Contributions welcome
  • Grow on your terms
  • One click deploy to Heroku
CartQLMade with ❤️ in the UK by @notrab