Discover/Com API
live

Com APItracktrace.dpd.com.pl

Track DPD Poland parcels by parcel number, reference, awizo, or order number. Returns event history, timestamps, depot info, and delivery status.

This API takes change requests — .
Endpoint health
verified 19m ago
track_parcel
1/1 passing latest checkself-healing
Endpoints
1
Updated
2h ago

What is the Com API?

The DPD Poland Tracking API exposes 1 endpoint — track_parcel — that queries the tracktrace.dpd.com.pl system and returns up to 5 response fields including a full event history array, found status, and descriptive messages. It accepts four distinct identifier types: standard parcel numbers (13–14 digits), reference numbers, awizo/drop-off numbers, and order numbers, making it usable across different points in a shipment workflow.

This call costs2 credits / call— charged only on success
Try it
Type of number being searched. Valid values: "1" = parcel number, "2" = reference number, "3" = awizo/drop-off number, "4" = order number. Omitted defaults to parcel number lookup.
The tracking identifier to look up. Depending on search_type, this can be a DPD parcel number (typically 13-14 digits), a client reference number, an awizo/drop-off number, or an order number.
api.parse.bot/scraper/8663505f-c7eb-44f0-a86b-4cad521ae9c2/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/8663505f-c7eb-44f0-a86b-4cad521ae9c2/track_parcel?search_type=1&parcel_number=01234567890123' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace tracktrace-dpd-com-pl-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: DPD Poland parcel tracking — look up a shipment and inspect events."""
from parse_apis.tracktrace_dpd_com_pl_api import DpdPoland, SearchType, InputFormatInvalid

client = DpdPoland()

# Track a parcel by its DPD parcel number (default search type).
try:
    parcel = client.parcels.get(parcel_number="01234567890123")
except InputFormatInvalid as e:
    print("Invalid input:", e.message)
else:
    print("Found:", parcel.found)
    print("Number:", parcel.parcel_number)

    if parcel.found:
        # Walk the tracking event history.
        for event in parcel.events:
            print(event.date, event.time, event.description)
    else:
        print("Message:", parcel.message)

# Look up by reference number using a different search type.
ref_parcel = client.parcels.get(parcel_number="REF-2024-001", search_type=SearchType.REFERENCE_NUMBER)
print("Reference lookup found:", ref_parcel.found)

print("exercised: parcels.get with default and explicit search_type")
All endpoints · 1 totalmissing one? ·

Track a parcel on DPD Poland's tracking system. Accepts a parcel number (or reference/awizo/order number depending on search_type) and returns the tracking status and event history. When the parcel is not found in the system, returns found=false with a descriptive message. A single upstream request is made per call; no pagination.

Input
ParamTypeDescription
search_typestringType of number being searched. Valid values: "1" = parcel number, "2" = reference number, "3" = awizo/drop-off number, "4" = order number. Omitted defaults to parcel number lookup.
parcel_numberrequiredstringThe tracking identifier to look up. Depending on search_type, this can be a DPD parcel number (typically 13-14 digits), a client reference number, an awizo/drop-off number, or an order number.
Response
{
  "type": "object",
  "fields": {
    "found": "boolean indicating whether tracking data was found",
    "events": "array of tracking event objects with date, time, description, and depot fields when available",
    "message": "descriptive message when parcel is not found (null when found)",
    "search_type": "the search type code used",
    "parcel_number": "the tracking number that was searched"
  },
  "sample": {
    "data": {
      "found": false,
      "events": [],
      "message": "There is no trace for this parcel (01234567890123)",
      "search_type": "1",
      "parcel_number": "01234567890123"
    },
    "status": "success"
  }
}

About the Com API

What the API Returns

The track_parcel endpoint returns a structured object with a found boolean, a parcel_number echo, a search_type code, an events array, and a message string. When found is true, the events array contains one object per tracking milestone, each carrying a date, time, description, and depot field. When no record is found, found is false, events is empty, and message provides a plain-text explanation from DPD's system.

Input Parameters

The required input is parcel_number — the identifier string you want to look up. The optional search_type parameter controls how that identifier is interpreted. Omitting search_type defaults to a standard parcel number lookup. Setting it to the appropriate type lets you query by reference number (useful when you assigned your own reference at booking), awizo or drop-off number (used when a courier leaves a collection notice), or order number. This flexibility means integrations can query using whatever identifier is available in their own system.

Behavior and Edge Cases

