Ship24 Order Tracking
Ship24 Order Tracking Track parcels across 2,500+ carriers and 3PLs worldwide — create trackers, pull live delivery status and full event history, search…
What it can do
- Create Tracker: Creates a new tracker for a tracking number. Use when the user explicitly wants ongoing monitoring or webhook updates; results arrive asynchronously — for immediate results use track o
- List Trackers: Returns a paginated list of all trackers. Supports offset (page/limit) or cursor-based pagination. Filter by subscription status with isSubscribed.
- Bulk Create Trackers: Creates up to 100 trackers in one request. Each tracker object accepts the same fields as create_tracker — see that tool for field details. Not fully idempotent: retrying a faile
What data it sees
Do you need an account
An API key from the service settings is required
Ship24 Order Tracking
Track parcels across 2,500+ carriers and 3PLs worldwide — create trackers, pull live delivery status and full event history, search couriers, and replay webhook deliveries, all from one MCP server backed by the Ship24 tracking API.
No account is required to explore the server: every tool is discoverable and its schema readable with no API key. You only need a key (get one free) once you want a tool to actually return tracking data.
What you can do with it
- Track a shipment in one call. Give it a tracking number and get back current status, full event history, and delivery estimates — no need to know the carrier in advance. Ship24 auto-detects the courier from 2,500+ supported carriers and postal operators.
- Manage trackers at scale. Create trackers one at a time or in bulk, list and paginate through everything on the account, update tracker settings, or look one up by your own reference ID instead of the tracking number.
- Search without creating a tracker. Run a one-off lookup or search by tracking number when you just want an answer, not a persistent tracker.
- Look up courier metadata. Get the full list of supported couriers, their codes, and what additional fields (postcode, country, account number) each one needs for accurate tracking.
- Debug and replay webhooks. Pull the full webhook delivery history for a tracker, or trigger a resend if your endpoint missed a push.
Tools (12)
| Tool | What it does |
|---|---|
create_tracker |
Register a new tracker for a tracking number and start monitoring it. |
list_trackers |
List and paginate trackers on the account. |
bulk_create_trackers |
Create many trackers in a single call, with per-item success/error reporting. |
track |
Create a tracker and return its tracking results in one round trip. |
get_tracker |
Fetch a single tracker by ID. |
update_tracker |
Update a tracker's reference, settings, or subscription state. |
get_tracking_results |
Full event history and delivery statistics for a tracker. |
search_tracking_by_number |
Look up existing tracking results by tracking number, no tracker ID needed. |
search_tracking |
One-off tracking lookup without creating a persistent tracker. |
get_couriers |
List all supported couriers, their codes, and required fields. |
resend_webhooks |
Replay webhook deliveries for a tracker. |
download_webhook_history |
Full webhook push history for a tracker, newest first. |
Example prompts
- "Track this DHL package: 1234567890 and tell me if it's delayed."
- "Create trackers for these 40 order numbers and flag any that fail."
- "What couriers does Ship24 support in Germany, and which ones need a postcode to track accurately?"
- "Show me the full delivery history for tracker
abc123, including every status change." - "Did the webhook for order #4471 actually get delivered to our endpoint? Show me the last few pushes."
Authentication
Connect with your Ship24 API key (starts with apik_) — paste it into the
ship24ApiKey field when configuring the connection. Leave it blank to browse the tool
list first; a key is only required once a tool needs to return real data. Keys are issued
from the Ship24 dashboard.
Links
- Docs: docs.ship24.com
- API reference: docs.ship24.com/api-reference
- Get an API key: dashboard.ship24.com/integrations/api-keys
Server tool list (12)
Raw names from tools/list. Only developers need these.
| create_tracker | Creates a new tracker for a tracking number. Use when the user explicitly wants ongoing monitoring or webhook updates; results arrive asynchronously — for immediate results use track or search_tracking. Idempotent: same parameters reuse the existing tracker; any field change creates a new one. Subscribes to webhook updates if configured. Returns the created tracker including its Ship24 trackerId. |
| list_trackers | Returns a paginated list of all trackers. Supports offset (page/limit) or cursor-based pagination. Filter by subscription status with isSubscribed. |
| bulk_create_trackers | Creates up to 100 trackers in one request. Each tracker object accepts the same fields as create_tracker — see that tool for field details. Not fully idempotent: retrying a failed bulk request may partially create trackers. Returns counts of created, ignored (duplicate), and failed trackers plus per-item details. |
| track | Creates a persistent tracker on the account AND returns full tracking results synchronously in one call (per-shipment plan). Idempotent: same payload reuses the existing tracker. Prefer search_tracking for one-off lookups when the per-call plan is available. If the returned shipment is still pending with no events, call get_tracking_results once with the returned trackerId before answering. Accepts the same fields as create_tracker — see that tool for field details. |
| get_tracker | Retrieves a single tracker by trackerId (or clientTrackerId when searchBy is set). Returns tracker metadata only — use get_tracking_results for events and status. |
| update_tracker | Partially updates a tracker (PATCH). Only provided fields are changed. Common uses: toggling isSubscribed, correcting destination details, or setting a clientTrackerId. |
| get_tracking_results | Returns full tracking results for an existing tracker: metadata, shipment status, all events in order, and delivery statistics. Primary tool for "where is my package?" when you have a trackerId. statusMilestone values: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception. |
| search_tracking_by_number | Returns existing tracking results for a raw tracking number across trackers already on the account, without needing a trackerId. Free read: never creates a tracker and never triggers a new crawl. Responds 404 tracker_not_found if no tracker exists for that number — in that case use search_tracking (per-call) or track (per-shipment). Use this first when a tracker may already exist. |
| get_couriers | Returns the list of all couriers supported by Ship24, including their unique courier codes, human-readable names, and any special tracking requirements. Use this tool to discover valid courierCode values before creating or updating trackers, or to help identify which courier handles a particular tracking number format. Note: this endpoint has a rate limit of 1 request/second; cache results when possible. |
| search_tracking | Default tool for one-off tracking lookups ('track X', 'where is my package'). Synchronous per-call plan endpoint: returns full results (status, events, statistics) immediately and creates NO tracker on the account. Billed per call. Requires an active per-call plan — if it fails with no_active_subscription, use the track tool instead. |
| resend_webhooks | Replays all webhook events for a tracker. Use when your endpoint missed or failed to process previous notifications. Terminates any in-flight webhook delivery for this tracker and invalidates its existing webhook payload records before regenerating and resending them — do not call repeatedly in quick succession. Rate-limited to 1 request/second per tracker. |
| download_webhook_history | Retrieves the full webhook push history for a tracker. Returns metadata (trackingNumber, trackerId, clientTrackerId, webhookUrl, lastSuccessfulPushAt, lastFailedPushAt) and a list of all sent or failed pushes with status, pushTimestamp, requestBody, responseBody, responseHeaders, and responseStatusCode. Pending (unsent) webhooks are excluded. Results are sorted newest first. Rate-limited to 1 request/second per tracker. |