{
	"info": {
		"_postman_id": "trackcourier-api-collection",
		"name": "TrackcourierAPI",
		"description": "# TrackcourierAPI\n\nUnified courier tracking API for 25+ carriers including DTDC, Blue Dart, Delhivery, FedEx, DHL, and more.\n\n## Getting Started\n\n1. **Get your API key** at [api.trackcourier.io](https://api.trackcourier.io)\n2. **Set environment variable**: Add your API key to the `api_key` variable\n3. **Start tracking**: Use the \"Track Shipment\" request\n\n## Authentication\n\nAll tracking endpoints require an API key via the `X-API-Key` header.\n\n## Rate Limits\n\n| Plan | Requests/month | Rate limit |\n|------|----------------|------------|\n| Free | 100 | 2/sec |\n| Starter (₹499/mo) | 500 | 5/sec |\n| Growth (₹1,999/mo) | 3,000 | 10/sec |\n| Business (₹4,999/mo) | 10,000 | 20/sec |\n\n## Support\n\n- Documentation: [api.trackcourier.io/api/docs](https://api.trackcourier.io/api/docs)\n- Email: support@trackcourier.io",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"auth": {
		"type": "apikey",
		"apikey": [
			{
				"key": "key",
				"value": "X-API-Key",
				"type": "string"
			},
			{
				"key": "value",
				"value": "{{api_key}}",
				"type": "string"
			},
			{
				"key": "in",
				"value": "header",
				"type": "string"
			}
		]
	},
	"item": [
		{
			"name": "Tracking",
			"description": "Track shipments across 25+ courier services.",
			"item": [
				{
					"name": "Track Shipment",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/v1/track?courier=dtdc&tracking_number=D3006092067",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"v1",
								"track"
							],
							"query": [
								{
									"key": "courier",
									"value": "dtdc",
									"description": "Courier slug (e.g., dtdc, bluedart, delhivery)"
								},
								{
									"key": "tracking_number",
									"value": "D3006092067",
									"description": "Tracking/AWB number"
								}
							]
						},
						"description": "Track a shipment by courier and tracking number.\n\n**Response includes:**\n- `ShipmentState`: Current status (delivered, intransit, outfordelivery, etc.)\n- `MostRecentStatus`: Human-readable status\n- `Checkpoints`: Array of tracking events with date, time, location, and activity\n- `usage`: Your current quota usage\n\n**Example tracking numbers by courier:**\n- DTDC: `D3006092067`\n- Blue Dart: `12345678901`\n- Delhivery: `1234567890123`\n- FedEx: `123456789012`"
					},
					"response": [
						{
							"name": "Successful Track",
							"originalRequest": {
								"method": "GET",
								"header": [],
								"url": {
									"raw": "{{base_url}}/v1/track?courier=dtdc&tracking_number=D3006092067",
									"host": [
										"{{base_url}}"
									],
									"path": [
										"v1",
										"track"
									],
									"query": [
										{
											"key": "courier",
											"value": "dtdc"
										},
										{
											"key": "tracking_number",
											"value": "D3006092067"
										}
									]
								}
							},
							"status": "OK",
							"code": 200,
							"_postman_previewlanguage": "json",
							"header": [
								{
									"key": "Content-Type",
									"value": "application/json"
								}
							],
							"body": "{\n  \"success\": true,\n  \"data\": {\n    \"ShipmentState\": \"delivered\",\n    \"MostRecentStatus\": \"Delivered\",\n    \"Checkpoints\": [\n      {\n        \"Date\": \"30-Jan-2026\",\n        \"Time\": \"09:04\",\n        \"Location\": \"Bommanahalli Branch\",\n        \"Activity\": \"Delivered\",\n        \"CheckpointState\": \"delivered\"\n      },\n      {\n        \"Date\": \"30-Jan-2026\",\n        \"Time\": \"07:01\",\n        \"Location\": \"Bommanahalli Branch\",\n        \"Activity\": \"Out For Delivery\",\n        \"CheckpointState\": \"outfordelivery\"\n      },\n      {\n        \"Date\": \"20-Jan-2026\",\n        \"Time\": \"15:16\",\n        \"Location\": \"Rohini Branch\",\n        \"Activity\": \"Booked at Origin Branch\",\n        \"CheckpointState\": \"inforeceived\"\n      }\n    ],\n    \"Result\": \"success\"\n  },\n  \"usage\": {\n    \"used\": 5,\n    \"quota\": 100,\n    \"plan\": \"free\",\n    \"percent\": 5.0\n  }\n}"
						},
						{
							"name": "Quota Exceeded",
							"originalRequest": {
								"method": "GET",
								"header": [],
								"url": {
									"raw": "{{base_url}}/v1/track?courier=dtdc&tracking_number=D3006092067",
									"host": [
										"{{base_url}}"
									],
									"path": [
										"v1",
										"track"
									],
									"query": [
										{
											"key": "courier",
											"value": "dtdc"
										},
										{
											"key": "tracking_number",
											"value": "D3006092067"
										}
									]
								}
							},
							"status": "Payment Required",
							"code": 402,
							"_postman_previewlanguage": "json",
							"header": [
								{
									"key": "Content-Type",
									"value": "application/json"
								}
							],
							"body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"QUOTA_EXCEEDED\",\n    \"message\": \"Monthly quota of 100 requests exceeded. Upgrade at https://api.trackcourier.io/dashboard/billing\"\n  },\n  \"usage\": {\n    \"used\": 100,\n    \"quota\": 100,\n    \"plan\": \"free\",\n    \"percent\": 100.0\n  }\n}"
						}
					]
				},
				{
					"name": "Track - Blue Dart",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/v1/track?courier=bluedart&tracking_number={{bluedart_tracking}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"v1",
								"track"
							],
							"query": [
								{
									"key": "courier",
									"value": "bluedart"
								},
								{
									"key": "tracking_number",
									"value": "{{bluedart_tracking}}"
								}
							]
						},
						"description": "Track a Blue Dart shipment.\n\nBlue Dart tracking numbers are typically 10-11 digits."
					},
					"response": []
				},
				{
					"name": "Track - Delhivery",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/v1/track?courier=delhivery&tracking_number={{delhivery_tracking}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"v1",
								"track"
							],
							"query": [
								{
									"key": "courier",
									"value": "delhivery"
								},
								{
									"key": "tracking_number",
									"value": "{{delhivery_tracking}}"
								}
							]
						},
						"description": "Track a Delhivery shipment.\n\nDelhivery tracking numbers are typically 13-14 digits."
					},
					"response": []
				},
				{
					"name": "Track - Speed Post",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/v1/track?courier=speedpost&tracking_number={{speedpost_tracking}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"v1",
								"track"
							],
							"query": [
								{
									"key": "courier",
									"value": "speedpost"
								},
								{
									"key": "tracking_number",
									"value": "{{speedpost_tracking}}"
								}
							]
						},
						"description": "Track a Speed Post (India Post EMS) shipment.\n\nSpeed Post tracking numbers follow the format: `EE123456789IN`\n\n**Note:** Speed Post tracking may take 10-30 seconds as it requires browser automation."
					},
					"response": []
				},
				{
					"name": "Track - FedEx",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/v1/track?courier=fedex&tracking_number={{fedex_tracking}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"v1",
								"track"
							],
							"query": [
								{
									"key": "courier",
									"value": "fedex"
								},
								{
									"key": "tracking_number",
									"value": "{{fedex_tracking}}"
								}
							]
						},
						"description": "Track a FedEx shipment.\n\nFedEx tracking numbers are typically 12-15 digits."
					},
					"response": []
				},
				{
					"name": "Track - DHL",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/v1/track?courier=dhl&tracking_number={{dhl_tracking}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"v1",
								"track"
							],
							"query": [
								{
									"key": "courier",
									"value": "dhl"
								},
								{
									"key": "tracking_number",
									"value": "{{dhl_tracking}}"
								}
							]
						},
						"description": "Track a DHL shipment.\n\nDHL tracking numbers are typically 10 digits."
					},
					"response": []
				}
			]
		},
		{
			"name": "Couriers",
			"description": "Get information about supported courier services.",
			"item": [
				{
					"name": "List All Couriers",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/v1/couriers",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"v1",
								"couriers"
							]
						},
						"description": "Get a list of all 25+ supported courier services.\n\nReturns courier `slug` (for API calls) and `name` (display name)."
					},
					"response": [
						{
							"name": "Couriers List",
							"originalRequest": {
								"method": "GET",
								"header": [],
								"url": {
									"raw": "{{base_url}}/v1/couriers",
									"host": [
										"{{base_url}}"
									],
									"path": [
										"v1",
										"couriers"
									]
								}
							},
							"status": "OK",
							"code": 200,
							"_postman_previewlanguage": "json",
							"header": [
								{
									"key": "Content-Type",
									"value": "application/json"
								}
							],
							"body": "{\n  \"success\": true,\n  \"data\": {\n    \"couriers\": [\n      { \"slug\": \"bluedart\", \"name\": \"Blue Dart\" },\n      { \"slug\": \"delhivery\", \"name\": \"Delhivery\" },\n      { \"slug\": \"dtdc\", \"name\": \"DTDC\" },\n      { \"slug\": \"indiapost\", \"name\": \"India Post\" },\n      { \"slug\": \"speedpost\", \"name\": \"Speed Post\" },\n      { \"slug\": \"fedex\", \"name\": \"FedEx\" },\n      { \"slug\": \"dhl\", \"name\": \"DHL\" }\n    ],\n    \"count\": 25\n  }\n}"
						}
					]
				},
				{
					"name": "Get Courier Details",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/v1/couriers/dtdc",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"v1",
								"couriers",
								"dtdc"
							]
						},
						"description": "Get details about a specific courier.\n\nReplace `dtdc` in the URL with any courier slug."
					},
					"response": []
				}
			]
		},
		{
			"name": "Plans & Pricing",
			"description": "View available subscription plans. No authentication required.",
			"item": [
				{
					"name": "Get Plans",
					"request": {
						"auth": {
							"type": "noauth"
						},
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/billing/plans",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"billing",
								"plans"
							]
						},
						"description": "Get available subscription plans with pricing.\n\n**No authentication required.**\n\nPricing is in INR (Indian Rupees). Annual plans offer 2 months free."
					},
					"response": [
						{
							"name": "Plans List",
							"originalRequest": {
								"method": "GET",
								"header": [],
								"url": {
									"raw": "{{base_url}}/billing/plans",
									"host": [
										"{{base_url}}"
									],
									"path": [
										"billing",
										"plans"
									]
								}
							},
							"status": "OK",
							"code": 200,
							"_postman_previewlanguage": "json",
							"header": [
								{
									"key": "Content-Type",
									"value": "application/json"
								}
							],
							"body": "{\n  \"plans\": [\n    {\n      \"id\": \"starter\",\n      \"name\": \"Starter\",\n      \"monthly_price\": 499,\n      \"yearly_price\": 4990,\n      \"yearly_available\": true,\n      \"quota\": 500,\n      \"rate_limit\": 5\n    },\n    {\n      \"id\": \"growth\",\n      \"name\": \"Growth\",\n      \"monthly_price\": 1999,\n      \"yearly_price\": 19990,\n      \"yearly_available\": true,\n      \"quota\": 3000,\n      \"rate_limit\": 10\n    },\n    {\n      \"id\": \"business\",\n      \"name\": \"Business\",\n      \"monthly_price\": 4999,\n      \"yearly_price\": 49990,\n      \"yearly_available\": true,\n      \"quota\": 10000,\n      \"rate_limit\": 20\n    }\n  ]\n}"
						}
					]
				}
			]
		}
	],
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"type": "text/javascript",
				"exec": [
					"// Auto-check for successful response",
					"pm.test(\"Status code is 200\", function () {",
					"    pm.response.to.have.status(200);",
					"});",
					"",
					"pm.test(\"Response is JSON\", function () {",
					"    pm.response.to.be.json;",
					"});"
				]
			}
		}
	],
	"variable": [
		{
			"key": "base_url",
			"value": "https://api.trackcourier.io",
			"type": "string"
		},
		{
			"key": "api_key",
			"value": "YOUR_API_KEY_HERE",
			"type": "string"
		},
		{
			"key": "bluedart_tracking",
			"value": "12345678901",
			"type": "string"
		},
		{
			"key": "delhivery_tracking",
			"value": "1234567890123",
			"type": "string"
		},
		{
			"key": "speedpost_tracking",
			"value": "EE123456789IN",
			"type": "string"
		},
		{
			"key": "fedex_tracking",
			"value": "123456789012",
			"type": "string"
		},
		{
			"key": "dhl_tracking",
			"value": "1234567890",
			"type": "string"
		}
	]
}
