Pincode API documentation

India Pincode API Documentation

Use the versioned JSON API for Indian PIN code and post office lookups, search, errors and rate limits.

BASEhttps://api.pincodeapi.in/api/v1

Quick start

Send a GET request to a supported endpoint. Successful responses use the stable V1 envelope with success, endpoint-specific data, and request or release information in meta.

curl --fail --show-error --max-time 10 "https://api.pincodeapi.in/api/v1/pincode/751001"

Current response contract

{
  "success": true,
  "data": {
    "pincode": "751001",
    "post_offices": [ ... ]
  },
  "meta": {
    "api_version": "v1",
    "dataset_version": "2026-06-27",
    "release_id": "...",
    "request_id": "...",
    "count": 4
  }
}

The public V1 field names use snake case, including office_name, office_type, delivery_status, state and stable *_slug fields. Source CSV names such as officename and statename are not the API response contract.

See the complete response field guide.

Public endpoints

PurposeEndpoint
PIN code lookup/pincode/{pincode}
State lookup/state/{state}
District lookup/district/{district}
Search/search?q={query}
Health/health

See request examples and endpoint guidance.

GET https://api.pincodeapi.in/api/v1/search?q=Bhubaneswar

Search can return several matching postal records. Check the returned office name, PIN code, district and state before using a result.

Current public rate limit

The current public limit is 6 API calls per 10 seconds per IP address. A client that exceeds the limit can receive 429 Too Many Requests.

Read the rate-limit and fair-use guidance.

Errors

Errors use application/problem+json and stable machine-readable codes. Use HTTP status and/or the code field rather than matching human-readable error text.

See error codes and recommended client actions.

Machine-readable specification

Use the OpenAPI JSON or OpenAPI YAML with tools that support OpenAPI.