🚀 API Documentation

Free RESTful API for Indian Postal Codes with comprehensive pincode, district, and state information

Get a free API key → 500 calls a day, no card, takes a minute

🔗 API Base URL

https://www.pincodesinfo.in/api/
✨ Free to use: the endpoints in this section are open for personal and commercial use and need no API key. A free key replaces the per-IP rate limit with a daily allowance and unlocks /api/v1/, which returns every office for a PIN in one response — see the plans.

📋 Available Endpoints

GET 1. Get Pincode Details (Recommended)
/api/pincode/{pincode}

Get detailed information for a specific 6-digit PIN code.

GET 2. Search API
/api/search.php?q={query}

Search for PIN codes by office name, district, or state.

GET 3. Get State Information
/api/state/{state-name}

Get districts and PIN codes for a specific state.

GET 4. Get District Information
/api/district/{district-name}

Get PIN codes for a specific district.

⚡ Quick Start

JavaScript / Node.js

const response = await fetch( 'https://www.pincodesinfo.in/api/pincode/110001' ); const data = await response.json(); console.log(data.results);

Python

import requests response = requests.get( 'https://www.pincodesinfo.in/api/pincode/110001' ) data = response.json() print(data['results'])

cURL

curl "https://www.pincodesinfo.in/api/pincode/110001"

PHP

$response = file_get_contents( 'https://www.pincodesinfo.in/api/pincode/110001' ); $data = json_decode($response, true);

⚡ Rate Limits

⏱️ Limit: 30 requests per minute per IP address, plus a burst of about 20 on top — roughly 36 back-to-back requests before throttling begins.

Exceed it and you get 429 Too Many Requests. That 429 body is HTML, not JSON — it comes from the web server, ahead of the application, so a client that runs every response through a JSON decoder will throw here. Check the status code before parsing the body:

<html><head><title>429 Too Many Requests</title></head>…

Successful responses carry X-RateLimit-Limit and X-RateLimit-Window. For bulk work, space requests about two seconds apart rather than bursting, and back off on a 429 rather than retrying straight away.

🔑 Need more than the per-IP allowance?

A free API key replaces the per-IP rate with an allowance of its own, and paid plans raise it from there. The keyed endpoint also answers with every office for a PIN in one response — 110001 has 23, which the paginated endpoint above splits across two pages of 20.

GET /api/v1/pincode.php?pincode={pincode}
curl -H "Authorization: Bearer pk_live_…" \
  "https://www.pincodesinfo.in/api/v1/pincode.php?pincode=110001"

Send the key as Authorization: Bearer <key>, an X-API-Key header, or ?api_key= on the query string — the last one for low-code platforms that cannot set headers on a GET.

Plan Calls Per month
Free 500 /day ₹0
StartUp 40,000 /mo ₹499
Business 400,000 /mo ₹2,499
Enterprise 600,000 /mo ₹3,499

A monthly allowance runs from your own purchase date, not the 1st, and resets at 00:00 IST; the free daily one resets every midnight IST. Paid plans also carry a per-day safety cap, so a runaway loop cannot spend a whole month in an afternoon — hitting it does not touch your monthly balance. The endpoints above stay open and unkeyed: nothing you have already built needs changing.

Get your free key →

📞 Support & Resources

📖 Full Documentation

Download the complete API documentation in Markdown format.

Download MD

🔒 Security

Report security vulnerabilities responsibly.

Security Policy

📜 Legal

Review our terms of service and privacy policy.

Terms Privacy