Docs/APIs/India Pincode Lookup

India Pincode Lookup

Indian PIN Codes and Post Offices

OperationalCredits 2 per callp50 145msGeographyStar

Overview

A pincode lookup API built from the All India Pincode Directory published by the Department of Posts, Government of India. One call returns the full picture for a PIN code: district and state with its ISO 3166-2:IN code, the India Post circle, region and division, a coordinate taken as the median of its offices, and every post office under the PIN marked as head, sub or branch office with its delivery status and own coordinates. Reverse lookups find PIN codes by post office name, district or state. The coordinates and the post office list are on paid plans, as is nearby=true, which lists the PIN codes within a radius of up to 50 km, nearest first.

Live Test India Pincode Lookup API →

Endpoint

One host, one path per API. The block below shows this call in four languages; every one of them is the same HTTP request. Making requests covers the timeouts, retries and parameter rules that apply to all of them. The SDKs wrap the same call in a typed client.

GEThttps://api.apiverve.com/v1/indiapincode
curl "https://api.apiverve.com/v1/indiapincode?pincode=110001&office=Connaught%20Place&district=Pune&state=Maharashtra&nearby=true&radius=10&limit=10" \
  -H "x-api-key: your_api_key_here"

Replace your_api_key_here with the key from your dashboard. When the inputs arrive as a list rather than one at a time, batch requests run up to 200 of them through this same API in a single call.

Authentication

Send your key in the x-api-key header. That is the only auth step — there is no token exchange and no per-endpoint scope to configure. Authentication covers creating, rotating and revoking keys.

401 is the only auth verdict

A 401 means the key is missing, invalid or expired. A 403 means the key is valid but not permitted here — blocked by a key restriction or an IP allow-list. Running out of credits is a 429.

Parameters

Sent in the query string. Premium parameters are accepted on every plan but only take effect on plans that include them.

ParameterTypeDescription
pincodeOptionalstringSix-digit PIN code
officeOptionalstringPost office name or part of it
length 0–100
districtOptionalstringDistrict name
length 0–80
stateOptionalstringState or union territory name
length 0–80
nearbyOptionalPremiumbooleanWith pincode, include the PIN codes within radius km
radiusOptionalnumberRadius in km for nearby (1-50)
default 10 · range 1–50
limitOptionalintegerMaximum PIN codes to return for searches (1-50)
default 10 · range 1–50

Response

Every API returns the same three top-level keys, so one response handler covers your whole integration: status, error and data. Only data changes shape. Response format covers the envelope, the other output formats and how premium fields are withheld.

