iziTn — Tracking numbers, made easy

API

Find and show tracking numbers from your own code or AI agent (Claude, ChatGPT, Cursor, OpenClaw, Hermes…), with the same credits as the website: availability, search and balance are free, showing a tracking number costs 1 credit.

1. API keys

Generate a key for each app or agent, so you can disable or delete one without touching the others.

Loading…

2. API docs

Authentication

Send one of your API keys as a bearer token with every request. Requests and responses are JSON. Base URL: https://api.izitn.com/v2

Authorization: Bearer izi_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Filters

Used by availability and search. At least one date window is required; both together return shipments matching both. Only tracking numbers nobody has used yet are returned.

FieldTypeDescription
countrystringDestination country, ISO code: US, GB, CA, FR, DE, ... Default US.
carrierstringups, fedex, usps, evri, dpd. US: ups, fedex, usps. GB: fedex, evri, dpd. CA, FR, DE, IT: fedex. Other countries: fedex, ups, usps. Leave out for every carrier (US and GB only).
zipcodestringDestination zip code. Required for UPS, USPS, and FedEx in the US.
citystringDestination city, exact name (e.g. LONDON). Required for FedEx outside the US.
uk_to_ukbooleanFedEx to the UK only: just shipments sent from the UK.
ship_from / ship_tostringShip date window, YYYY-MM-DD, both days included, 10 days at most.
delivery_from / delivery_tostringEstimated delivery window, same format and limit.
statusstringall, in_transit or delivered. Default all when not sent.

Endpoints

POST/v2/tn/availabilityFree

The days of the date window that have at least one available tracking number, to pick dates before searching. The days are those of the ship window when one is given, else of the delivery window.

curl -X POST https://api.izitn.com/v2/tn/availability \
  -H "Authorization: Bearer $IZITN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "US", "carrier": "ups", "zipcode": "55117",
       "delivery_from": "2026-10-14", "delivery_to": "2026-10-20"}'

# => {"date_type": "delivery", "days": ["2026-10-14", "2026-10-15", "2026-10-17"]}
POST/v2/tn/searchFree

Shipments matching the filters, sorted by estimated delivery date. Tracking numbers are hidden: each result has a token, valid 24 hours. Extra fields: order (asc or desc), page, page_size (1–50, default 10).

curl -X POST https://api.izitn.com/v2/tn/search \
  -H "Authorization: Bearer $IZITN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "GB", "carrier": "fedex", "city": "LONDON",
       "delivery_from": "2026-10-14", "delivery_to": "2026-10-20", "page_size": 20}'

# => {"total": 37, "page": 1, "page_size": 20,
#     "results": [{"token": "gAAAAABn...", "carrier": "fedex",
#                  "status_code": "in_transit", "status_label": "In transit",
#                  "ship_date": "2026-10-11", "scheduled_delivery": "2026-10-15",
#                  "origin": "MEMPHIS, TN", "destination": "LONDON",
#                  "zipcode": "", "weight": 1.2, "weight_unit": "LB"}, ...]}
POST/v2/tn/show1 credit

The tracking number of one search result. Free when this account already showed it: charged says whether a credit was used. Shown numbers also appear in your History.

curl -X POST https://api.izitn.com/v2/tn/show \
  -H "Authorization: Bearer $IZITN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"token": "gAAAAABn..."}'

# => {"tracking_number": "794658322104", "carrier": "fedex",
#     "charged": true, "credit_balance": 49}
GET/v2/balanceFree

Your remaining credits.

curl https://api.izitn.com/v2/balance -H "Authorization: Bearer $IZITN_API_KEY"

# => {"credit_balance": 49}

Errors

Every error has the same JSON body, with one of these HTTP statuses and codes:

{"error": {"code": "invalid_request", "message": "Enter a zip code to search."}}
StatusCodeMeaning
400invalid_requestA filter is missing or wrong: no date window, no zip code or city, carrier not offered for the country, window over 10 days…
400invalid_tokenThe result token is malformed or expired (24 hours): search again.
401missing_api_keyNo Authorization: Bearer header.
401invalid_api_keyThe API key doesn't exist (mistyped or deleted).
402insufficient_creditsNot enough credits to show a tracking number.
403api_key_disabledThe key was disabled in the API keys section above.
403account_disabledThe account owning the key is disabled.
404not_foundThe shipment of this token no longer exists, or the URL is wrong.
422validation_errorA field has the wrong type or format.
429rate_limitedMore than 60 requests per minute with one key: wait Retry-After seconds.
500internal_errorUnexpected error on our side: try again, then contact [email protected].