S2Coder Address
Features Pricing Documentation FAQ
REST API · v1

India's Address Intelligence API

Autocomplete, validate and search addresses with a developer-friendly API. Look up any Indian PIN code, geocode a locality, and bulk-import your own address data from Excel or CSV.

Addresses
1
PIN codes
72
States & UTs
36
pincode lookup
GET /api/v1/pincode/226010
X-API-Key: YOUR_API_KEY

{
  "success": true,
  "pincode": "226010",
  "state": "Uttar Pradesh",
  "district": "Lucknow",
  "city": "Lucknow",
  "localities": ["Gomti Nagar", "Vibhuti Khand"]
}

Everything you need for Indian addresses

One API for lookup and validation, plus a dashboard for managing your own address database at scale.

Address Autocomplete

Ranked type-ahead that understands "gomti nagar luc" — locality first, then city, district and state.

Pincode API

Resolve any Indian PIN code to its state, district, city, post offices and localities.

Address Validation

Score an address against reference data and get a corrected, canonical version back.

Geocoding

Forward and reverse geocoding with rooftop, locality and PIN centroid precision levels.

Fast API

Every query path is index-backed, cached and paginated. No full scans, at any table size.

Developer Friendly

Versioned REST, predictable JSON envelopes, request IDs on every response, and a live playground.

Bulk Import

Upload .xlsx, .xls or .csv. Preview before committing, choose how duplicates are handled, download an error report.

Bulk Export

Filter by state, district, city, PIN or date, then export to Excel or CSV as a background job.

One header. That's the whole integration.

Authenticate with an X-API-Key header or a bearer token. Every response carries a request ID, and every rate-limited response tells you exactly when to retry.

  • Versioned from day one at /api/v1
  • Consistent success and error envelopes
  • Per-minute, per-day and per-month quotas
  • Full request logs in your dashboard
curl "https://address.s2coder.com/api/v1/pincode/226010" \
  -H "X-API-Key: YOUR_API_KEY"
$response = Http::withHeaders([
    'X-API-Key' => env('S2_ADDRESS_KEY'),
])->get('https://address.s2coder.com/api/v1/address/autocomplete', [
    'q' => 'gomti nagar luc',
]);

$suggestions = $response->json('data');
const res = await fetch(
  'https://address.s2coder.com/api/v1/address/autocomplete?q=gomti+nagar+luc',
  { headers: { 'X-API-Key': process.env.S2_ADDRESS_KEY } }
);

const { data } = await res.json();
import requests

res = requests.get(
    "https://address.s2coder.com/api/v1/address/validate",
    headers={"X-API-Key": API_KEY},
    json={"address": "Gomti Nagar Lucknow", "pincode": "226010"},
)

print(res.json()["confidence"])

Simple, quota-based pricing

Start free. Every plan uses the same API and the same data.

Most popular

Free

Free

For evaluation and side projects.

  • 1,000 requests/month
  • 30 requests/minute
  • All endpoints
  • Community support
Get started

Developer

₹2,499 /month

For production apps with moderate traffic.

  • 50,000 requests/month
  • 300 requests/minute
  • All endpoints
  • Bulk import & export
  • Email support
Get started

Business

₹14,999 /month

For high-volume checkout and logistics workloads.

  • 500,000 requests/month
  • 1,200 requests/minute
  • All endpoints
  • Bulk import & export
  • Priority support
  • Higher burst limits
Get started

Enterprise

Custom

Custom quotas, dedicated capacity and an SLA.

  • Unlimited requests
  • No per-minute cap
  • Unlimited requests
  • Dedicated capacity
  • SLA & onboarding
  • Custom data feeds
Get started

Quotas are enforced per API key and can be raised at any time from your dashboard.

Frequently asked questions

Where does the address data come from?

Reference data (states, districts, PIN codes and localities) comes from openly licensed government datasets and properly licensed commercial providers. We do not scrape third-party address databases. Anything you import stays yours and is never shared with other customers.

What happens to the addresses I import?

They are stored against your account only, and are visible to your API keys alone. Your original row is preserved verbatim alongside the normalised version, so nothing you send us is ever destroyed.

How big a file can I import?

Uploads are capped at 100 MB by default, and files are streamed in chunks by a background worker rather than being loaded into memory. Millions of rows per file is a normal workload.

What happens when I hit my rate limit?

The API returns HTTP 429 with a Retry-After header and a body telling you which window (minute, day or month) was exceeded and when it resets. Rate-limited calls are still recorded in your logs so you can see the pattern.

Do you support address autocomplete for a specific city only?

Yes. Pass city, district, state or pincode alongside q on the autocomplete endpoint to constrain the result set.

Can I export my data back out?

Any time, in .xlsx or .csv, filtered however you like. Exports run as background jobs and appear in your export history with a download link.

Start building in under a minute

Create an account and your first API key is issued immediately. No card required.