Multi-Carrier Package Tracking avatar

Multi-Carrier Package Tracking

Pricing

from $16.00 / 1,000 package tracking results

Go to Apify Store
Multi-Carrier Package Tracking

Multi-Carrier Package Tracking

Track UPS and FedEx International Connect packages with status, delivery dates and scan events. USPS currently has access restrictions with explicit diagnostics.

Pricing

from $16.00 / 1,000 package tracking results

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

9

Monthly active users

2 days ago

Last modified

Categories

Share

Multi-Carrier Package Tracking (USPS, UPS, FedEx)

Free plan limit: Free-plan users can receive up to 5 result records per run. Paid-plan and local/unknown runs retain the Actor's existing limits.

Track UPS and FedEx International Connect shipments and receive a normalized dataset for ecommerce operations, support workflows, delivery monitoring, and AI agents. USPS public tracking is currently access-limited; standard FedEx data availability still needs a current authorized shipment for verification. Both return explicit diagnostics when unavailable.

The Actor accepts a mixed list of tracking numbers, detects unambiguous carrier formats, opens each carrier's public tracking flow through the owner-managed Oxylabs Agent Browser with a consistent residential session, and converts the available status into one stable JSON contract. Users do not provide proxy credentials, carrier logins, or developer accounts. It does not solve CAPTCHAs or expose authenticated shipment documents.

What it extracts

Each active public shipment produces one dataset item. Missing carrier fields are returned as null; the Actor never guesses them.

FieldMeaning
trackingNumberNormalized tracking number
carrierUSPS, UPS, or FedEx
statusCross-carrier category such as in_transit, out_for_delivery, or delivered
statusTextCurrent carrier-provided status text
terminalWhether the package is delivered or returned
delivered / delayedAutomation-friendly state flags
estimatedDeliveryPublic delivery estimate when available
actualDeliveryPublic delivery date or timestamp when available
servicePublic carrier service name when available
origin / destinationPublic location summaries when exposed
lastEventLatest scan or progress event
eventsPublic tracking history when requested and exposed
sourceUrl / scrapedAtCarrier page and UTC extraction time

Invalid, ambiguous, inactive, challenged, or failed lookups are not inserted as fake shipment rows. Masked diagnostics are stored in the OUTPUT key-value-store record with an outcome of DATA, EMPTY, BLOCKED, REJECTED, or FAILED.

When to use it

Use this Actor for small, current batches of shipments you own, administer, or are authorized to monitor. Common workflows include checking fulfillment exceptions, enriching helpdesk tickets, monitoring orders on a schedule, feeding normalized status into Make, Zapier, or n8n, and giving an AI agent one contract across three US carriers.

Do not use it to create labels, calculate rates, change delivery instructions, submit claims, retrieve proof-of-delivery signatures, or run a high-volume carrier integration. Those workflows belong on the carriers' authenticated APIs. Public tracking records can expire, and carrier sites can suppress details based on shipment age, service, or destination.

Input

FieldRequiredDefaultNotes
trackingNumbersYesPublic inactive UPS sample1–25 numbers; spaces, hyphens, and duplicates are removed
carrierNoautoUse an explicit carrier for ambiguous numeric formats
includeDetailedEventsNotrueReturn public event history where extractable
requestTimeoutSecsNo2520–90 seconds for the complete lookup

Automatic detection is conservative. UPS numbers beginning with 1Z, common USPS domestic and international formats, 12- or 15-digit FedEx numbers, and FedEx International Connect (KOT/PRO) numbers are recognized. Some all-numeric formats overlap between carriers; the Actor rejects those as ambiguous instead of querying the wrong company. Set carrier explicitly when a whole batch belongs to one carrier.

Mixed-carrier Console input

{
"trackingNumbers": [
"1Z999AA10123456784",
"9400111899223856928499",
"794644790138"
],
"carrier": "auto",
"includeDetailedEvents": true,
"requestTimeoutSecs": 25
}

Explicit-carrier input

{
"trackingNumbers": ["YOUR_AMBIGUOUS_NUMERIC_TRACKING_NUMBER"],
"carrier": "FedEx",
"includeDetailedEvents": false
}

API call

curl -X POST "https://api.apify.com/v2/actors/YOUR_USERNAME~multi-carrier-package-tracking/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"trackingNumbers":["YOUR_TRACKING_NUMBER"],"carrier":"auto"}'

Keep Apify tokens in authorization headers or secret stores. Tracking numbers and delivery details can be sensitive, so avoid placing them in public logs, issue reports, or URLs outside the intended carrier flow.

Output example

