ship24
Track parcels worldwide via Ship24 API. Create trackers, get tracking results, monitor delivery status for packages from DHL, FedEx, USPS, DPD, and 1500+ carriers. Use when tracking packages, monitoring deliveries, or checking shipment status.
Best use case
ship24 is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Track parcels worldwide via Ship24 API. Create trackers, get tracking results, monitor delivery status for packages from DHL, FedEx, USPS, DPD, and 1500+ carriers. Use when tracking packages, monitoring deliveries, or checking shipment status.
Teams using ship24 should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ship24/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ship24 Compares
| Feature / Agent | ship24 | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Track parcels worldwide via Ship24 API. Create trackers, get tracking results, monitor delivery status for packages from DHL, FedEx, USPS, DPD, and 1500+ carriers. Use when tracking packages, monitoring deliveries, or checking shipment status.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Ship24 Tracking Skill
Track parcels worldwide using the Ship24 API. Supports 1500+ carriers including DHL, FedEx, USPS, UPS, DPD, China Post, and more.
## Setup
**Get API Key:** https://dashboard.ship24.com/integrations/api-keys
**Store credentials** in `~/.config/ship24/credentials.json`:
```json
{
"api_key": "apik_xxx"
}
```
Or use environment variable: `SHIP24_API_KEY`
## API Base
```
https://api.ship24.com/public/v1
```
**Auth Header:** `Authorization: Bearer YOUR_API_KEY`
---
## Quick Reference
### Create a Tracker
```bash
curl -X POST "https://api.ship24.com/public/v1/trackers" \
-H "Authorization: Bearer $SHIP24_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"trackingNumber": "1234567890",
"courierCode": ["dpd-de"],
"destinationCountryCode": "DE"
}'
```
**Response:**
```json
{
"data": {
"tracker": {
"trackerId": "abc-123-def",
"trackingNumber": "1234567890",
"isSubscribed": true,
"isTracked": true,
"createdAt": "2026-01-15T10:00:00.000Z"
}
}
}
```
### Get Tracking Results
```bash
curl "https://api.ship24.com/public/v1/trackers/$TRACKER_ID/results" \
-H "Authorization: Bearer $SHIP24_API_KEY"
```
**Response:**
```json
{
"data": {
"trackings": [{
"tracker": { "trackerId": "abc-123" },
"shipment": {
"statusCode": "in_transit",
"statusMilestone": "in_transit",
"originCountryCode": "CN",
"destinationCountryCode": "DE"
},
"events": [{
"status": "Parcel is in transit",
"occurrenceDatetime": "2026-01-16T14:30:00",
"location": "Frankfurt, DE",
"statusCode": "in_transit"
}]
}]
}
}
```
### Create Tracker and Get Results (One Call)
```bash
curl -X POST "https://api.ship24.com/public/v1/trackers/track" \
-H "Authorization: Bearer $SHIP24_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"trackingNumber": "1234567890"
}'
```
### List All Trackers
```bash
curl "https://api.ship24.com/public/v1/trackers?page=1&limit=25" \
-H "Authorization: Bearer $SHIP24_API_KEY"
```
### Search by Tracking Number (No Tracker)
```bash
curl -X POST "https://api.ship24.com/public/v1/tracking/search" \
-H "Authorization: Bearer $SHIP24_API_KEY" \
-H "Content-Type: application/json" \
-d '{"trackingNumber": "1234567890"}'
```
---
## Status Codes
| Milestone | Description |
|-----------|-------------|
| `pending` | Tracking created, no events yet |
| `info_received` | Carrier received shipment info |
| `in_transit` | Package in transit |
| `out_for_delivery` | Out for delivery today |
| `delivered` | Successfully delivered |
| `failed_attempt` | Delivery attempt failed |
| `available_for_pickup` | Ready for pickup |
| `exception` | Problem with delivery |
| `expired` | Tracking expired |
**Status Categories:** `pending`, `info_received`, `in_transit`, `out_for_delivery`, `delivery`, `exception`
---
## Common Courier Codes
| Carrier | Code |
|---------|------|
| DHL Express | `dhl` |
| DHL Germany | `dhl-de` |
| DPD Germany | `dpd-de` |
| DPD UK | `dpd-uk` |
| FedEx | `fedex` |
| UPS | `ups` |
| USPS | `us-post` |
| China Post | `china-post` |
| Deutsche Post | `deutsche-post` |
| Hermes Germany | `hermes-de` |
| GLS | `gls` |
Full list: `GET /public/v1/couriers`
---
## Heartbeat Integration
Track deliveries in your heartbeat routine. Store state in your memory file:
```json
{
"deliveries": [
{
"tracking": "1234567890",
"carrier": "DPD",
"description": "New laptop",
"ship24TrackerId": "abc-123-def",
"lastStatus": "in_transit",
"lastCheck": "2026-01-16T10:00:00Z"
}
],
"ship24ApiKey": "apik_xxx"
}
```
**Check routine:**
1. Loop through active deliveries
2. Fetch results for each trackerId
3. Compare status with lastStatus
4. Notify human on significant changes:
- `out_for_delivery` → "Your package is out for delivery today!"
- `delivered` → "Package delivered!" + remove from list
- `exception` → "Delivery problem with [description]"
5. Update lastStatus and lastCheck
---
## Adding a Delivery
When human says "track this package: ABC123":
1. Create tracker:
```bash
curl -X POST "https://api.ship24.com/public/v1/trackers" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"trackingNumber": "ABC123"}'
```
2. Save to memory:
```json
{
"tracking": "ABC123",
"ship24TrackerId": "<trackerId from response>",
"description": "Package from human",
"lastStatus": "pending",
"added": "2026-01-16"
}
```
3. Confirm: "Added tracking for ABC123. I'll let you know when there are updates."
---
## Tips
- **Auto-detect carrier:** Ship24 usually detects the carrier automatically. Only specify `courierCode` if you know it.
- **Destination country:** Helps with detection. Use ISO 2-letter codes (DE, US, CN).
- **Idempotent:** Creating a tracker with the same tracking number returns the existing one.
- **Rate limits:** Check your plan limits at dashboard.ship24.com
- **Webhooks:** For real-time updates, configure webhooks in the dashboard instead of polling.
---
## Error Handling
| Code | Meaning |
|------|---------|
| 401 | Invalid API key |
| 404 | Tracker not found |
| 429 | Rate limit exceeded |
| 422 | Invalid tracking number format |
---
## Links
- **Dashboard:** https://dashboard.ship24.com
- **API Docs:** https://docs.ship24.com
- **OpenAPI Spec:** https://docs.ship24.com/assets/openapi/ship24-tracking-api.yamlRelated Skills
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
solidstart-api-routes
SolidStart API routes: export GET/POST/PATCH/DELETE functions, handle APIEvent with request/params/fetch, GraphQL and tRPC integration, session management.
solidjs
Builds UIs with SolidJS including signals, effects, memos, and fine-grained reactivity. Use when creating high-performance reactive applications, building without virtual DOM, or needing granular updates.
solid-generic
SOLID principles for generic TypeScript, Bun, and Node.js projects. Files < 100 lines, interfaces separated, JSDoc mandatory. Use for CLI tools, libraries, scripts, hooks, and non-framework TypeScript code.
solid-core-rendering
SolidJS rendering: render for client apps, hydrate for SSR, renderToString for server rendering, renderToStream for streaming, isServer checks.
sojustack-best-practices
Best-practice guidance for the SojuStack monorepo (NestJS + Drizzle + Better Auth + TanStack Start). Use when editing files in apps/api or apps/web, designing routes, query/form patterns, auth/transaction flows, or implementing cross-stack features.
software-localisation
Production-grade i18n/l10n patterns for React, Vue, Angular, Next.js, and Node.js. Covers library selection (i18next/react-i18next, FormatJS/react-intl, next-intl, vue-i18n, @angular/localize, Lingui, typesafe-i18n), ICU message format, RTL support, locale routing/detection, TMS integration, string extraction, and CI/CD translation workflows. Use when setting up or debugging localisation in a codebase.
software-frontend
Production-grade frontend development with Next.js 16 App Router, TypeScript 5.9+ strict mode, Tailwind CSS v4, shadcn/ui, React 19.2 Server Components, state management (Zustand/Recoil), performance optimization (Turbopack stable, ISR/SSR/SSG), and accessibility best practices. Includes TanStack Query for server-state, Vitest for testing, and modern React patterns.
software-engineering-lead
Expert software engineering lead who translates product requirements into comprehensive engineering plans using GitHub Projects. Reviews PRDs and user stories, identifies gaps and conflicts, pushes back constructively on poor requirements, applies software engineering best practices, creates detailed technical plans with tasks and milestones, and ensures production-ready architecture. Use when translating product specs into actionable development plans, validating requirements, or designing system architecture.
software-crypto-web3
Use when building blockchain applications or smart contracts across EVM (Solidity), Solana (Anchor/Rust), Cosmos (CosmWasm), and TON, including security/audit workflows, fuzz/invariant testing, upgrades, custody/signing, and backend integration (RPC, indexers, webhooks).
software-code-review
Use when reviewing code, pull requests, or diffs. Provides patterns, checklists, and templates for systematic code review with a focus on correctness, security, readability, performance, and maintainability.
software-architecture
Design scalable software systems with proven architectural patterns (MVC, microservices, event-driven), SOLID principles, system design trade-offs, and architectural decision records (ADRs).