India Post Tracking Document API

India Post Tracking API provides real-time tracking information for India Post consignments using a valid tracking number. It returns booking details, shipment movement history, current status, and delivery information. The API supports tracking for Speed Post, Registered Post, and other India Post postal services.

API Details

Request URL

POST
https://g99.in/api/track/docs/indiapost
Copied!

Request Body Parameters

Type Name Optional Description
String articleNumber Required The 13-digit Article Number for provided By India Post.

Sample Request Payload

request.json
Copied!
{
  "articleNumber": "ET123489567IN"
}

Request Header Parameters

Type Name Value / Description Optional
String Content-Type application/json Required

Sample Code

request.php
Copied!
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://g99.in/api/track/docs/indiapost',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "articleNumber": "ET123489567IN"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
request.py
Copied!
import requests
import json

url = "https://g99.in/api/track/docs/indiapost"

payload = json.dumps({
  "articleNumber": "ET123489567IN"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
request.cs
Copied!
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://g99.in/api/track/docs/indiapost");
var content = new StringContent("{\r\n  \"articleNumber\": \"ET123489567IN\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

Sample Response

Sample response for valid document

response.json
Copied!
            
          

Error Response

Parameter Type Description
status Number Unique error codes for different errors. Always available.
message String Error message describing the error. Always Available.
error Boolean True / False for different errors. Always available.

Error Codes

HTTP Status Error Code Error Message
400 4001 Malformed data or missing required parameter values.
400 4002 Invalid Article Number Found!.
503 5001 Request could not be processed. Please try again later.

Sample Error Response

response.json
Copied!
{
  "message": "Malformed data or missing required parameter values.",
  "status": 4001,
  "error": True
}