India Postal PIN Code API
Free India PIN code API with no key: look up post offices, district, state and delivery status for any Indian postal code, or search by name. Tested.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the India Postal PIN Code API?
The India Postal PIN Code API is a free, key-free API that resolves any Indian PIN code into its post offices, with branch type, delivery status, district, division and state.
India's postal system maps a single six-digit PIN code to potentially many post offices across an area, which is why this API returns an array rather than one address. That is a genuine difference from Western postcode systems and shapes how you use it.
For address forms the practical pattern is to take the district and state from the first result — those are consistent across the array — and let the user pick the specific post office if you need that granularity.
Quick facts
- Base URL
https://api.postalpincode.in- Authentication
- No API key required.
- Rate limit
- No published limit; fair use expected.
- Pricing
- Free.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the India Postal PIN Code API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. Look up an Indian PIN code
GET https://api.postalpincode.in/pincode/110001
curl 'https://api.postalpincode.in/pincode/110001'const res = await fetch("https://api.postalpincode.in/pincode/110001");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.postalpincode.in/pincode/110001", timeout=20)
res.raise_for_status()
print(res.json())[
{
"Message": "Number of pincode(s) found:21",
"Status": "Success",
"PostOffice": [
{
"Name": "Baroda House",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Delhi",
"District": "Central Delhi",
"Division": "New Delhi Central",
"Region": "Delhi",
"Block": "New Delhi",
"State": "Delhi",
"Country": "India",
"Pincode": "110001"
},
{
"Name": "Bengali Market",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Delhi",
"District": "Central Delhi",
"Division": "New Delhi Central",
"Region": "Delhi",
"Block": "New Delhi",
"State": "Delhi",
"Country": "India",
"Pincode": "110001"
},
{
"Name": "Bhagat Singh Market",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Delhi",
"District": "Central Delhi",
"Division": "New Delhi Central",
"Region": "Delhi",
"Block": "New Delhi",
"State": "Delhi",
"Country": "India",
"Pincode": "110001"
},
{
"Name": "Connaught Place",
"Description": null,
"BranchType": "Sub Post Office",
"DeliveryStatus": "Non-Delivery",
"Circle": "Delhi",
"District": "Central Delhi",
"Division": "New Delhi Central",
"Region":Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
pincode/<code> | path | Optional | Six-digit PIN code lookup. pincode/110001 |
postoffice/<name> | path | Optional | Search post offices by name. postoffice/Baroda%20House |
Response fields
[0].Statusstring- Success or Error — check before reading PostOffice.
[0].Messagestring- How many post offices were found.
[0].PostOfficearray- Matching post offices — often several for one PIN.
...Namestring- Post office name.
...BranchTypestring- Head, Sub or Branch Post Office.
...DeliveryStatusstring- Delivery or Non-Delivery office.
...District / State / Divisionstring- Administrative location.
What you can build with the India Postal PIN Code API
- Autofill district and state from a PIN code in Indian address forms
- Validate that a PIN code exists before accepting an order
- Determine serviceability from delivery status
- Build a post office locator
Common errors and how to fix them
Status: Error
The PIN code does not exist.
Fix: The response is HTTP 200 with Status: Error — check the field, not the status code.
Response is an array wrapping everything
The top level is an array with one element.
Fix: Read response[0].PostOffice rather than response.PostOffice.
Many post offices for one PIN
Indian PIN codes cover areas, not single addresses.
Fix: Take district and state from the first entry; let the user choose the specific office if needed.
India Postal PIN Code API — frequently asked questions
Is there a free India PIN code API?
Yes, api.postalpincode.in resolves PIN codes to post offices, district and state with no API key required.
Why does one PIN code return several post offices?
Indian PIN codes cover a delivery area that can contain multiple post offices. District and state are consistent across them, so take those from the first result.
How do I tell if an address is deliverable?
Each post office has a DeliveryStatus field marking it as a Delivery or Non-Delivery office, which is a useful serviceability signal.
Why does the response start with an array?
The API wraps everything in a single-element array, so read response[0].PostOffice rather than accessing it directly.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
India Postal PIN Code is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.