Gov APIdtl.gov.in ↗
Access India's state-wise directory of DISCOMs, GENCOs, TRANSCOs, and SERCs via the dtl.gov.in API. Filter by state or utility function across all Indian states and UTs.
What is the Gov API?
The dtl.gov.in API provides structured access to Delhi Transco Limited's official directory of Indian power sector utilities through 2 endpoints. The list_utilities endpoint returns records for GENCOs, TRANSCOs, DISCOMs, SERCs, SLDCs, and more across all Indian states and union territories. Each record includes the utility name, state, functional role, and official website URL, making it straightforward to query and cross-reference the national power sector landscape programmatically.
curl -X GET 'https://api.parse.bot/scraper/b082f74e-9054-4a65-9014-a8b07021ca78/list_discoms?state=Delhi' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace dtl-gov-in-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: DTL Power Utilities Directory — bounded, re-runnable; every call capped."""
from parse_apis.dtl_gov_in_api import Dtl, ParseError
client = Dtl()
# List DISCOMs filtered by a specific state
for discom in client.discoms.list(state="Delhi", limit=3):
print(discom.name, discom.state, discom.website)
# List all utilities of a specific function type
for utility in client.utilities.list(state="Andhra Pradesh", function_type="GENCO", limit=3):
print(utility.name, utility.function, utility.website)
# Get the first DISCOM from all states
first = client.discoms.list(limit=1).first()
if first:
try:
print(first.name, first.state, first.section)
except ParseError as e:
print(f"error: {e}")
print("exercised: discoms.list, utilities.list")
Lists all distribution companies (DISCOMs) across Indian states and union territories. Each record includes the DISCOM name, state, functional role, and official website URL. Results are from a single directory page and not paginated upstream.
| Param | Type | Description |
|---|---|---|
| state | string | Filter by state or UT name (case-insensitive substring match, e.g. 'Delhi', 'Andhra Pradesh'). Omitting returns all DISCOMs across all states. |
{
"type": "object",
"fields": {
"total": "integer count of DISCOMs returned",
"discoms": "array of DISCOM records with state, section, name, function, website"
},
"sample": {
"data": {
"total": 5,
"discoms": [
{
"name": "Tata Power Delhi Distribution Ltd. [TPDDL]",
"state": "Delhi (NCT)",
"section": "States",
"website": "https://www.tatapower-ddl.com",
"function": "DISCOM"
},
{
"name": "BSES Rajdhani Power Ltd. (BRPL)",
"state": "Delhi (NCT)",
"section": "States",
"website": "https://www.bsesdelhi.com/web/brpl/home",
"function": "DISCOM"
},
{
"name": "BSES Yamuna Power Ltd. (BYPL)",
"state": "Delhi (NCT)",
"section": "States",
"website": "https://www.bsesdelhi.com/web/bypl/home",
"function": "DISCOM"
},
{
"name": "New Delhi Municipal Council (NDMC)",
"state": "Delhi (NCT)",
"section": "States",
"website": "https://www.ndmc.gov.in",
"function": "DISCOM"
},
{
"name": "Military.Engineer Services Delhi",
"state": "Delhi (NCT)",
"section": "States",
"website": "https://mesbai.co.in/index.aspx",
"function": "DISCOM"
}
]
},
"status": "success"
}
}About the Gov API
What the API Covers
The dtl.gov.in API exposes two endpoints drawn from Delhi Transco Limited's official state-wise directory of power utilities. The list_discoms endpoint focuses specifically on distribution companies (DISCOMs), returning an array of records each containing state, section, name, function, and website fields. The list_utilities endpoint covers the full spectrum of power sector entities — GENCOs, TRANSCOs, DISCOMs, SERCs, SLDCs, and related bodies — across every Indian state and union territory.
Filtering and Response Structure
Both endpoints accept an optional state parameter for case-insensitive substring filtering (e.g., 'Delhi', 'Andhra Pradesh'). The list_utilities endpoint additionally accepts a function_type parameter to narrow results by role, such as 'DISCOM' or 'GENCO'. Each response includes a total integer count alongside the filtered array. Since the upstream directory is a single page rather than a paginated resource, all matching records are returned in one response — no cursor or page token is needed.
Data Fields
Every record from either endpoint carries the same five fields: state (the Indian state or UT), section (the directory grouping), name (the full utility name), function (the role classification such as DISCOM, GENCO, or SERC), and website (the official URL for that utility or regulatory body). These fields make it possible to build lookups by geography, by function type, or to resolve the correct contact point for any utility in India.
The Gov API is a managed, monitored endpoint for dtl.gov.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dtl.gov.in changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official dtl.gov.in API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a state-by-state directory of electricity distributors using the
statefilter onlist_discoms. - Identify all SERCs (State Electricity Regulatory Commissions) in a given region using
function_type='SERC'onlist_utilities. - Resolve official utility websites for automated outreach or compliance research using the
websitefield. - Cross-reference GENCO and TRANSCO assignments by state for energy sector mapping projects.
- Populate a power sector CRM with structured utility records including function classification and official URLs.
- Monitor which states have active SLDCs (State Load Despatch Centres) by filtering
list_utilitieswithfunction_type='SLDC'. - Build an India power sector reference dataset by pulling all utilities unfiltered and grouping by
stateandfunction.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does dtl.gov.in offer an official developer API?+
What is the difference between `list_discoms` and `list_utilities`?+
list_discoms returns only distribution company (DISCOM) records. list_utilities returns all utility types — GENCOs, TRANSCOs, DISCOMs, SERCs, SLDCs, and others — and accepts an additional function_type parameter so you can filter by role. If you only need distribution companies, either endpoint works; if you need generation or transmission entities, use list_utilities.Are the results paginated, and how current is the data?+
Does the API return contact details like phone numbers or email addresses for utilities?+
name, state, section, function, and website for each utility. Phone numbers, email addresses, and officer contact details are not included. You can fork this API on Parse and revise it to add an endpoint that retrieves contact details from individual utility pages.