Trace

Use case

Package tracking API for Shopify

Shopify stores ship through many carriers — USPS, UPS, FedEx, DHL, and a long tail of international couriers. Tracking every order usually means integrating each carrier separately or adopting a post-purchase platform.

Trace gives Shopify stores and app developers one tracking endpoint. Send a tracking number, get normalized status and events, and render them on your own order status page.

How it works

  1. 1Create a Trace account and generate an API key from the dashboard.
  2. 2Send the order's tracking number to POST /v1/track. Trace detects the carrier automatically for common formats.
  3. 3Render the returned status and events on your storefront, or store them for a tracking page.

Node.js — track a Shopify order

const response = await fetch("https://api.traceapi.dev/v1/track", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.TRACE_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ tracking_number: "1Z999AA10123456784" }),
});

const tracking = await response.json();
console.log(tracking.carrier.code, tracking.status, tracking.events);

Shopify FAQ

Does Trace have a Shopify app?

Trace is an API, not a hosted Shopify app. You call it from your theme, a private app, or a custom app to power a tracking page.

How do I get tracking numbers from Shopify orders?

Shopify order fulfillment records include a tracking number and carrier. Read those, then send the tracking number to Trace.

Can I show tracking on the order status page?

Yes. Fetch the tracking events from Trace and render them in your theme's order status template.

Start tracking for free.

Create an account, generate an API key, and track your first package in under two minutes — no credit card required.