Which Etsy API permissions listing automation actually needs
A tool that creates Etsy listings on your behalf has to ask for access. Here is exactly which permissions ShopPilot requests, what each is used for, and which ones it deliberately leaves alone.
Connecting any third-party tool to a shop is a real decision, and the honest way to present it is scope by scope rather than as a single "connect" button. ShopPilot’s hosted connection uses OAuth 2.0 over HTTPS with PKCE and short-lived, single-use state. You sign in only on Etsy’s own authorization page — ShopPilot never receives or stores an Etsy password.
The scopes requested
| Scope | What it is for |
|---|---|
| listings_r | Read listing details and status — previews, editing, duplicate protection, draft review, registry history, and analytics. |
| listings_w | Create and update listings, upload seller-authorized images and digital files, and publish when explicitly requested. |
| listings_d | Delete a seller-selected listing, after a destructive confirmation. |
| shops_r | Read basic shop information, sections, and identity, so actions target the intended shop. |
| transactions_r | Read paid receipts and transaction details for analytics and, when the seller enables it, fulfilment — including the order and delivery information that workflow needs. |
What is not requested
The current official scope set does not request cart, favorites, billing-write, payment-write, or shop-write permissions. ShopPilot does not process buyer checkout payments and does not collect Etsy passwords.
This is worth stating plainly because scope lists are usually where a tool quietly asks for more than its features need. A listing tool has no reason to hold write access to your shop settings or your billing.
Why a listing tool needs write access at all
The write scope is the one worth understanding. Creating a draft listing, attaching generated mockups, and setting title, tags, description, and attributes are all write operations against the Etsy API. There is no read-only path that produces a listing. The mitigation is not to avoid the scope — it is to make publishing an explicit, reviewable step, which is why draft review is the default behaviour of a run.
Ending the connection
Disconnecting is available in Account & Privacy. It deletes the stored Etsy tokens and stops future Etsy API calls. Separately — and independently of ShopPilot — the grant can be revoked in Etsy’s own connected-app settings. Two independent off switches is the correct arrangement: revoking access should never require the cooperation of the tool you are revoking.
The current scope list is maintained on Etsy permissions.
The term ‘Etsy’ is a trademark of Etsy, Inc. ShopPilot uses Etsy’s API but is not endorsed or certified by Etsy.