UPS Package Tracking Scraper
Pricing
from $23.99 / 1,000 result items
UPS Package Tracking Scraper
Track UPS packages in bulk from a list of tracking numbers. Returns current status, delivery timestamp, and complete scan event history for each shipment. Supports 1Z, Mail Innovations, FGV, and Freight formats.
Pricing
from $23.99 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
26
Total users
8
Monthly active users
14 days ago
Last modified
Categories
Share
UPS Package Tracking Scraper
Track UPS packages in bulk using only tracking numbers. Get status, delivery date, scan events, and package details for up to a million shipments per run. No API account or login required. Export to CSV, JSON, Excel, or XML.
UPS tracking portals and official APIs require you to look up packages one by one or manage complex authentication. This Actor reads the public tracking feed directly from a list of tracking numbers, supporting standard 1Z, Mail Innovations, FGV, and Freight formats. It returns every package's current status, delivery timestamp, and full scan history in a single flat dataset.
| Who uses it | What they scrape UPS for |
|---|---|
| E-commerce operations managers | Monitor delivery performance across hundreds of daily outgoing orders. |
| Logistics coordinators | Verify bulk shipment statuses for freight and ground packages in one batch. |
| Customer support teams | Pull real-time tracking updates to answer customer delivery inquiries quickly. |
| Data analysts | Collect delivery timelines and scan events to measure carrier performance. |
What it does
This Actor collects UPS package tracking data from a list of tracking numbers and returns each shipment's status, delivery details, and scan events as a structured row.
- ๐ฆ Bulk tracking: Submit a list of tracking numbers and receive the current status for every package in a single run.
- ๐ Multi-locale support: Request tracking responses in your local language and format, such as en_US, fr_FR, or de_DE.
- ๐ Full scan history: Each result includes the complete list of scan events with timestamps, locations, and descriptions.
- ๐ข Flexible format support: Works with standard 1Z tracking numbers, Mail Innovations identifiers, FGV codes, and Freight shipment IDs.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with UPS data
๐ Monitor daily order delivery status.
An e-commerce operations manager uploads a CSV of outbound tracking numbers each morning to identify delayed shipments and update customers proactively.
๐ฆ Audit carrier performance over time.
A logistics analyst scrapes scan event histories for thousands of delivered packages to calculate on-time delivery rates and flag recurring transit bottlenecks.
๐ฌ Power customer support with live tracking data.
A support team integrates the Actor into their internal tool to pull the latest UPS status for any tracking number a customer inquires about.
๐ Localize tracking updates for international recipients.
A global retailer sets the locale parameter to de_DE or fr_FR so tracking responses match the recipient's language and regional format.
Why choose this scraper
| What you get | |
|---|---|
| Bulk processing | Track thousands of packages in one run instead of checking them manually on the UPS website. |
| No API key | Access public tracking data without registering a UPS account or managing OAuth credentials. |
| Structured output | Receive clean, flat rows ready for spreadsheets, databases, or analytics tools. |
| Multi-format input | Mix standard 1Z codes with Mail Innovations, FGV, and Freight tracking numbers in the same request. |
How it compares
No other Store actor targets UPS the same way, so the honest comparison is with the alternatives teams actually weigh.
| UPS Package Tracking Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When UPS changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor with a list of UPS tracking numbers and optionally set a locale for the response language. The maxItems limit controls how many packages are collected per run. The Input tab lists every parameter.
A first run with the defaults:
{"trackingNumbers": ["1Z999AA10123456784"],"maxItems": 10}
A larger pull:
{"trackingNumbers": ["1Z999AA10123456784"],"maxItems": 200}
Pricing
Pay-per-result: $0.03199 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $3.20 |
| 1,000 results | $31.99 |
| 10,000 results | $319.90 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the UPS Package Tracking Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to UPS through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/ups-package-tracking-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results for my tracking numbers?
Check that your tracking numbers are valid and match a supported format like 1Z, Mail Innovations, FGV, or Freight. Also verify that the maxItems parameter is set high enough to include all your input numbers.
The status shows 'Not Found' for a number I know is correct.
UPS may not have scan data available yet for newly created labels. Wait a few hours and retry. If the issue persists, verify the number on the official UPS tracking website to confirm it is active.
My run is taking too long with a large list of tracking numbers.
The Actor processes numbers sequentially. For very large lists, consider splitting them across multiple runs or increasing the Actor's memory allocation in the run settings to improve throughput.
The locale parameter is not changing the response language.
Ensure you are using a valid locale code like en_US, fr_FR, or de_DE. Not all UPS tracking responses are fully localized for every language; some scan event descriptions may remain in English.
I see a proxy or connection error during the run.
This can happen if UPS temporarily blocks the request IP. The Actor uses Apify's proxy rotation. Retry the run, and consider enabling a longer timeout or using residential proxies if the problem repeats.
FAQ
| Question | Answer |
|---|---|
| What tracking number formats does this Actor support? | It supports standard UPS 1Z tracking numbers, Mail Innovations identifiers, FGV codes, and Freight shipment IDs. You can mix different formats in the same input list. |
| Do I need a UPS account or API key to use this? | No. The Actor reads the public UPS tracking feed directly. You do not need to register an application, manage OAuth tokens, or sign up for a UPS API plan. |
| How many tracking numbers can I check in one run? | You can set the maxItems parameter up to 1,000,000 packages per run. The Actor processes the list sequentially and returns one row per tracking number. |
| What data does each result row contain? | Each row includes the tracking number, current package status, scheduled delivery date, actual delivery timestamp, and the full list of scan events with locations and descriptions. |
| Can I get tracking responses in languages other than English? | Yes. Set the locale parameter to a supported value like fr_FR, de_DE, or es_ES to receive status descriptions and scan event text in that language and regional format. |
| Does this Actor work for UPS Freight or Mail Innovations shipments? | Yes. The Actor accepts tracking numbers for UPS Freight, Mail Innovations, and other UPS service types alongside standard ground and air packages. |
| How do I export the tracking results? | You can export the dataset in CSV, JSON, Excel, or XML format directly from the Apify run console or via the API. |
| Is there a rate limit or will UPS block my requests? | The Actor reads public tracking pages at a controlled rate. For very large runs, the platform's proxy rotation helps distribute requests and reduce the chance of blocks. |
| Can I schedule this Actor to run automatically every day? | Yes. You can set up an Apify schedule to run the Actor daily with a fixed list of tracking numbers or feed it a dynamic list from an external API or data source. |
| What happens if a tracking number is invalid or not found? | The Actor returns a row for every input tracking number. If UPS reports the number as invalid or not found, the status field will reflect that error message from UPS. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by United Parcel Service of America, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
