Last updated: 25 August 2026 · Technical documentation for the Choicely × Squarespace integration
Choicely builds and publishes native iOS and Android apps. If you sell on Squarespace, you can connect that site to a Choicely app: the app then shows your live catalogue — products, images, variants, prices and stock — and hands buyers to your own Squarespace checkout. It is one of several services a Choicely app can connect to; the full list is on the integrations index.
This page documents what that connection actually does — what Choicely asks Squarespace for, what it stores and where, what it will never read, and how to disconnect it. It describes the integration as it ships today, not a roadmap.
What connecting does
Connecting is an OAuth 2.0 authorization-code flow against Squarespace's own authorization server. In order:
- In Choicely Studio you choose Connect Squarespace. You are redirected to Squarespace, where you sign in and choose which site to authorize. Choicely never sees your Squarespace password.
- Squarespace shows you its own consent screen listing the access being requested. You approve it or cancel it there.
- Choicely reads the authorized site's identity — its site id and its web address — and stores those two values as your app's configuration. Nothing else from your site is copied.
- The access and refresh tokens Squarespace issues stay on Choicely's servers, encrypted. They are never put in your app and never shown in Studio.
One Squarespace site can be connected per Choicely app; connecting again replaces it in place, so there is never an orphaned connection to clean up. Connecting a Squarespace site does not require a paid Choicely plan.
What Choicely asks Squarespace for, and why
Squarespace fixes a connection's access at the moment you approve it, and versions it per connection: adding a permission later forces every connected site to authorize again. Choicely asks for three, all of them read-only, and those three are what the consent screen shows you:
- View products (
website.products.read) — your catalogue: titles, descriptions, images, variants and prices. This is the one the app is built on.
- View inventory (
website.inventory.read) — stock levels, so the app can show a sold-out item as sold out instead of guessing.
- View orders (
website.orders.read) — held, and never used to serve data to your app. The next section is about this one.
There are no write permissions in the set. Choicely cannot create, change or delete anything on your Squarespace site — not a product, not a price, not a stock level, not a page, not a setting.
The orders permission, in plain words
Squarespace's consent screen describes order access as viewing customer information — name, email, address and more. That is the broadest thing on the list, so here is exactly what happens to it: nothing reaches your app.
Choicely serves a built app exactly two sets of data, products and inventory. There is no orders dataset. A request for orders is refused with a 404 before any stored credential is read, and an automated test in Choicely's authorization service fails if orders is ever added to that list. The exclusion is structural, not a setting someone can flip.
The boundary follows from how the feed works. Your catalogue is served to your app without a login, because it is the same catalogue your public storefront already shows anyone. Order records are the opposite of public — they carry your customers' names, addresses and email addresses — so they are not on that path, and they will not be added to it. If Choicely ever builds order-aware features, they will need a different, authenticated path, and this page will say so.
Why hold the permission at all, then? Because dropping it and adding it back later would make every connected site re-approve the connection, and putting customers through that for a future feature is worse than being explicit here. Access held is not the same as data exposed.
What Choicely stores, and where
- Your site's id and its web address. Stored as your app's configuration and served to your app at runtime from a public, token-less endpoint. Both are already public facts about your site.
- The Squarespace access and refresh tokens. Server-side only. They are sealed with a per-connection data key that is itself wrapped by Google Cloud KMS; only the ciphertext is written to storage. They are never returned by any Choicely API, never displayed in Studio, and never included in an app bundle.
- Nothing else. Choicely does not copy your catalogue into a database of its own. Product and stock data are read live when your app asks for them, held for at most a minute, and thrown away.
Your Squarespace password, your orders, and your customer records are never stored by Choicely.
What Choicely refuses to accept
The publishable configuration of a Squarespace connection carries your site id, your site address and the address of the read-only feed — and nothing else. Choicely's backend rejects any additional field whose name reads like credential material — key, secret, token, password, credential, auth, bearer, private, signature — with an explicit error naming the offending field, before any other validation. A pasted API key or client secret therefore cannot be stored in the public configuration, whatever route it arrives by. The site address must be a bare https origin, with no path, query or credentials in it.
What Choicely never writes
The connection reads; that is the whole of it. Nothing in it edits your products, your prices, your stock, your pages or your site settings, and there is no permission in the set that would allow it to. Your site is exactly as you left it, before the connection and after it. Disconnecting changes nothing on your site either.
What is public, and the part you own
This is the paragraph to read twice.
Your catalogue feed is served to your app without authentication, on purpose: it carries the same products and prices anyone can already read on your storefront, and requiring a secret would only mean shipping that secret inside a mobile app, where anyone who installs it can extract it.
One consequence is yours to manage rather than ours. The feed is your store's product list as Squarespace returns it, and each product carries Squarespace's own visibility flag. Choicely does not filter on that flag — the app decides what to display. So if you keep unreleased or hidden products in the same store, treat them as readable, and have your app hide them deliberately rather than by assumption.
Orders, customers and payments are not on that feed at all — see above.
What your app can do today
Apps built in Choicely reach your store through a maintained helper in the app template rather than raw API calls, so paging, caching and error states are handled for you. It supports:
- Product catalogue — list products with images, descriptions, tags, variants and prices; page through a store of any size; open a product-detail screen with a single request rather than scanning the catalogue for one item.
- Live stock — per-variant stock levels, so an out-of-stock variant can be shown as unavailable.
- Server-side filtering — by product type, and by a modified-date range, done by Squarespace rather than in the app.
- Linking out to buy — a Buy button opens that product's own page on your Squarespace site, either in the device browser or inside the app.
The limits, stated plainly, as of the date at the top of this page:
- There is no in-app checkout. No cart, no payment step, no card entry inside the app. Buying happens on your Squarespace site, in your own checkout, with your own payment and tax settings.
- There is no order data and no order history. A "my orders" screen cannot be built against this connection — see the orders section above.
- Shoppers do not sign in to your Squarespace store from the app. The connection carries no customer accounts or sessions. App-level user accounts are a different integration.
- Nothing can be written. Stock, prices and product data cannot be changed from the app.
- Search and sorting happen in the app, not on Squarespace: product type and modified date are the only filters the store itself applies.
These limits are on this page because a documentation page that overstates a capability costs you a day of work. When they change, this page changes.
Where the data goes
Your app holds no Squarespace credential and never calls Squarespace directly. It asks Choicely's authorization service for one of the two datasets; that service attaches your connection's access token, makes the read against Squarespace, and returns Squarespace's own answer to the app unchanged — same fields, same paging, nothing added and nothing reshaped. Successful responses are held for up to a minute so a busy app stays inside Squarespace's rate limits.
Nothing about your customers travels on that path, because only products and inventory are on it.
Keeping the connection alive
Squarespace access tokens are short-lived, and its refresh tokens are single-use: each renewal replaces the last one, and an unused connection expires within a week. Choicely renews the connection for you on a schedule, so an app whose owner has not opened Studio in a month keeps serving live products.
If a connection does lapse — because a renewal failed, or because Choicely was removed on the Squarespace side — Studio marks it and the fix is to reconnect: "Squarespace connection expired — reconnect to keep your app in sync." Reconnecting replaces the connection in place. While it is lapsed, the app reports the shop as unavailable rather than showing anything wrong.
Disconnecting and revoking access
In Studio, Disconnect Squarespace removes the connection: the stored tokens and the site configuration are deleted from Choicely, and your app's shop features report themselves as unconfigured rather than failing. Your Squarespace site, its products and its orders are untouched.
Being straight about one thing: Squarespace publishes no revocation endpoint, so disconnecting erases Choicely's copy of the access — it cannot cancel the authorization at Squarespace's end on your behalf. To revoke it there, remove Choicely in your Squarespace site's settings. You can do that at any time, without telling us; the next read then fails and Studio shows the connection as needing a reconnect.
Questions and security reports
For questions about this integration, contact us. To report a security issue, follow our Vulnerability Disclosure Policy; our security overview, sub-processors and data-processing terms are collected on the Trust page.
Trademarks
Squarespace is a trademark of Squarespace, Inc. Choicely is an independent product built by Choicely Oy, and is not affiliated with, endorsed by or sponsored by Squarespace, Inc. The Squarespace name is used on this page solely to describe interoperability with the Squarespace service.