Sample response
{
  "status": "ok",
  "error": null,
  "data": {
    "count": 1,
    "totalMatches": 1,
    "results": [
      {
        "pincode": "560001",
        "district": "Bengaluru Urban",
        "state": "Karnataka",
        "stateCode": "KA",
        "circle": "Karnataka Circle",
        "region": "Bengaluru HQ Region",
        "division": "BANGALORE GPO DIVISION",
        "latitude": 12.98247,
        "longitude": 77.59456,
        "timezone": "Asia/Kolkata",
        "postOfficeCount": 10,
        "deliveryOfficeCount": 1,
        "postOffices": [
          {
            "name": "Bengaluru G.P.O.",
            "officeType": "head_office",
            "delivery": true,
            "latitude": 12.9716,
            "longitude": 77.59456
          },
          {
            "name": "Bengaluru Foreign Post S.O",
            "officeType": "sub_office",
            "delivery": false,
            "latitude": 13.03,
            "longitude": 77.6007
          },
          {
            "name": "CMM Court Complex S.O",
            "officeType": "sub_office",
            "delivery": false,
            "latitude": 12.97949,
            "longitude": 77.59418
          },
          {
            "name": "Dr. Ambedkar Veedhi S.O",
            "officeType": "sub_office",
            "delivery": false,
            "latitude": 12.98114,
            "longitude": 77.59536
          },
          {
            "name": "HighCourt S.O",
            "officeType": "sub_office",
            "delivery": false,
            "latitude": 12.96842,
            "longitude": 77.56919
          },
          {
            "name": "Legislators Home S.O",
            "officeType": "sub_office",
            "delivery": false,
            "latitude": 12.98386,
            "longitude": 77.58961
          },
          {
            "name": "Mahatma Gandhi Road S.O",
            "officeType": "sub_office",
            "delivery": false,
            "latitude": 12.16103,
            "longitude": 78.00022
          },
          {
            "name": "Rajbhavan S.O",
            "officeType": "sub_office",
            "delivery": false,
            "latitude": 12.98247,
            "longitude": 77.5913
          },
          {
            "name": "Vasanthanagar S.O",
            "officeType": "sub_office",
            "delivery": false,
            "latitude": 12.99351,
            "longitude": 77.5921
          },
          {
            "name": "Vidhana Soudha S.O",
            "officeType": "sub_office",
            "delivery": false,
            "latitude": 12.98747,
            "longitude": 77.60475
          }
        ],
        "nearby": [
          {
            "pincode": "560009",
            "district": "Bengaluru Urban",
            "state": "Karnataka",
            "distanceKm": 1.57
          },
          {
            "pincode": "560042",
            "district": "Bengaluru Urban",
            "state": "Karnataka",
            "distanceKm": 1.93
          }
        ]
      }
    ]
  }
}

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
countnumber1Number of PIN codes returned
totalMatchesnumber1Number of PIN codes that matched before the limit
resultsarray[1]
pincodestring"560001"Six-digit Indian postal index number
districtstring"Bengaluru Urban"District
statestring"Karnataka"State or union territory
stateCodestring"KA"ISO 3166-2:IN subdivision code, e.g. KA
circlestring"Karnataka Circle"India Post circle
regionstring"Bengaluru HQ Region"India Post region; null where the division reports straight to the circle
divisionstring"BANGALORE GPO DIVISION"India Post division
latitudePremiumnumber12.98247Latitude of the PIN: the median of its post offices' coordinates
longitudePremiumnumber77.59456Longitude of the PIN
timezonestring"Asia/Kolkata"IANA time zone (Asia/Kolkata)
postOfficeCountnumber10Number of post offices under the PIN
deliveryOfficeCountnumber1Number of those offices that deliver mail
postOfficesPremiumarray[10]Every post office under the PIN, head office first
namePremiumstring"Bengaluru G.P.O."Post office name
officeTypePremiumstring"head_office"head_office, sub_office or branch_office
deliveryPremiumbooleantrueThe office delivers mail
latitudePremiumnumber12.9716Latitude of the office; null when the directory gives none or an implausible one
longitudePremiumnumber77.59456Longitude of the office
nearbyPremiumarray[2]PINs within radius km (nearby=true): pincode, district, state, distanceKm
pincodePremiumstring"560009"
districtPremiumstring"Bengaluru Urban"
statePremiumstring"Karnataka"
distanceKmPremiumnumber1.57

Errors

Read the HTTP status first, then error for the specific reason. The body names the parameter that has to change. Error handling covers the full status list and which of them are worth retrying.

StatusMeaningWhat to do
400Input was rejectedRead error; it names the parameter.
401Key missing or invalidCheck the header name and the key value.
403Key valid, but not permittedA key restriction or IP allow-list; see key scoping.
429Rate limited, or out of creditsRead error to tell them apart; see rate limits.

Use cases

Checkout Address Autofill
Fill district and state as soon as a shopper types a 6-digit PIN code, and reject PIN codes that do not exist.
Delivery Serviceability
Check whether a PIN code has a delivery post office and list nearby PIN codes for courier zone planning.
Address Cleaning
Standardise district and state names and attach ISO state codes to customer records.
Store and Agent Locators
Find the PIN codes around a branch to define its catchment area.

Other ways to use India Pincode Lookup

Set up India Pincode Lookup on APIVerve, or reach the same source a different way. Your APIVerve account and credits work on all of them — one key, one balance.

Give it to an AI agentConnect over MCP and your agent calls it as a native tool — Claude, Cursor, ChatGPT.VerveKit →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →
Ground an agent on itA cited, machine-checkable fact your model can't produce on its own.VerveContext →Reference →

More in Geography:

Was this page helpful?