indiapost.gov.in APIwww.indiapost.gov.in ↗
Track India Post consignments, money orders, and complaints via API. Get booking details, delivery status, and event history for any India Post article number.
curl -X GET 'https://api.parse.bot/scraper/8de3ccc8-6d51-44d6-b6cf-a6eb5a9ce092/track_consignment?consignment_number=EM234567890IN' \ -H 'X-API-Key: $PARSE_API_KEY'
Track a consignment/article by its tracking number. Returns booking details, tracking events, and delivery status from India Post's tracking system.
| Param | Type | Description |
|---|---|---|
| consignment_numberrequired | string | India Post consignment/article number in format XX123456789XX (2 uppercase letters + 9 digits + 2 uppercase letters, e.g. EE123456789IN) |
{
"type": "object",
"fields": {
"booking_details": "object containing article_number, article_type, booking_date, booking_office_name, booking_pin, destination_office_name, destination_pincode, destination_city, weight_value, tariff, cod_amount, source_country, destination_country, delivery_confirmed_on",
"delivery_status": "object containing del_status field indicating current delivery state",
"tracking_details": "array of tracking event objects or null if no events available",
"consignment_number": "string, the tracked consignment number"
},
"sample": {
"data": {
"booking_details": {
"tariff": "0",
"cod_amount": "0",
"booking_pin": null,
"article_type": null,
"booking_date": null,
"weight_value": null,
"article_number": null,
"source_country": null,
"destination_city": null,
"booking_office_name": null,
"destination_country": null,
"destination_pincode": null,
"delivery_confirmed_on": null,
"destination_office_name": null
},
"delivery_status": {
"del_status": "auto"
},
"tracking_details": null,
"consignment_number": "EE123456789IN"
},
"status": "success"
}
}About the indiapost.gov.in API
The India Post API provides 4 endpoints covering consignment tracking, money order status, booking reference lookups, and complaint tracking against India Post's postal network. The track_consignment endpoint returns structured booking details, a full array of tracking events, and a current delivery status for any valid article number in the standard XX123456789XX format.
Consignment and Reference Tracking
The track_consignment endpoint accepts an article number in the format of 2 uppercase letters, 9 digits, and 2 uppercase letters (e.g., EE123456789IN). The response includes a booking_details object with fields like article_number, article_type, booking_date, booking_office_name, booking_pin, destination_office_name, and destination_pin. The delivery_status object surfaces a del_status field indicating the current state of the item. The tracking_details array contains timestamped events showing the article's movement through the postal network, or null when no events are yet recorded.
The track_by_reference endpoint accepts a booking reference number — alphanumeric, including / and -, up to 23 characters — and returns an articles array listing all consignments associated with that reference. This is useful when a single booking generates multiple article numbers.
Money Orders and Complaints
The track_money_order endpoint accepts a money order number that is exactly 10 or 18 digits. The response nests under tracking_data and includes a booking_details object with fields pnr_no, booked_at, booked_on, payment_location, and payment_confirmed_on, alongside a tracking_details array showing the order's progression toward payment confirmation.
The track_complaint endpoint takes a complaint ID and returns a complaint_data object with tracking details from India Post's complaints system. This allows applications to programmatically monitor the resolution status of registered postal complaints without manual lookups on the India Post portal.
- Embed live India Post delivery status into an e-commerce order management dashboard using
track_consignment - Send automated delivery event notifications to customers by polling
tracking_detailsarrays for new entries - Look up all consignment numbers tied to a bulk booking using
track_by_referencewith a single reference ID - Monitor money order payment confirmation status by checking
payment_confirmed_onfromtrack_money_order - Build a complaint status tracker for postal service teams using
track_complaintandcomplaint_data - Validate successful article dispatch by checking
booking_dateandbooking_office_namefrombooking_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does India Post offer an official developer API?+
What does `track_consignment` return beyond the current delivery status?+
del_status field in the delivery_status object, the endpoint returns a full booking_details object covering article_type, booking_date, booking_office_name, booking_pin, destination_office_name, and destination_pin, plus a tracking_details array of timestamped movement events. The array is null if no scan events have been recorded yet.Can I look up speed post or registered mail rates and postage prices through this API?+
Are there limitations on which article number formats are accepted by `track_consignment`?+
consignment_number parameter must follow the exact format of 2 uppercase letters, then 9 digits, then 2 uppercase letters (e.g., RX987654321IN). Numbers that deviate from this pattern — such as domestic registered mail with different structures or old-format numbers — will not be accepted. The track_by_reference endpoint covers cases where a reference rather than an article number is available.