CargoCharges Shipping API
Integrate international courier shipping from India into your app, Shopify store, or e-commerce platform. Compare real-time rates from DHL, FedEx, UPS and more. Book shipments and track parcels to 220+ countries — all via a simple REST API.
Authentication
All API requests require an API key for authentication. You can pass it via a request header or as a query parameter.
API Key
X-API-Key: cc_live_your_api_key_here
?api_key=cc_live_your_api_key_here
API keys follow the format: cc_live_ followed by 32 hexadecimal characters.
Important: Your API key will be sent to your registered email address after sign up. Keep it secure — do not expose it in client-side code or public repositories.
Base URL
https://cargocharges.com/api/v1/
All endpoints are relative to this base URL. Requests must use HTTPS.
Rate Limits
API calls are rate-limited based on your plan tier. Exceeding the limit returns HTTP 429.
| Tier | Requests / Minute | Daily Limit |
|---|---|---|
| Free | 60 | Unlimited |
| Basic | 120 | Unlimited |
| Pro | 300 | Unlimited |
| Enterprise | 1,000 | Unlimited |
Rate limit headers are included in every response:
X-RateLimit-Limit: 60X-RateLimit-Remaining: 58
Error Handling
Errors return a consistent JSON structure with an error code and message:
Error Codes
| Code | HTTP | Description |
|---|---|---|
MISSING_API_KEY | 401 | No API key provided in request |
INVALID_API_KEY | 401 | API key not found, inactive, or revoked |
RATE_LIMIT_EXCEEDED | 429 | Too many requests — wait and retry |
MISSING_COUNTRY | 400 | Country parameter is required |
INVALID_WEIGHT | 400 | Weight must be between 0.5 and 300 KG |
NO_RATES | 404 | No shipping rates found for this route |
BLOCKED_COMMODITY | 422 | This commodity cannot be shipped to destination |
NOT_FOUND | 404 | Shipment or resource not found |
DB_ERROR | 503 | Service temporarily unavailable |
Get Shipping Rates
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| country | string | Required | Destination country name or code (e.g. "USA", "United Kingdom") |
| weight | number | Required | Package weight in KG (0.5 – 300) |
| commodity | string | Optional | Item type: clothes, electronics, documents, medicine, food, cosmetics, etc. |
| pickup_city | string | Optional | Pickup city in India (default: Delhi) |
List Countries
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| search | string | Optional | Filter countries by name (e.g. "united", "aus") |
Check Serviceability
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| country | string | Required | Destination country |
| weight | number | Optional | Package weight in KG (default: 5) |
| commodity | string | Optional | Check commodity restrictions |
| pincode | string | Optional | Pickup pincode in India |
Track Shipment
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| awb | string | Required | AWB / Tracking number |
Create Booking
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
| sender.name | string | Required | Sender full name |
| sender.phone | string | Required | Sender phone number |
| sender.email | string | Optional | Sender email |
| sender.address | string | Required | Pickup address |
| sender.city | string | Required | Pickup city |
| sender.pincode | string | Required | Pickup pincode |
| Receiver | |||
| receiver.name | string | Required | Receiver full name |
| receiver.phone | string | Required | Receiver phone |
| receiver.address | string | Required | Delivery address |
| receiver.city | string | Required | Delivery city |
| receiver.country | string | Required | Destination country |
| receiver.zipcode | string | Optional | Destination ZIP code |
| Shipment | |||
| shipment.weight | number | Required | Weight in KG |
| shipment.commodity | string | Required | Item type |
| shipment.carrier | string | Optional | Preferred carrier (DHL, FedEx, etc.) |
| shipment.description | string | Optional | Package description |
| shipment.declared_value | number | Optional | Declared value in INR |
| shipment.pieces | number | Optional | Number of pieces (default: 1) |
| reference_id | string | Optional | Your order/reference ID |
Embeddable Widget
Add a shipping rate calculator to any website with just 2 lines of code. No backend required.
Widget Attributes
| Attribute | Values | Description |
|---|---|---|
data-api-key | Your API key | Required — authenticates widget requests |
data-theme | light / dark | Widget color theme |
data-country | e.g. "USA" | Pre-select destination country |
data-show-book | true / false | Show "Book Now" button |
Pricing
Start free and scale as you grow. All plans include access to every endpoint.
- All 5 endpoints
- 220+ countries
- Email support
- "Powered by" backlink required
- Everything in Free
- Priority email support
- Backlink shown (smaller)
- Everything in Basic
- White-label (no branding)
- Priority WhatsApp support
- Webhook notifications
- Everything in Pro
- Dedicated account manager
- SLA guarantee
- Custom integration support
Support
Need help integrating? Our team is ready to assist.
| [email protected] | |
| +91-7861011111 | |
| Website | cargocharges.com |
© 2026 CargoCharges.com — Invented Ideas Pvt Ltd. All rights reserved.