If DPD Poland has no record for the supplied identifier, the API returns found: false with a non-null message rather than an error status. This means callers should check the found field before iterating over events. Event history depth depends on how far along the shipment is; newly created labels may return found: true with an empty or minimal events array. The depot field in each event identifies the DPD depot or facility associated with that scan, which can be useful for pinpointing where a delay occurred.

Reliability & maintenanceVerified

The Com API is a managed, monitored endpoint for tracktrace.dpd.com.pl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tracktrace.dpd.com.pl changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official tracktrace.dpd.com.pl API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
19m ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Poll track_parcel on a schedule to detect status changes and trigger customer notification emails when the description field updates.
  • Build an order management dashboard that displays the latest events entry per shipment alongside the event date and time.
  • Identify stuck shipments by checking whether the most recent event date is older than a configurable threshold.
  • Look up parcels using a seller's own reference number via search_type to reconcile internal order IDs with DPD tracking data.
  • Handle awizo (missed-delivery notice) numbers to let customers self-serve rescheduling or drop-off lookup by passing the awizo code.
  • Aggregate depot-level delay patterns by grouping events where depot appears repeatedly without a forward-progress description.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does DPD Poland offer an official developer API for tracking?+
DPD Poland provides a business integration API documented at https://dpd.com.pl for contracted shipping customers, covering label generation and tracking. That API requires a commercial DPD account and credential setup. The Parse API here exposes the public tracking surface without requiring a DPD business account.
What does the `events` array actually contain, and is there a way to get only the latest status?+
Each object in events has four fields: date (e.g. '2024-05-10'), time (e.g. '14:32'), description (a plain-text status like 'Parcel delivered'), and depot (the DPD facility name). The array is ordered chronologically as returned by DPD's system. The API does not expose a separate 'latest status only' field, so to get the current status you read the last element of the events array.
Does the API support tracking parcels from other DPD country networks, such as DPD Germany or DPD UK?+
No — the endpoint queries tracktrace.dpd.com.pl, which covers DPD Poland shipments only. Parcels handled by other national DPD entities will not be found. You can fork this API on Parse and revise it to point at the equivalent tracking domain for another DPD country network.
Can I track multiple parcels in a single API call?+
The track_parcel endpoint accepts one parcel_number per request. Bulk lookup is not currently supported. You can fork this API on Parse and revise it to add a batch endpoint that iterates over a list of identifiers.
What happens if a parcel number exists in DPD's system but has no scan events yet?+
The API returns found: true with an empty events array. This typically occurs when a shipping label has been generated but the parcel has not yet been scanned into the DPD network. The message field will be null in this case, so found is the reliable signal for whether DPD recognises the identifier.
Page content last updated . Spec covers 1 endpoint from tracktrace.dpd.com.pl.
Related APIs in EcommerceSee all →
dpdgroup.com API
Find nearby DPD parcel shops and access detailed location information, station details, and network statistics across the DPD partner network. Search for parcel shop availability by country and get comprehensive insights into DPD's distribution infrastructure.
track.ukrposhta.ua API
Track parcels sent through Ukrposhta by looking up individual shipments or monitoring multiple packages at once to get real-time delivery status and tracking information. Access detailed tracking page metadata to stay informed about your parcels' locations and delivery progress.
dsv.com API
Track your DSV shipments in real-time using reference numbers like STT numbers, waybill numbers, or container numbers to get up-to-date delivery status and location information. Monitor multiple shipment types across DSV's global network with a single lookup tool.
dhl.com API
Track DHL shipments worldwide by entering a tracking number to retrieve real-time status updates, delivery location details, product information, and a complete history of all shipment events. Monitor packages from origin to destination with comprehensive tracking data.
ups.com API
Track your UPS shipments in real-time by entering a tracking number to get current delivery status, estimated arrival dates, and detailed location milestones. View the complete activity history of your package from pickup through delivery to stay informed every step of the way.
indiapost.gov.in API
Track India Post shipments, money orders, and complaints in real-time using a consignment number, booking reference, or complaint ID. Retrieve delivery status, tracking events, and progress updates for postal items.
fedex.com API
Access data from fedex.com.
tracker.shadowfax.in API
Track Shadowfax shipments in real-time and monitor delivery status, while accessing the company's latest blogs and website configuration details. Validate tracking IDs and retrieve up-to-date content and header announcements from the Shadowfax platform.