17TRACK Package Tracking Scraper avatar

17TRACK Package Tracking Scraper

Pricing

from $3.00 / 1,000 tracked packages

Go to Apify Store
17TRACK Package Tracking Scraper

17TRACK Package Tracking Scraper

Track packages across 17TRACK carriers and export normalized status, routes, delivery estimates, carrier handoffs, and checkpoint history.

Pricing

from $3.00 / 1,000 tracked packages

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Share

Track public package numbers across 17TRACK-supported carriers and export a consistent dataset containing the current shipment status, carrier handoffs, route, delivery estimate, latest checkpoint, and event history.

What this Actor extracts

FieldMeaning
trackingNumberIdentifier supplied in the Actor input
displayTrackingNumberIdentifier shown by 17TRACK
carriers / carrierIdsDetected carriers and 17TRACK carrier IDs
status / statusCategorySource status plus a stable lifecycle category
statusDescriptionLatest public tracking update
originCountry / destinationCountryPublic route countries when available
estimatedDelivery / daysInTransitDelivery window and elapsed transit time
latestEvent / eventsLatest checkpoint and full carrier event history
sourceUrl / retrievedAtProvenance and retrieval timestamp

Use it for order-support workflows, shipment monitoring, logistics analysis, marketplace operations, and carrier-handoff reconciliation. It is not an official 17TRACK API client, does not log into private accounts, and does not bypass CAPTCHA or access controls.

Input

{
"trackingNumbers": ["7777777770"],
"language": "en",
"includeRaw": false,
"requestTimeoutSecs": 45,
"proxyConfiguration": { "useApifyProxy": true }
}

trackingNumbers accepts 1–10 values. The default 7777777770 invokes 17TRACK's public demonstration result and is marked isDemoData: true; replace it with real package IDs for production use. Duplicate numbers are removed. Invalid IDs are reported in OUTPUT and never billed as results.

language localizes page text. includeRaw keeps the page-owned structured shipment object when available. requestTimeoutSecs is a per-package bound. Apify Proxy is enabled by default; select a residential group only if the standard cloud route is challenged.

Output example

{
"trackingNumber": "7777777770",
"displayTrackingNumber": "TestNumber00017",
"carrierIds": [],
"carriers": ["USPS(International Parcels)", "China Post"],
"status": "In transit",
"subStatus": null,
"statusDescription": "CHINA,WUHAN, Processed Through Facility",
"statusCategory": "in_transit",
"daysInTransit": 5,
"originCountry": "China",
"destinationCountry": "United States",
"estimatedDelivery": "2022-04-05 - 2022-04-06",
"latestEvent": {
"timestamp": "2022-03-25 19:57",
"description": "CHINA,WUHAN, Processed Through Facility",
"location": "CHINA",
"carrier": null
},
"events": [],
"sourceUrl": "https://t.17track.net/en#nums=7777777770",
"retrievedAt": "2026-09-09T00:00:00.000Z",
"isDemoData": true,
"raw": null
}

The default dataset stays homogeneous: only validated package records are written. OUTPUT in the default key-value store contains DATA, EMPTY, BLOCKED, REJECTED, or FAILED, plus attempted/delivered counts and warnings.

Pricing

This Actor uses pay per event.

EventPrice
Actor start$0.00005
One tracked package record$0.03

One delivered package therefore costs about $0.03005; five delivered records cost about $0.15005. Empty, blocked, invalid, and failed lookups do not create dataset-item charges. Apify enforces the run charge cap before additional lookups begin.

Reliability and limits

The Actor opens the public 17TRACK result page in a consistent Chrome session and captures the structured page-owned tracking response. If that structure is unavailable, it falls back to the rendered tracking view. A blocked lookup is retried once with a fresh browser/proxy session. HTTP 403/429, verification pages, upstream failure, no-match results, and timeouts remain distinct diagnostics.

Results depend on what 17TRACK and the underlying carriers expose publicly. Newly created labels may take 24–48 hours to appear. Some carriers limit request volume or destination detail, and 17TRACK may require verification during high-risk traffic. The Actor will not solve CAPTCHAs or fabricate missing shipments.

API example

curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"trackingNumbers":["YOUR_TRACKING_NUMBER"],"language":"en","includeRaw":false,"requestTimeoutSecs":45}'

Avoid placing real tracking numbers in public logs or shared Task presets. Tracking history can reveal approximate locations and shipping relationships; retain and share output only for legitimate package-support and logistics purposes. Use of this Actor must comply with 17TRACK's terms, carrier terms, privacy law, and applicable platform rules. 17TRACK and carrier names are used descriptively; this Actor is not affiliated with or endorsed by them.