The Shopify Partner API: access, permissions and data
The Partner API is how you read your apps' installs, uninstalls, charges and earnings outside the Partner Dashboard. It is also what every analytics tool for Shopify apps connects to. Here is how access works, from Shopify's reference.
By Arthur Renard, updated
Create an API client
- Since October 27, 2026, Partner API clients are in Shopify's Dev Dashboard: select your organization, open Organization settings, then Users, then Security. The Settings link of the Partner Dashboard now opens the same page. If you cannot find it, Shopify says to ask the owner of your organization to review your access.
- Create a client, give it a name, and tick the permissions it needs (see below).
- Copy the access token. Keep it secret: it gives access to every app of the organization the permissions cover.
A client only sees the organization where it was created: one client per organization. To change a token without interrupting your tools, generate a secondary token from the same page and switch to it.
Which permission gives what
| Permission | What it opens |
|---|---|
| View financials | Transactions that affect your Partner earnings. It also opens two writes: cancelling a merchant's Shopify App Pricing subscription and giving a store an app credit. |
| Manage apps | Your apps and their events: installs, uninstalls, charges, for the public and private apps of the organization. Also the organization's historical events, earnings included, with Shopify's fee. |
| Manage themes | The Shopify themes your organization manages. |
| Manage jobs | Experts Marketplace conversations and jobs. |
Tick only what a tool needs. An analytics tool for apps can work with "Manage apps" alone, since the historical events carry each earning. "View financials" adds the billing interval of each sale (monthly or annual), along with the two writes above.
Calling the API
The Partner API is a GraphQL API. You send POST requests to https://partners.shopify.com/{organization_id}/api/{version}/graphql.json, with the token in the X-Shopify-Access-Token header. The organization ID is the number in the address of your Partner Dashboard, and the version (such as 2026-10) keeps your integration stable as the API changes.
The limit is four requests per second per client. Above it, the API answers with a 429 error, "Too many requests".
What you can read
- App events: installs, uninstalls, store closures and reopenings, subscription charges accepted, activated, canceled, frozen or unfrozen, usage and one-time charges, credits. An uninstall carries the reason the merchant picked and the text they added.
- Transactions that affect your earnings. Shopify notes they are meant for analytics, not for accounting or financial reporting.
- For Shopify App Pricing: the active subscription of a store, subscription cancellation, and historical events (installs, uninstalls, charges, earnings, subscription changes, credits).
See how to calculate MRR and how to measure churn for what to do with these events.
Why the Dev Dashboard, the Partner Dashboard and the API can show different numbers for the same app: Dev Dashboard vs Partner Dashboard.
Without writing code
Luseri connects to your Partner account with a client that only needs "Manage apps", reads it without changing anything, and turns the events into MRR, retention by cohort and uninstall reasons. The token is stored encrypted, and removing your app from Luseri erases its data.
Questions
- Where do I create a Shopify Partner API client?
- Since October 27, 2026, in the Dev Dashboard: select your organization, then Organization settings, Users, Security. The Settings link of the Partner Dashboard leads there too.
- What is the Partner API rate limit?
- Four requests per second per API client. Above it, requests are throttled with a 429 error.
- Where do I find my organization ID?
- The Partner API needs your Partner ID: the number in the address of your Partner Dashboard, right after partners.shopify.com/. Shopify warns that the number in the address of the Dev Dashboard is a different organization ID, which does not work here.
- Can I use Partner API transactions for accounting?
- Shopify says they are meant for analytics, not for accounting or financial reporting.