Developers
Data API
Pull published IndiaGraphs series as JSON. Access is sold per graph from the dataset page; tenure and price are whatever that page shows at checkout.
How it works
Three steps to a live request
01
Buy access on a dataset page
Open any published graph and purchase API access. Price and tenure are shown there before checkout (₹299 or $4, 30 days).
02
Create an API key
Generate one key per account from Profile, API keys. Keys start with ig_ and are shown once.
03
Call the graph endpoint
Send the key from your server. Browser calls and query-string keys are rejected.
Base URL
Versioned routes share this prefix.
https://indiagraphs.com/api/v1Authentication
Header only. Never put keys in browsers or query strings.
Authorization: Bearer YOUR_API_KEYx-api-key: ig_… also works
Endpoints
Graph-scoped routes
GET /api/v1/graphsPublished catalog: slug, title, series count.
GET /api/v1/graphs/{slug}Metadata and series names for one graph.
GET /api/v1/graphs/{slug}/dataAll series observations. Optional from, to, limit.
Example
Request and response
curl
curl -s \ -H "Authorization: Bearer YOUR_API_KEY" \ "https://indiagraphs.com/api/v1/graphs/india-ministry-of-housing-urban-affairs-expenditure/data"
json
{
"data": {
"graph": "india-ministry-of-housing-urban-affairs-expenditure",
"title": "India - Ministry of Housing and Urban Affairs",
"series": [
{
"series": "budget-estimate-total",
"name": "Budget Estimate Total",
"unit": "INR Crore",
"observations": [{ "period": "2024", "value": 12345 }]
}
]
},
"meta": { "access": "full", "series_count": 5 }
}Query parameters
For /api/v1/graphs/{slug}/data
| Name | Type | Required | Description |
|---|---|---|---|
| from | string | No | Start of period range (inclusive). |
| to | string | No | End of period range (inclusive). |
| limit | integer | No | Max observations per series when building the payload (1-2000). |
| offset | integer | No | Observation offset for pagination (default 0). |
| page_size | integer | No | Max observations in this page; also capped near 500 KB. |
Errors
| Status | Meaning | Description |
|---|---|---|
| 401 | Unauthorized | Missing or invalid API key. |
| 403 | Forbidden | No access for this key, or CORS blocked. |
| 404 | Not found | Unknown or unpublished graph slug. |
| 429 | Rate limited | 20/min or 500/day per API key. |
| 503 | Unavailable | Data API temporarily disabled by admin. |
Questions on keys or volume pricing: contact@indiagraphs.com
Editorial policy