Our API makes it possible for anyone to make awesome things for Big Cartel’s massive community of artists. Integrate Big Cartel into an existing application or service, create an add-on to extend our core features, or code something up you’d like in your own shop. Whatever it is, we hope these tools allow you to build something great.

Big Cartel API

Stay in the loop! Join our Developer Newsletter and follow our API Changelog to stay current on new features, improvements, and bug fixes!


All API requests require you to have authentication to the account you’re trying to access. There are a couple of ways to do that, depending on the type of project you’re working on.

Public projects

If you’d like to make an app or integration to be used by others, you’ll need to authenticate using OAuth. This is currently invite-only, but you can apply for an invite by telling us a bit about who you are and what you’d like to build. If approved, we’ll provide you with a client_id and client_secret. Read our OAuth guide.

Personal projects

If you’d like to make a private integration just for yourself, you can do that without an invite by using HTTP Basic authentication with your store’s subdomain and password. Again though, this should only be for your own store, never ask anyone for their password!

Note that most endpoints require that you include an account ID when making a request. To find the account ID for your store, just make a request to the Account endpoint (/v1/accounts) and retrieve the id attribute from the response.


The current version of the Big Cartel API is V1, and that version number is specified in all endpoints (e.g. /v1/accounts/123). Updates made to the V1 API will always be backwards-compatible, and listed with a datestamp in our API Changelog.

Looking for our old API? If you only need to get a few public details about a shop and its products, then you may want to check out our old read-only API.


You must include a User-Agent header with the name of your application and a contact URL or email where you can be reached. This allows us to warn you if you’re doing something wrong before you get blacklisted, or feature you if you’re doing something awesome.

User-Agent: Example Inc. (http://example.com/contact/)
User-Agent: Example Project (email@example.com)

If you don’t supply this header, you will get a 400 Bad Request response.

Rate limiting

The API doesn’t currently limit the number of requests in a given time period, but rate limiting will be added in the future. For now, please use the endpoints responsibly, and use webhooks to know when an update happens instead of polling regularly.


The API follows a REST design to make our resource URLs simple and predictable. All responses use HTTP status codes and return JSON following the JSONAPI standard.

All API endpoints begin with the root URL https://api.bigcartel.com and require an Accept header of application/vnd.api+json. When making a request that includes a JSON body, sending a Content-type header of application/vnd.api+json is required as well.

Endpoint Description
Account Get info about an account.
Artists Get info about and manage an account’s artists.
Categories Get info about and manage an account’s categories.
Discounts Get info about and manage an account’s discounts.
Countries Get a list of countries.
Orders Get info about and update an account’s orders.
Products Get info about and manage an account’s products.


Our API makes use of webhooks to notify your application of changes to any of the accounts you care about. They’ll tell you what type of change has occurred, and will even include the updated object data so you don’t need to keep checking yourself. Read our webhooks guide.

Status codes

Our API returns HTTP status codes for every request. Here are some examples of typical responses you can expect to receive:

Code Status
200 Everything worked as expected.
201 Created - a new resource was created.
400 Bad Request - missing or invalid parameters.
401 Unauthorized - invalid API credentials.
402 Request Failed - valid parameters, but the request failed.
404 Not Found - requested item doesn’t exist.
5xx Server Error - something is wrong on our end.


Some errors will return an additional errors object in the response with information in the following format:

  "errors": [
      "code": "not-found",
      "title": "The item you requested was not found",
      "detail": "We couldn't find that account"


Requests that return multiple objects will be limited to 20 items by default. The documentation for each endpoint will tell you which objects support pagination, and you can specify further pages using limit and offset inside the page parameter like so:

GET /v1/accounts/1/orders?page[limit]=10&page[offset]=0

When an object supports pagination, a links object is returned that can contain first, last, next, and prev keys with links to their respective pages depending on what page of results is being returned. For example:

  "data": [
  "links": {
    "next": "http://api.bigcartel.com/v1/accounts/1/orders?page%5Blimit%5D=10&page%5Boffset%5D=10",
    "last": "http://api.bigcartel.com/v1/accounts/1/orders?page%5Blimit%5D=10&page%5Boffset%5D=10"

Additionally, we’ll return a meta object with the total number of results available to be paginated through:

  "data": [
  "meta": {
    "count": 60


Any image URL attribute returned from an endpoint in our API will be in the following format:


However, you’d probably like a version optimized for your application. Fortunately, Big Cartel uses the awesome imgix service, and you can take advantage of their image API to resize, crop, and stylize the image in any number of ways. For example:


Play nice! imgix’s image features unlock all sorts of exciting possibilities, but with great power comes great responsibility. Please don’t make excessive calls to imgix for the images in your app, or we’ll be forced to take your toys away. Thanks!

If you’d like to get info or dimensions about the original image, just request JSON format:


Marketing apps

If you’d like to integrate an email marketing service with Big Cartel, you must allow buyers to opt-in to this marketing, as stated in Section 4e of our API License Agreement.

To help with this, we can configure your app so that any shops using it will present buyers with a “Subscribe to our email list” checkbox in the checkout process. From there, you should use the customer_opted_in_to_marketing order attribute to opt them in or out.

Terms of Use

Before you start making API calls, please make sure to read the full API License Agreement so that you understand the rules and guidelines you are agreeing to by using the API.