{
"trackingNumber": "1Z999AA10123456784",
"carrier": "UPS",
"status": "delivered",
"statusText": "Delivered",
"terminal": true,
"delivered": true,
"delayed": false,
"estimatedDelivery": null,
"actualDelivery": null,
"service": null,
"origin": null,
"destination": null,
"lastEvent": {
"timestamp": null,
"status": "Delivered",
"description": null,
"location": "Austin, TX"
},
"events": [],
"sourceUrl": "https://www.ups.com/track?loc=en_US&tracknum=1Z999AA10123456784",
"scrapedAt": "2026-09-09T12:00:00.000Z"
}

Pay per event pricing

Current Apify event prices and platform-usage treatment are listed in the dedicated Pricing section below.

An inactive, invalid, ambiguous, or blocked number produces no result-item charge. The price discounts from FREE are 2.5% for BRONZE, 5% for SILVER, and 20% for GOLD and higher; the start event stays at its $0.005 floor. Event totals depend on the customer's plan: one found shipment is $0.025 on FREE, $0.0245 on BRONZE, $0.024 on SILVER, and $0.021 on GOLD or higher. Ten found shipments are $0.200 on BRONZE, $0.195 on SILVER, and $0.165 on GOLD or higher; free-plan runs are capped at five results ($0.105 in listed events). The Actor checks the run's maximum charge before crawling additional potential results and never manually charges Apify's synthetic start or dataset-item events.

Reliability and failure behavior

Hosted runs use Oxylabs Agent Browser through an encrypted owner-managed WSS secret. The Actor retains the provider's browser fingerprint and US residential session, keeps TLS verification enabled, disables CAPTCHA solving and session recording, and closes the remote browser at completion or shutdown. The Apify container runs at 256 MB by default because it controls a remote browser.

UPS shipment-specific page responses are matched to the requested tracking number before extraction. A generic missing-delivery-estimate banner does not override a real shipment status. FedEx UI translation files are excluded from shipment parsing, and standard FedEx and International Connect pages use separate parsers. Images, fonts, media, and common analytics are blocked to reduce traffic. Lookups run sequentially. The complete lookup, including remote connection, is bounded by requestTimeoutSecs; total work is bounded to four minutes with room for finalization. Two consecutive access/service failures stop additional lookups for that carrier. Valid results from other carriers are preserved.

Current limitations (2026-10-15): UPS and FedEx International Connect returned real shipment records during local Oxylabs checks. USPS public tracking failed to load through Oxylabs and returned HTTP 403 access denied through direct HTTP during diagnosis; a USPS timeout is reported as FAILED, never as an empty shipment or a fabricated row. The owner-supplied standard FedEx number exposed a failed shipment-data request followed by a misleading website no-match message. The Actor now reports that as FAILED, and only accepts a no-match outcome when a shipment-data response succeeded. A working authorized standard-FedEx data route remains unverified. Carrier access can vary by network and time. Use the official authenticated carrier APIs for business-critical or high-volume workflows.

The Actor does not bypass a CAPTCHA or authentication wall. An access challenge becomes BLOCKED; a carrier-confirmed inactive or expired number becomes EMPTY; a malformed or ambiguous number becomes REJECTED; a timeout, rendering problem, or upstream defect becomes FAILED. These outcomes have no result-item events. The start event still applies. OUTPUT includes masked warnings, provider, effectiveLimit, and stopReason. Charge limits use the SDK's live per-tier allowance before provider work and before every write. Free-plan runs stop provider work and writes at five valid results.

Run this Actor only for shipments you own, operate, support, or have permission to monitor. Keep runs and datasets private, apply short retention, and avoid publishing recipient names, precise delivery locations, or tracking numbers. The Actor masks tracking numbers in diagnostics and intentionally excludes proof-of-delivery images and signatures. You are responsible for applicable carrier terms, privacy law, contractual duties, and data-retention rules.

This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by the United States Postal Service, United Parcel Service, or FedEx. Carrier names and trademarks are used descriptively to identify public sources.

Support

When reporting a problem, share the Apify run ID, outcome, carrier, and timestamp. Do not post a complete tracking number or recipient data in a public issue; the first two and last four characters are sufficient for most diagnostics.

Pricing

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventPrice (USD)When it is charged
apify-default-dataset-itemFREE: $0.020; BRONZE: $0.0195; SILVER: $0.019; GOLD: $0.016; PLATINUM: $0.016; DIAMOND: $0.016Package tracking result — One schema-valid USPS, UPS, or FedEx tracking record written to the default dataset.
apify-actor-start$0.005 in every tierActor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — At the default 256 MB, one start event per run.

Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.

This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.