Gov APImca.gov.in ↗
Access MCA regulatory documents, struck-off companies, disqualified directors, public notices, and all 32 ROC office listings via a structured API.
What is the Gov API?
The MCA.gov.in API provides structured access to India's Ministry of Corporate Affairs regulatory document database across 2 endpoints. Use search_documents to query paginated notices — including struck-off companies, disqualified directors, and LLP strike-off orders — filtered by category folder, keyword, and sort order. Use list_roc_offices to retrieve the complete roster of all 32 Registrar of Companies offices across India.
curl -X GET 'https://api.parse.bot/scraper/30ad1f3c-b6d7-48c4-8335-5e98dbec35d6/search_documents?page=1&folder=432&per_page=10&sort_order=D' \ -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 mca-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: MCA Master Data API — bounded, re-runnable; every call capped."""
from parse_apis.mca_gov_in_api import MCA, DocumentCategory, SortOrder, NotFoundError
client = MCA()
# Browse struck-off company notices (default category)
for doc in client.documents.search(folder=DocumentCategory.COMPANIES_STRUCK_OFF, limit=3):
print(doc.title, doc.roc, doc.date)
# Search within a category by keyword
doc = client.documents.search(
folder=DocumentCategory.DISQUALIFIED_DIRECTORS,
keyword="Delhi",
sort_order=SortOrder.DESCENDING,
limit=1,
).first()
if doc:
print(doc.title, doc.doc_type, doc.doc_size)
# List all ROC offices
for office in client.roc_offices.list(limit=5):
print(office.name)
# Typed error: attempt a category lookup that might fail
try:
for doc in client.documents.search(folder=DocumentCategory.PROCLAIMED_OFFENDERS, limit=1):
print(doc.title, doc.date)
except NotFoundError as exc:
print(f"Category not found: {exc}")
print("exercised: documents.search / roc_offices.list")
Search and list MCA regulatory documents and notices by category. Returns paginated results from the document management system. Each result includes the document title, issuing ROC office, date, type, and size. Categories include struck-off companies, disqualified directors, public notices, LLP strike-off notices, extension of AGM, and proclaimed offenders. Results are sorted by date (newest first by default).
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination, 1-based. |
| folder | string | Document category folder ID. |
| keyword | string | Search keyword to filter documents by title (e.g. 'Delhi', 'Reliance'). Empty string returns all documents in the category. |
| per_page | integer | Number of results per page. |
| sort_order | string | Sort order for results by date. |
{
"type": "object",
"fields": {
"page": "integer",
"per_page": "integer",
"documents": "array of document objects with title, roc, date, doc_type, doc_size, doc_id",
"total_results": "integer"
},
"sample": {
"data": {
"page": 1,
"per_page": 10,
"documents": [
{
"roc": "ROC-C-PACE",
"date": "23-06-2026",
"title": "List of Companies Struck-Off By Rocs (STK-7) U/S 248(5)-CA,13 for 927 Companies of 28 States",
"doc_id": "OB2z435fWEioCf13Y0XOiQ%3D%3D",
"doc_size": "1 MB",
"doc_type": "pdf"
}
],
"total_results": 263
},
"status": "success"
}
}About the Gov API
Document Search
The search_documents endpoint queries MCA's regulatory document archive and returns paginated arrays of document objects. Each object includes title, roc (the issuing Registrar of Companies office), date, doc_type, doc_size, and a doc_id for identification. You can narrow results using the keyword parameter (e.g., 'Delhi' or 'Reliance') to filter by title, or supply a folder parameter to scope results to a specific document category such as struck-off companies, disqualified directors, public notices, or LLP strike-off notices. Pagination is controlled via page (1-based), per_page, and sort_order.
ROC Office Listings
The list_roc_offices endpoint returns a single-page response containing all 32 Registrar of Companies offices in India. The offices array contains full name strings for each office, including jurisdiction and city. The total field confirms the count. No parameters are required. This endpoint is useful for building lookup tables or validating which ROC issued a document returned by search_documents.
Coverage and Scope
The API covers regulatory notices published on mca.gov.in, focusing on compliance and enforcement categories: struck-off companies, disqualified directors, LLP strike-offs, and general public notices. Each document record includes metadata fields rather than full document text, so consumers typically use doc_id or title to identify specific filings and cross-reference them against the issuing roc office.
The Gov API is a managed, monitored endpoint for mca.gov.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mca.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 mca.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?+
- Monitor newly published struck-off company notices by polling
search_documentswith the relevant folder ID - Check whether a company name appears in disqualified director or LLP strike-off lists using the
keywordparameter - Build a compliance alert system that surfaces new MCA enforcement notices by date using
sort_order - Populate a CRM or due-diligence tool with ROC office names and jurisdictions from
list_roc_offices - Map a document's
rocfield back to a full office name for display in corporate compliance reports - Aggregate counts of regulatory notices by office or category for governance analytics
| 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 MCA.gov.in have an official developer API?+
What does the `search_documents` endpoint return for each result?+
documents array includes: title (the document name), roc (the issuing ROC office), date (publication date), doc_type (category such as struck-off or disqualified directors), doc_size, and doc_id. The endpoint also returns page, per_page, and total_results for pagination. Full document text or PDF binary is not included in the response.Can I retrieve full company registration details or director DIN information through this API?+
How do I filter documents to a specific category like struck-off companies or LLP notices?+
folder parameter in search_documents to scope results to a particular document category. Each category (e.g., struck-off companies, disqualified directors, LLP strike-offs) maps to a distinct folder ID. Combine folder with keyword to further narrow results by title, and use sort_order to control date ordering.How current is the document data, and are historical notices included?+
sort_order set to descending date is recommended to surface the most recent filings first.