Skip to main content

Squarespace

Read and work a Squarespace store: orders and fulfilment, products, stock levels, payment transactions, and customer profiles.

Connect a Squarespace site with a site API key to run its store: page through orders and read them in full, mark them fulfilled with tracking, list and create products, move stock, read the payment transactions behind the orders, and look up customer profiles with Squarespace's own lifetime-order figures. Squarespace publishes no API for editing site pages or blog posts, so this integration does not offer one.

Connect

Credential fieldRequiredWhere it comes from
API key (API_KEY)YesFrom the site's Settings → Developer tools → API keys. Its per-API permissions are fixed at creation, and it reaches only the site it was created in.

Tools

ToolAccessWhat it does
Get website (yekar.squarespace.get-website)ReadThe site this API key belongs to: its id, title, primary URL, timezone and language. Run it first to confirm which Squarespace site the connection actually reaches - a key belongs to exactly one site and cannot be pointed at another.
List orders (yekar.squarespace.list-orders)ReadA page of the store's orders, newest activity first, without line items (use Get order for those). Filter by fulfillment state or by a modified-date range; page with the cursor ALONE - Squarespace rejects a cursor sent together with any filter. There is no order count anywhere in this API, so a page is a page, never a total.
Get order (yekar.squarespace.get-order)ReadOne order in full: line items with SKUs and prices paid, billing and shipping addresses, totals, internal notes, and any fulfillments already recorded. Money keeps Squarespace's own decimal strings - they are not floats.
Fulfill order (yekar.squarespace.fulfill-order)WriteMark an order as fulfilled and attach its shipment tracking. This flips the order to FULFILLED and, if asked, emails the customer - both visible to a real buyer, so it is not a dry run. Squarespace answers with no body; the tool reports what it sent.
List products (yekar.squarespace.list-products)ReadA page of the store's products with their variants, prices, stock and images. Filter by product type or a modified-date range; page with the cursor ALONE. Squarespace publishes no product count, so a page is never a total.
Get products (yekar.squarespace.get-products)ReadFetch specific products by id, up to 50 at a time, with their variants, prices, stock and images. Squarespace has no single-product endpoint - this is how one product is read. Ids that resolve to nothing come back in missingProductIds.
Create product (yekar.squarespace.create-product)WriteCreate a product on a store page. Price and stock live on VARIANTS, so at least one is required; a product with several options needs variantAttributes plus one variant per combination. Defaults to hidden - pass isVisible true to put it on the storefront.
Update product (yekar.squarespace.update-product)WriteUpdate a product's own fields - name, description, slug, tags, visibility, SEO. Only the fields you send change. Prices and stock live on VARIANTS and are not editable here: use Adjust inventory for stock.
Delete product (yekar.squarespace.delete-product)WritePermanently delete a product and all of its variants. Squarespace has no trash for products and past orders keep their line items, but the product itself cannot be recovered - to take something off sale reversibly, update it with isVisible false instead.
List store pages (yekar.squarespace.list-store-pages)ReadThe site's store pages - a site can have several, and Create product needs the id of the one a product belongs to. Also tells you which are enabled (a disabled store page is not shopping-visible even when its products are).
List inventory (yekar.squarespace.list-inventory)ReadA page of stock levels, one row per product variant, keyed by variantId (the id Adjust inventory takes). An unlimited variant reports isUnlimited true and a null quantity - that is 'never runs out', not 'zero in stock'.
Get inventory (yekar.squarespace.get-inventory)ReadStock levels for specific product variants, up to 50 at a time. Read this immediately before a stock decision - Squarespace's storefront sells against the same counter, so a value read minutes ago may already be stale.
Adjust inventory (yekar.squarespace.adjust-inventory)WriteChange stock levels for product variants: add to them, subtract from them, set them to an exact number, or mark them unlimited. increment and decrement are RELATIVE - prefer set when the intent is 'this variant now has N', because a relative change applied twice is wrong in a way nothing surfaces. Squarespace answers with no body; the tool reports what it sent.
List transactions (yekar.squarespace.list-transactions)ReadA page of the store's payment records - what was actually charged, netted and refunded, with the order each belongs to. This is the money view; List orders is the fulfilment view, and the two do not line up one-to-one (a refund is a transaction against an order that already shipped).
List profiles (yekar.squarespace.list-profiles)ReadA page of the site's customer and contact profiles, with each one's order count and lifetime order total as Squarespace itself computes them. These are real people's contact details - read them for the task at hand, do not copy them anywhere they were not already going.
Get profile (yekar.squarespace.get-profile)ReadOne customer profile: name, email, address, whether they hold a site account, marketing consent, and Squarespace's own order-count and lifetime-total figures. acceptsMarketing is the consent record - treat it as binding, not advisory.

Notes

  • In Squarespace open Settings → Developer tools → API keys, create a key, and tick the permissions the automations need - Orders, Products, Inventory, Transactions, Profiles. Permissions are chosen when the key is CREATED and cannot be widened afterwards.
  • The Developer API needs a Business or Commerce plan; keys are not available on Personal.
  • A key belongs to one site. Add one credential per site if automations must span several.
  • Paging uses an opaque cursor and Squarespace rejects a cursor sent together with any filter - page with the cursor alone, or start a fresh filtered listing.
  • modifiedAfter and modifiedBefore are a pair: send both ISO 8601 UTC timestamps or neither.
  • Fulfilling an order can email the customer, and stock adjustments are relative unless you use set - both reach real buyers, so bind these automations deliberately.