The Admin API and webhooks in practice

Apps and integrations 9 min read

A monitor showing streams of abstract events flowing between two systems
Events arrive twice, late, or not at all. Build for that.

Integrations against Shopify are mostly two mechanisms: the Admin API, which you call to read and write, and webhooks, which call you when something happens.

Both are straightforward. What separates a reliable integration from a flaky one is how you handle the cases where they misbehave — and they will.

The two mechanisms#

The Admin API and webhooks in practice — The two mechanisms
Admin APIWebhooks
DirectionYou call ShopifyShopify calls you
Good forReading state, writing changes, backfillsReacting to events promptly
Failure modeRate limits, version changesDuplicates, out-of-order delivery, missed events
Must handleRetries and paginationIdempotency and verification

Rules that make integrations reliable#

  1. Verify every webhook signature before trusting the payload. Unverified endpoints are an open door.
  2. Make every handler idempotent — the same event will arrive twice eventually.
  3. Do not assume order. A cancellation can arrive before the creation you were waiting for.
  4. Return quickly and process asynchronously; slow endpoints get retried and then disabled.
  5. Reconcile daily against the API. Webhooks miss events; a nightly sweep catches what slipped.

Rate limits are a design input#

Shopify meters API access. That is not an obstacle to work around with retries; it is a constraint to design for. Batch reads, request only the fields you need, and use bulk operations for backfills instead of walking every product one call at a time.

If your integration only works when nothing else is running, it does not work. Test it while an import is in progress.

Versioning#

API versions are dated and expire. Put the upgrade in the calendar rather than discovering it through a failure. A small integration takes an hour to move forward; one that has skipped four versions takes a week.

Frequently asked questions

Webhooks or polling?

Webhooks for promptness, a periodic reconciliation for correctness. Most reliable integrations use both.

How do I stop duplicate processing?

Store the event identifier and ignore repeats. Idempotency is the single most valuable habit here.

What breaks first at scale?

Rate limits, usually during a backfill that walks records one at a time instead of using bulk operations.

shopify admin apishopify webhooksshopify integrationshopify api rate limitsshopify graphql api

All guides

Last updated 2026-08-04 by shopifydevelopment.info · About us

Written by builders

Every guide is written by developers who build and maintain Shopify stores, not spun from other sites.

Reviewed on a schedule

Shopify ships changes constantly. Each guide carries the date of its last review, and we publish the date even when nothing changed.

No paid placements

No app, theme shop, agency or partner can buy a mention, a ranking or a link here.

Twelve languages

Every guide is translated, not machine-popped — each language has its own URL and its own review date.

Limits named

We say plainly what Shopify will not let you change, and when another platform fits your rules better.