# India API (api.dharun.dev) > Free JSON APIs for Indian data: pincodes, IFSC and banks, GSTIN and PAN checks, holidays and working days, RTO codes, company logos, UPI QR codes, number to words in lakh and crore, and more. No API key, no sign-up, open CORS, an MCP server for AI assistants. Open source under AGPL-3.0. Base URL: https://api.dharun.dev. Every endpoint is a plain GET under `/v1`; endpoints that take text also accept it as a POST body (text/plain, or JSON `{"text": ...}`). No API key and no sign-up. CORS is open, so browsers can call it directly. JSON responses share one shape: `{ "data": ..., "meta": { ... } }`. `meta.source` names the dataset, its licence, version and the credit it asks for. Lists add `meta.total`, `meta.limit` and `meta.offset`. Errors are `{ "error": { "code", "message" } }` with a matching HTTP status: 400 for bad input, 404 when nothing matches, 429 over the rate limit, 503 while a dataset is not loaded. Rate limit: 600 requests per minute per client; endpoints that do heavy work (images, astronomy, live DNS) count as 10. Image endpoints return the image itself. ## Money and business - [Company logos](https://api.dharun.dev/docs/logos.md): Logos and details for companies listed on NSE and BSE. Example: `GET /v1/logos/TCS` - [IFSC and banks](https://api.dharun.dev/docs/ifsc.md): IFSC to bank and branch. Example: `GET /v1/ifsc/SBIN0000001` - [QR codes and barcodes](https://api.dharun.dev/docs/codes.md): QR codes, UPI payment QR codes and barcodes as SVG or PNG. Example: `GET /v1/qr?text=https://api.dharun.dev&format=png&size=256` - [HSN and SAC codes](https://api.dharun.dev/docs/hsn.md): GST classification codes for goods and services. Example: `GET /v1/hsn/0902` - [Mutual fund NAVs](https://api.dharun.dev/docs/mutual-funds.md): Latest net asset value of every Indian mutual fund scheme. Example: `GET /v1/mutual-funds/122639` - [Number to words](https://api.dharun.dev/docs/words.md): Numbers and rupee amounts in words, the Indian way. Example: `GET /v1/words/1,25,000.50?style=currency` - [Format checks](https://api.dharun.dev/docs/validate.md): Check the format of a GSTIN, PAN or IFSC. Example: `GET /v1/validate/gstin/27AAPFU0939F1ZV` ## Places and transport - [Pincodes](https://api.dharun.dev/docs/pincode.md): Pincode to post office, district and state. Example: `GET /v1/pincode/637001` - [RTO codes](https://api.dharun.dev/docs/rto.md): Vehicle registration code to transport office. Example: `GET /v1/rto/TN-28` - [Railway stations](https://api.dharun.dev/docs/stations.md): Indian Railways station codes to stations, and back. Example: `GET /v1/stations/MAS` - [Constituencies](https://api.dharun.dev/docs/constituency.md): Which assembly and Lok Sabha constituency a place is in. Example: `GET /v1/constituency?pincode=637001` - [Airports](https://api.dharun.dev/docs/airports.md): Airport codes to airports, and airports by city. Example: `GET /v1/airports/MAA` - [States](https://api.dharun.dev/docs/states.md): States and union territories with their codes. Example: `GET /v1/states` ## Dates and calendars - [Holidays](https://api.dharun.dev/docs/holidays.md): Bank, government and stock market holidays. Example: `GET /v1/holidays/2026?type=market` - [Working days](https://api.dharun.dev/docs/working-days.md): Bank, market, settlement and government working days. Example: `GET /v1/working-days/2026-01-16?calendar=bank&state=TN&add=3` - [Panchang](https://api.dharun.dev/docs/panchang.md): Hindu almanac for any date and place: tithi, nakshatra, Rahu kalam and more. Example: `GET /v1/panchang/2026-01-14?pincode=600001` - [Sun and moon](https://api.dharun.dev/docs/sun-moon.md): Sunrise, sunset, twilight, moonrise and the moon's phase for any date and place. Example: `GET /v1/sun-moon/2026-10-14?pincode=600001` ## Language and text - [Thirukkural](https://api.dharun.dev/docs/thirukkural.md): All 1,330 kurals in Tamil with English translations. Example: `GET /v1/thirukkural/1` - [Text tools](https://api.dharun.dev/docs/text.md): Chunk documents, redact Indian identifiers, count tokens, detect language. Example: `GET /v1/text/chunk?size=200&overlap=20&text=%23+Setup%0A%0AInstall+Go.+Clone+the+repository.%0A%0A%23+Deploy%0A%0APush+to+main.` - [Transliteration](https://api.dharun.dev/docs/transliterate.md): Rewrite text between Indian scripts and Roman letters. Example: `GET /v1/transliterate?to=tamil&text=%E0%A4%A8%E0%A4%AE%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A5%87+%E0%A4%AD%E0%A4%BE%E0%A4%B0%E0%A4%A4` - [Tamil legacy encodings](https://api.dharun.dev/docs/tamil-font.md): Old Tamil text that shows as accented Latin letters, to Unicode and back. Example: `GET /v1/tamil-font/convert?from=tscii&text=%C2%BE%C3%81%C2%A2%C3%BA+%C3%85%C2%BD%C3%AC%C2%B8%C3%B5` ## Network and contact checks - [IP address location](https://api.dharun.dev/docs/ip.md): IP address to country, state, city and network. Example: `GET /v1/ip/49.204.0.1` - [Email checks](https://api.dharun.dev/docs/email.md): Is an email address well formed, throwaway, and able to receive mail. Example: `GET /v1/email/someone@mailinator.com` - [DNS check](https://api.dharun.dev/docs/dns.md): A domain's DNS records at four public resolvers at once. Example: `GET /v1/dns/dharun.dev?type=MX` - [Phone numbers](https://api.dharun.dev/docs/phone.md): Check and format an Indian phone number, and see whose series it is. Example: `GET /v1/phone/+91%2095001%2012345` - [Traceroute from India](https://api.dharun.dev/docs/mtr.md): The network path from a server in India to any host, with loss and latency per hop. Example: `GET /v1/mtr/1.1.1.1` ## Developer tools - [Regex tester](https://api.dharun.dev/docs/regex.md): Run a regular expression against a text and see every match, explained. Example: `GET /v1/regex?flags=i&pattern=%28%3F%3Cstate%3E%5BA-Z%5D%7B2%7D%29%5B+-%5D%3F%28%5Cd%7B2%7D%29&text=Cars+TN+37%2C+ka-05+and+MH12` - [Fake test data](https://api.dharun.dev/docs/fake.md): Made-up Indian people, companies and addresses for testing apps. Example: `GET /v1/fake/people?count=3&state=TN&seed=42` - [Generated images](https://api.dharun.dev/docs/images.md): Social preview images and code screenshots from a URL. Example: `GET /v1/og-image?title=Free%20APIs%20for%20Indian%20developers&subtitle=Pincodes%2C%20IFSC%2C%20holidays%20and%20more&site=api.dharun.dev` ## Sky and radio - [Satellite passes](https://api.dharun.dev/docs/satellites.md): When the ISS and amateur radio satellites pass over you, and where they are now. Example: `GET /v1/sat-pass?sat=ISS&pincode=600001` - [HF propagation](https://api.dharun.dev/docs/propagation.md): Space weather and a rough rating of shortwave radio bands, day and night. Example: `GET /v1/propagation` ## Guides - [Bank holidays, working days and T+1 settlement dates](https://api.dharun.dev/guides/working-days.md): Find whether a date is a bank holiday in a state, the next working day, N working days ahead, and NSE settlement dates, in Python. - [Check a GSTIN or PAN before you save it](https://api.dharun.dev/guides/gstin-pan-check.md): Catch typing mistakes in GSTINs and PANs with the check character, and read the state and PAN out of a GSTIN, in JavaScript. - [Fill city and state from a pincode in a web form](https://api.dharun.dev/guides/pincode-autofill.md): Look up the district and state as soon as someone types a six-digit pincode, with plain JavaScript and no API key. - [Make a UPI payment QR code for an amount](https://api.dharun.dev/guides/upi-qr-code.md): Generate a QR code that any UPI app can scan to pay a set amount to your UPI ID, or a upi://pay link for a button on mobile. - [Remove Aadhaar, PAN and phone numbers before sending text to an LLM](https://api.dharun.dev/guides/redact-before-llm.md): Mask Indian personal identifiers in text before it reaches a language model or a log, with check-digit validation so ordinary numbers are left alone. - [Show NSE and BSE company logos in your app](https://api.dharun.dev/guides/company-logos.md): Put a listed company's logo in an img tag by ticker or ISIN, as SVG or sized PNG, with an initials tile when no logo exists. - [Show the bank and branch for an IFSC code](https://api.dharun.dev/guides/ifsc-bank-branch.md): Turn an IFSC into a bank name, branch and address, and check that the branch takes NEFT, RTGS, IMPS or UPI before you send money there. - [Write rupee amounts in words for invoices and cheques](https://api.dharun.dev/guides/amount-in-words.md): Spell an amount the Indian way, with lakh and crore, rupees and paise, in English, Hindi or Tamil. ## For AI agents - [MCP server](https://api.dharun.dev/mcp): Streamable HTTP, stateless, no authentication; 44 tools that return exactly what the REST endpoints return. Setup for each client: [AI tools](https://api.dharun.dev/ai.md) - [Agent Skill](https://api.dharun.dev/.well-known/agent-skills/india-api/SKILL.md): teaches a coding agent the API; `npx skills add dharunashokkumar/api.dharun.dev` - [OpenAPI 3.1 description](https://api.dharun.dev/openapi.json) - [Machine-readable index of every API](https://api.dharun.dev/v1) ## Optional - [Everything above in one file, with sample responses](https://api.dharun.dev/llms-full.txt) - [Privacy](https://api.dharun.dev/privacy.md): what is logged; IP addresses never are - [Security](https://api.dharun.dev/security.md): reporting issues, verifying releases - [About](https://api.dharun.dev/about.md): licences (code AGPL-3.0, examples MIT-0) and every data source - [Source code](https://github.com/dharunashokkumar/api.dharun.dev)