Gov APIsebi.gov.in ↗
Search and retrieve debt offer documents filed with SEBI by issuer name. Access filing dates, document titles, and direct links to prospectuses and disclosures.
What is the Gov API?
The SEBI Debt Offer Documents API provides access to official debt filings from India's securities regulator through a single search_offer_documents endpoint. Each result returns up to 6 structured fields — including filing date, document title, document link, and pagination metadata — covering prospectuses and compliance documents filed by issuers such as Tata, HDFC, and Reliance. Results are paginated at 25 records per page.
curl -X GET 'https://api.parse.bot/scraper/4a198479-bfa5-4181-ac3b-00005dcf97af/search_offer_documents?entity=Tata' \ -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 sebi-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: SEBI Offer Documents API — search debt filings by entity."""
from parse_apis.sebi_gov_in_api import Sebi, Subcategory, InputFormatInvalid
client = Sebi()
# Search for all Tata debt offer documents, capped at 10 results.
for doc in client.documents.search(entity="Tata", limit=10):
print(doc.date, doc.title)
print(f" -> {doc.url}")
# Narrow to draft filings within a date range; take the first result.
try:
draft = client.documents.search(
entity="HDFC",
subcategory=Subcategory.DRAFT_FILED_WITH_SE,
from_date="01-01-2018",
to_date="31-12-2020",
limit=1,
).first()
except InputFormatInvalid as e:
# Raised when date format or other input is malformed.
print(f"Invalid input: {e.message}")
draft = None
if draft is not None:
print(f"First HDFC draft: {draft.title} ({draft.date})")
print("exercised: documents.search with pagination, subcategory filter, date range, error handling")
Search for debt offer documents filed by a given issuer or entity name on SEBI. Returns paginated results (25 per page) from the Debt Offer Document filings section. Each result includes the filing date, document title, and a link to the full document. Supports optional filtering by subcategory (draft filed with SE or final filed with ROC) and date range. When subcategory is omitted, results include both drafts and final filings. Use the page parameter to paginate through results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. Each page contains up to 25 records. |
| entityrequired | string | Issuer or entity name to search for (e.g. 'Tata', 'HDFC', 'Reliance'). Searches by title, keywords, and entity name. |
| to_date | string | End date filter in DD-MM-YYYY format (e.g. '31-12-2020'). When omitted, no end date filter is applied. |
| from_date | string | Start date filter in DD-MM-YYYY format (e.g. '01-01-2018'). When omitted, no start date filter is applied. |
| subcategory | string | Filter by filing subcategory. When omitted, returns documents from all subcategories. |
{
"type": "object",
"fields": {
"page": "Current page number",
"entity": "The search term that was used",
"documents": "Array of document filings matching the search",
"total_pages": "Total number of pages available",
"total_records": "Total number of matching records"
},
"sample": {
"data": {
"page": 1,
"entity": "Tata",
"documents": [
{
"url": "https://www.sebi.gov.in/filings/debt-offer-document/dec-2019/tata-capital-housing-finance-limited-tranche-1-prospectus_45564.html",
"date": "Dec 30, 2019",
"title": "Tata Capital Housing Finance Limited – Tranche 1 Prospectus"
},
{
"url": "https://www.sebi.gov.in/filings/debt-offer-document/dec-2019/tata-capital-housing-finance-limited-draft-shelf-prospectus_45411.html",
"date": "Dec 17, 2019",
"title": "Tata Capital Housing Finance Limited- Draft Shelf Prospectus"
}
],
"total_pages": 1,
"total_records": 10
},
"status": "success"
}
}About the Gov API
What the API Returns
The search_offer_documents endpoint queries the Debt Offer Document filings section of SEBI's public registry. Given a required entity string (issuer or company name), it returns a list of matching filings, each containing the filing date, document title, and a direct link to the full document. The response also includes total_records and total_pages so you can paginate across large result sets using the page parameter.
Filtering Options
Date range filtering is supported via from_date and to_date, both in DD-MM-YYYY format. Omitting either bound leaves that end of the range open, making it straightforward to pull all filings since a given date or up to a specific cutoff. An optional subcategory parameter narrows results to a specific filing subcategory; when omitted, documents from all subcategories are returned.
Coverage and Scope
The API covers debt offer documents filed under SEBI's publicly accessible registry — typically prospectuses, shelf prospectus filings, and related debt security disclosures. Each call is scoped to a single entity name query; there is no bulk or full-registry export endpoint. Pagination is fixed at 25 records per page, so retrieving all filings for a prolific issuer requires iterating through total_pages.
The Gov API is a managed, monitored endpoint for sebi.gov.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sebi.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 sebi.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?+
- Track all debt filings for a specific issuer (e.g., HDFC or Reliance) by date range using from_date and to_date filters
- Build a compliance monitoring dashboard that alerts when a watched entity files a new debt offer document
- Aggregate SEBI prospectus links for a portfolio of corporate bond issuers for due diligence workflows
- Research historical debt issuance activity for an Indian company by paginating through all available filings
- Cross-reference debt offering dates with bond pricing data to correlate SEBI filings with market events
- Compile a dataset of debt offer document titles and filing dates for quantitative analysis of Indian fixed-income markets
| 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 SEBI provide an official developer API for its filings?+
What exactly does search_offer_documents return for each matching filing?+
documents array includes the filing date, the document title, and a direct link to the full document. The response envelope also provides total_records, total_pages, the current page, and the entity search term that was used.Can I search without specifying a date range?+
from_date and to_date parameters are both optional. When omitted, no date filter is applied and the endpoint returns all available filings matching the entity name. You can supply only one of the two dates to create an open-ended range.Does the API cover equity offer documents or only debt filings?+
Is there a way to retrieve all filings across all issuers at once?+
entity query and paginated at 25 records per page. Iterating page up to total_pages will retrieve the full result set for a given entity name. You can fork the API on Parse and revise it to add a broader listing endpoint if the source supports it.