Blue Dart Tracking API
Track Blue Dart express and surface air waybills through a unified REST API with standardized delivery statuses and automated delay insights.
cURL Integration Example
Query live consignment tracking data by passing your ClearTrack API key in the X-API-Key request header:
curl -s -H "X-API-Key: YOUR_API_KEY" \
"https://api.cleartrackpromise.in/v1/track/bluedart/99900011122"
Sample JSON Response
ClearTrack returns a standardized JSON payload with normalized status enums, milestone timestamps, diagnostic insights, and sanitized checkpoint events:
{
"awb": "99900011122",
"tracking_number": "99900011122",
"carrier": "bluedart",
"status": "in_transit",
"status_text": "In Transit - Dispatched to Sorting Hub",
"is_delivered": false,
"is_rto": false,
"origin": {
"office": "Bandra Kurla Complex",
"city": "Mumbai",
"state": "Maharashtra",
"pincode": "400051"
},
"destination": {
"office": "Koramangala Hub",
"city": "Bengaluru",
"state": "Karnataka",
"pincode": "560034"
},
"estimated_delivery_at": "2026-10-18T18:00:00.000Z",
"delivered_at": null,
"first_scan_at": "2026-10-15T10:00:00.000Z",
"last_location": "Bengaluru Sorting Hub",
"last_known_location": "Bengaluru Sorting Hub",
"last_updated_at": "2026-10-16T14:30:00.000Z",
"last_polled_at": "2026-10-16T14:30:00.000Z",
"cached": true,
"stale": false,
"shipment": {
"service_type": "express",
"weight_grams": 450,
"origin": {
"office": "Bandra Kurla Complex",
"city": "Mumbai",
"state": "Maharashtra",
"pincode": "400051"
},
"destination": {
"office": "Koramangala Hub",
"city": "Bengaluru",
"state": "Karnataka",
"pincode": "560034"
},
"booked_at": "2026-10-15T10:00:00.000Z"
},
"milestones": {
"booked_at": "2026-10-15T10:00:00.000Z",
"picked_up_at": "2026-10-15T11:30:00.000Z",
"in_transit_at": "2026-10-15T14:00:00.000Z",
"out_for_delivery_at": null,
"first_attempt_at": null,
"delivered_at": null,
"rto_initiated_at": null,
"rto_delivered_at": null
},
"delivery_attempts": {
"count": 0,
"attempts": []
},
"insights": {
"transit_days_elapsed": 1.2,
"hours_since_last_scan": 4.5,
"is_stuck": false,
"is_late_vs_carrier_edd": false,
"delay_days_vs_carrier_edd": null,
"hub_count": 2,
"current_stage": "in_transit",
"requires_attention": false,
"attention_reason": null,
"benchmark": {
"median_transit_days_for_route": null,
"sample_size": null,
"expected_delivery_by": null
}
},
"events": [
{
"timestamp": "2026-10-16T14:30:00.000Z",
"status": "in_transit",
"status_text": "Item Dispatched to Delivery Facility",
"code": "dispatched",
"facility": "Bengaluru Sorting Hub",
"location": "Bengaluru",
"description": "Item Dispatched to Delivery Facility"
},
{
"timestamp": "2026-10-15T11:30:00.000Z",
"status": "picked_up",
"status_text": "Shipment Picked Up",
"code": "picked_up",
"facility": "Mumbai BKC Facility",
"location": "Mumbai",
"description": "Shipment Picked Up"
}
]
}
Status Mapping: Blue Dart to Normalized Status
Raw status updates and checkpoint descriptions emitted by Blue Dart are mapped into standardized top-level status values and granular code identifiers:
| Carrier Raw Status | Normalized Status (status) |
Event Code (code) |
Description |
|---|---|---|---|
| Manifested / Data Received | shipped |
bagged |
Shipping label manifested; awaiting physical collection at merchant gateway. |
| Picked Up / Collected | picked_up |
picked_up |
Parcel physically collected by Blue Dart courier executive. |
| In Transit / Arrived at Hub | in_transit |
received |
Consignment scanned at intermediate sorting hub or transit gateway. |
| Dispatched to Destination | in_transit |
dispatched |
Consignment departed origin hub on line-haul transit leg. |
| Out for Delivery | out_for_delivery |
out_for_delivery |
Package loaded onto delivery vehicle for final-mile delivery attempt. |
| Delivered | delivered |
delivered |
Package successfully handed over to recipient (terminal state). |
| Undelivered / Failed Attempt | returned |
delivery_attempted |
Delivery attempted but failed due to consignee unavailable, door locked, or address issue. |
| Return to Origin (RTO) | returned |
rto_initiated |
Undelivered package initiated for reverse transit back to origin sender. |
For the comprehensive lifecycle specification across all couriers, see the Shipment Statuses Reference.
Non-Delivery Report (NDR) Reasons
When delivery attempts fail, ClearTrack normalizes unstructured failure remarks into canonical NDR reason codes inside the delivery_attempts array:
| Normalized Reason Code | Diagnostic Category | Meaning |
|---|---|---|
customer_unavailable |
Customer Unavailable | Recipient absent, not answering phone, or requested delivery on future date. |
address_issue |
Address Issue | Incomplete address, missing landmark, or incorrect pin code. |
refused |
Customer Refused | Consignee refused to accept parcel or rejected delivery verification. |
premises_closed |
Premises Closed | Door locked, office, storefront, or residential premises closed. |
cod_not_ready |
COD Payment Not Ready | Cash on delivery amount not available or payment collection failed. |
other |
Operational Exception | Logistics operational hold, weather delay, or regulatory transit hold. |
Learn how to automate buyer re-attempt outreach in our NDR Reason Codes Documentation.
AWB Format
Blue Dart waybill numbers consist of 11 numeric digits (for example, 99900011122). Pass the 11-digit waybill directly into the :awb path parameter.
Frequently Asked Questions
Does Blue Dart have an official tracking API?
Blue Dart provides tracking web services and APIs primarily for its direct enterprise shippers and registered account holders. These integrations typically require establishing a corporate contract, merchant account credentials, and carrier-specific XML/SOAP/REST integration. ClearTrack allows developers to query Blue Dart consignments via a unified REST JSON API without establishing a direct corporate account.
Do I need a Blue Dart account to use ClearTrack?
No. You do not need a Blue Dart corporate account, contracted credentials, or billing relationship. ClearTrack queries consignment status through your provisioned ClearTrack API key.
How fresh is the tracking data?
Active in-transit shipments are cached for up to 30 minutes, ensuring fast response times while protecting against upstream rate limits. Terminal states (delivered, returned, and cancelled) are cached permanently.
What does the tracking API cost?
Pricing is pay-as-you-go in Indian Rupees (₹), ranging from ₹0.25 to ₹0.27 per lookup on prepaid plans with no recurring mandates. We offer a free 14-day trial with 100 lookups for business accounts. View our full pricing plans on the pricing page.
Does retrieving a cached response consume a lookup?
Yes. Every API request consumes exactly 1 lookup from your plan allowance, regardless of whether the response is served from active cache or fetched upstream.
Prepaid Pricing in Indian Rupees (₹)
Simple prepaid lookup packs with no monthly auto-debit mandates, no foreign currency conversion fees, and no contract lock-ins:
Supported Logistics Networks
Track other Indian parcel couriers using the same unified JSON API format:
For a multi-carrier integration overview, read our guide to the Shipment Tracking API in India.
ClearTrack is not affiliated with, endorsed by, or sponsored by any courier company. All trademarks belong to their respective owners.