Gov APIncvbdc.mohfw.gov.in ↗
Access state-wise surveillance data for malaria, dengue, chikungunya, kala-azar, and Japanese encephalitis from India's NCVBDC via 11 structured endpoints.
What is the Gov API?
This API exposes 11 endpoints covering vector-borne disease surveillance, annual reports, clinical guidelines, and official announcements from India's National Center for Vector Borne Diseases Control (NCVBDC). Endpoints like get_dengue_situation_data return state-wise case and death counts across multiple years as parsed tabular arrays, while get_malaria_annual_report provides direct PDF download URLs for reports from 2010 through 2024.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/37d0d916-b0be-48e7-a68b-3df8e39698c2/get_malaria_situation_data' \ -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 ncvbdc-mohfw-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.
"""
NCVBDC India Health Data API - Usage Example
Get your API key from: https://parse.bot/settings
"""
from parse_apis.ncvbdc_india_health_data_api import Ncvbdc, Disease, ReportYear
ncvbdc = Ncvbdc()
# Fetch malaria annual report for 2023
report = ncvbdc.annualreports.get(year=ReportYear.Y2023)
print(report.year, report.url, report.title)
# Get disease page info for dengue
dengue_info = ncvbdc.diseasepageinfos.get(disease=Disease.DENGUE)
print(dengue_info.disease)
for link in dengue_info.links:
print(link.title, link.url)
# List current guidelines
for guideline in ncvbdc.guidelines.list():
print(guideline.title, guideline.url)
# List current vacancies
for vacancy in ncvbdc.vacancies.list():
print(vacancy.title, vacancy.url)
# Get malaria situation overview
situation = ncvbdc.malariasituations.get()
print(situation.url)
for doc in situation.tables:
print(doc.title, doc.url)
Fetches the malaria situation page and returns the main malaria situation PDF URL and a list of all available document links (annual reports, surveillance formats, advisories). Each link includes its title and direct URL.
No input parameters required.
{
"type": "object",
"fields": {
"url": "string — URL of the main Malaria Situation PDF",
"tables": "array of objects with title and url for each available document link"
},
"sample": {
"data": {
"url": "https://ncvbdc.mohfw.gov.in/WriteReadData/l892s/63490427831779435732.pdf",
"tables": [
{
"url": "https://ncvbdc.mohfw.gov.in/WriteReadData/l892s/63490427831779435732.pdf",
"title": "Malaria Situation in India From 2022"
},
{
"url": "https://ncvbdc.mohfw.gov.in/WriteReadData/l892s/16576134161779435753.pdf",
"title": "Monthly Epidemiological Situation (MES)"
}
]
},
"status": "success"
}
}About the Gov API
Disease Surveillance Data
The core surveillance endpoints — get_dengue_situation_data, get_chikungunya_situation_data, get_kalaazar_situation_data, and get_je_cases_deaths_data — each return state-wise epidemiological data as nested arrays of table rows. Every row is an array of strings matching the columns on the source page, including header rows. The get_chikungunya_situation_data response distinguishes suspected from confirmed cases. The get_kalaazar_situation_data response covers Visceral Leishmaniasis (Kala-azar) cases and deaths across Indian states over multiple years. All four endpoints require no input parameters.
Malaria-Specific Endpoints
get_malaria_situation_data returns the URL of the main Malaria Situation PDF alongside a tables array listing all linked documents on that page with title and url fields. get_malaria_situation_file_url narrows this to just the current document's direct download URL and title string. For historical context, get_malaria_annual_report accepts a year parameter (2010–2024) and returns the corresponding PDF's direct download URL, the requested year, and the report title.
Disease Pages, Guidelines, and Administrative Data
get_disease_page_info accepts a disease parameter — one of malaria, dengue, filaria, kala_azar, japanese_encephalitis, or chikungunya — and returns all links found on that disease's NCVBDC page as an array of {title, url} objects. get_guidelines returns the same structure for clinical and operational guideline documents. get_news_and_highlights returns recent homepage announcements as {title, url} pairs. get_vacancies returns current job postings with a details array of strings per posting alongside title and URL.
Coverage Notes
All data reflects what NCVBDC publishes on its official site. Tabular surveillance data is returned as raw string arrays preserving the original table structure, so consumers are responsible for parsing column semantics. Document endpoints return direct PDF URLs but do not decode or extract content from within those PDFs.
The Gov API is a managed, monitored endpoint for ncvbdc.mohfw.gov.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ncvbdc.mohfw.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 ncvbdc.mohfw.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-wise dengue outbreak tracker using annual case and death counts from
get_dengue_situation_data - Monitor newly published NCVBDC guidelines by polling
get_guidelinesfor updated document links - Automate downloads of malaria annual reports for a given year range using
get_malaria_annual_reportwith theyearparameter - Aggregate Japanese Encephalitis surveillance trends across Indian states from
get_je_cases_deaths_data - Surface NCVBDC news and policy announcements in a public health dashboard via
get_news_and_highlights - Track Kala-azar elimination progress by pulling multi-year state-wise data from
get_kalaazar_situation_data - Consolidate all disease-specific document links for a research index using
get_disease_page_infoacross all six supported diseases
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does NCVBDC provide an official developer API?+
What does `get_dengue_situation_data` return, and how is it structured?+
data field containing an array of arrays. Each inner array represents one row from the state-wise dengue table, with each cell as a string. The first inner array is the header row, so consumers should slice it off when iterating records. No filter parameters are supported — all available years and states are returned in a single call.Does the API return data for all Indian states in every surveillance endpoint?+
Can I filter surveillance data by year or state within a single API call?+
get_dengue_situation_data, get_chikungunya_situation_data, get_kalaazar_situation_data, get_je_cases_deaths_data) return all available rows without filter parameters. You can fork this API on Parse and revise it to add year or state filtering on the returned arrays.Does the API extract text or structured data from within the PDF documents it links to?+
get_malaria_annual_report and get_malaria_situation_file_url return direct PDF download URLs and titles only. PDF content is not parsed or extracted. You can fork this API on Parse and revise it to add a PDF-parsing step for specific documents.