200 free lookups every month
Make up to 200 tracking lookups per month on the free plan — enough for prototypes, internal tools, and small stores. No credit card required to start.
Use a free shipping tracking API for up to 200 package lookups per month. Choose from 80+ carrier codes, auto-detect selected formats, and receive normalized events when sources return usable data — no credit card required.
curl https://api.traceapi.dev/v1/track \
-H "Authorization: Bearer $TRACE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tracking_number":"1Z999AA10123456784"}'
# Response:
# {
# "carrier": { "code": "ups", "name": "UPS" },
# "status": "in_transit",
# "events": [...],
# "cached": false
# }Illustrative request and response. Use a real tracking number with known scans to test a live lookup.
The free plan includes the core API surface: carrier-pattern detection, normalized statuses, event timelines, batch tracking, and signed webhooks after fresh lookups. See pricing for plan limits and current subscription availability.
Paid subscriptions are currently unavailable. The free plan remains open for new accounts.
Make up to 200 tracking lookups per month on the free plan — enough for prototypes, internal tools, and small stores. No credit card required to start.
Trace recognizes selected formats such as UPS, USPS, YunExpress, 4PX, and Cainiao. Numeric FedEx and DHL numbers need source evidence or a carrier override; live results depend on available sources.
Get consistent statuses (pending, in_transit, out_for_delivery, delivered, exception) with clean event timelines, locations, and timestamps.
Every plan — including free — can emit HMAC-signed tracking.updated, tracking.delivered, and tracking.exception events after fresh, uncached lookups.
Track up to 20 packages in a single request with /v1/track/batch. Each successful item counts as one lookup; failed items do not consume monthly lookup quota.
Repeated lookups can return a recent result without waiting on the carrier again, improving response time and reducing upstream load. Each successful cached response still counts as one monthly lookup.
Each successful single or batch item counts as one lookup, including cached responses and requested stale-data fallbacks. Failed lookups and sandbox tests do not use monthly lookup quota. These examples divide 200 monthly successful lookups across different tracking patterns.
| Usage pattern | Approximate capacity / month | Example workflow |
|---|---|---|
| 1 successful lookup per shipment | Up to 200 shipments | Final-status or occasional checks |
| 2 successful lookups per shipment | Up to 100 shipments | A first check plus a later refresh |
| 5 successful lookups per shipment | Up to 40 shipments | Light status-page or support usage |
| 10 successful lookups per shipment | Up to 20 shipments | More frequent checks during transit |
Examples assume the entire monthly allowance is used for these shipments. Include successful shipment-record monitoring refreshes and async tracking-job items in your budget; they share the same account quota. Actual capacity depends on the number of successful lookups per shipment.
Yes. The free plan includes 200 package tracking lookups per month at no cost. You can sign up, create an API key, and start tracking packages without entering a credit card. Paid subscriptions are currently unavailable; contact us if you need a higher limit.
No. You can create an account and generate a trc_ prefixed API key immediately after email verification. No payment information is required for the free tier.
Failed lookups, including HTTP 503 tracking_sources_unavailable responses, do not consume monthly lookup quota. Sandbox scenarios also use no monthly lookup quota. Requests still count toward the per-minute rate limit. A batch reserves capacity for all submitted items while it runs, then consumes quota only for successful items.
Yes. Each successful live or cached lookup counts as one. A successful stale-data fallback also counts when you explicitly request it with allow_stale. Successful shipment-record monitoring refreshes and async tracking-job items use the same account quota. Failed refreshes and failed job items do not.
Requests that exceed the 200-lookup monthly quota return a 402 monthly_quota_exceeded error. Your existing data and API key remain valid. Contact support to discuss a higher limit, and check the pricing page for current subscription availability.
The same 80+ carrier-code catalog is available on every plan, including free. Automatic detection covers selected formats, and you can provide a carrier code when needed. Catalog inclusion does not guarantee live coverage; Trace returns an error when no source can provide usable events.
Yes. The free plan is suitable for low-volume production use, internal tools, prototypes, and development environments. It provides the same core tracking endpoints and response format as paid plans, with a 200-lookup monthly quota and lower request rate.
The free plan allows 10 requests per minute, which is sufficient for most low-volume use cases. Recent results can be served from a 30-minute cache for faster responses. Each successful lookup, including a cached response, counts toward monthly plan usage. See the pricing page for other plan limits and current availability.
Create an account, generate your API key, and track your first package in under two minutes. No credit card, no sales call, no setup fee.