Free collector · deprecated Shopify Admin API calls

Which app, which store, which call.

Record deprecated calls per app and store, identify the services that made them, and put the fleet in deadline order. Tokens stay on your infrastructure.

Manual checks are “not operationally viable”. “We need a programmatic, automated, machine-readable way to monitor deprecated and breaking API usage across apps and stores.”Partner agency managing ~200 custom apps · Shopify developer community

Deadline-ordered fleet queue

The output of sunsetlog report: one row per app, shop and deprecation. Fictional sample data, not a customer.

fleet.md · report_version 1 · sample as of 2026-09-30SAMPLE DATA
3apps at risk
5shops at risk
2shopify_only: source unknown
Fictional deprecated Admin API calls sorted by deadline, unknown last
DeadlineApp / shopDeprecationSourceCallsLast seen
−4 d2026-09-26 · shopifycatalog-syncfictional-north.myshopify.comShop.productsfeed migration target 2026-10shopify_onlyno service reported it1 presence09-30 05:41
1 d2026-10-01 · shopifyreviewsfictional-lune.myshopify.comShop.productVariantsSDK API 2025-04attributedsync-worker · catalog.ts:8831209-30 05:58
1 d2026-10-01 · estimateloyalty-pointsfictional-verde.myshopify.comREST /products.jsonSDK API 2025-10sdk_onlycatalog-worker8609-29 22:10
61 d2026-11-30 · shopifycatalog-syncfictional-atelier.myshopify.comCollection.productsCountfeed migration target 2026-10shopify_onlyno service reported it1 presence09-28 13:02
unknownno deadline evidenceloyalty-pointsfictional-sud.myshopify.comOrder.customerSDK API unstablesdk_onlywebhooks · order.ts:41909-27 09:15
attributed exact SDK/feed matchshopify_only feed only, source unknownsdk_only instrumented, absent from the feedestimate SDK release month + 12 months

Keep collection on your infrastructure

A Node fetch wrapper and a standalone Go CLI. No hosted account required.

01 · SDK

Wrap your Shopify calls

Aggregate the deprecation and served-version headers per app, shop and service. Optional call-site capture points to your code.

02 · CLI

Poll the custom-app feed

Read deprecated_api_calls.json using environment-variable references. Shopify tokens never leave your infrastructure.

03 · REPORT

Get the queue

Reconcile exact identities and order by deadline. Unmatched feed entries remain shopify_only; sunsetlog never guesses the source.

Install a CLI archive and SDK tarball from a release. npm publication is pending. Source and setup guide (repository access may be required until public launch).

const { wrapFetch, fileSink } = require('@sunsetlog/shopify');
const shopifyFetch = wrapFetch(fetch, {
  app: 'reviews', service: 'sync-worker',
  sink: fileSink('./events'), callsite: false
});
// Use shopifyFetch in your Shopify HTTP adapter.

sunsetlog poll --config stores.yaml --out events
sunsetlog report --events events --out .

Empty and partial results are explicit

Examples of CLI states; this page does not run the collector.

EMPTY · no events yet0 rows

No deprecated calls recorded

Either the fleet is clean, or nothing is instrumented. Wrap fetch and poll custom apps. A clean report is not proof of clean traffic.

Read the setup guide
ERROR · example diagnosticsexplicit failure
Inline token refused. Use token_env, never a token value. The entire config is rejected before any network call.

With a valid config, a per-store 401 leaves other stores running and exits non-zero. Run report separately for the successful stores.

fail fictional-verde.myshopify.com: HTTP 401
ok   fictional-north.myshopify.com: 1 feed row
# poll exits 2; successful events remain local

What sunsetlog cannot see

  • Dev Dashboard apps have no Shopify-side feed. For them, the SDK is the only signal: only instrumented calls can be attributed.
  • Calls outside instrumentation, including Postman calls with a Dev Dashboard app's token, cannot be attributed by anyone but Shopify.
  • Missing deprecation headers, deprecated resource properties and HTTP adapters that bypass wrapped fetch are blind spots. This is not a completeness guarantee.
  • No Storefront API or webhook coverage. SDK verification uses recorded headers and local mock servers, pending live development-store verification.
  • The SDK never reads response bodies. It inspects GraphQL request query text only for an operation name; bodies, variables, tokens and query strings are never emitted.

Run 20+ Shopify apps? Pre-order the hosted feed.

The collector is free. The hosted machine-readable fleet feed and deadline alerts are not built yet: this is a pre-order / design-partner offer for agencies running 20+ apps. We build the hosted service only after a signed paid commitment.

Pre-order terms are set by the founder. No card is taken on this page; no price or refund terms are implied.