# India SEBI Filings Tracker (`nexgendata/india-sebi-filings-tracker`) Actor

Track India's SEBI (Securities and Exchange Board of India — Indian SEC) public filings: DRHP / RHP IPO drafts, rights issues, SAST takeover letters of offer, buybacks, debt offer docs, REIT, InvIT, QIP, processing-status pipeline. Bloomberg alternative for Indian disclosure data.

- **URL**: https://apify.com/nexgendata/india-sebi-filings-tracker.md
- **Developed by:** [Stephan Corbeil](https://apify.com/nexgendata) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $100.00 / 1,000 sebi filings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## India SEBI Filings Tracker

**The Bloomberg / S&P CapitalIQ / Refinitiv Workspace alternative for Indian regulatory filings.** Pull every Draft Red Herring Prospectus (DRHP), Red Herring Prospectus (RHP), rights-issue letter of offer, SAST takeover offer, share buyback (tender + open-market), debt offer document (NCD / corporate bond), REIT issue, InvIT public / private / rights issue, QIP placement, and processing-status pipeline record from India's **Securities and Exchange Board of India (SEBI) — the Indian SEC equivalent** — in a single structured dataset, at less than 1% of the cost of a Bloomberg, S&P CapitalIQ, Refinitiv Eikon, or LSEG Workspace seat.

Built for **Indian institutional investors (DIIs, MFs, AMCs, FPIs), domestic and foreign equity analysts covering Indian large-cap / mid-cap / small-cap / SME, M&A bankers tracking takeover SAST disclosures, financial journalists (Mint, ET, BS, BQ Prime, MoneyControl, Bloomberg Quint) covering IPO season, IPO research desks publishing pre-listing notes, compliance officers monitoring substantial-acquisition events, VC / PE deal teams sourcing late-stage exits, debt-capital-markets desks tracking NCD issuance pipelines, REIT / InvIT specialists tracking Indian alternative-asset issuance, and quant funds backtesting IPO momentum or post-listing drift on Indian equities** who need clean, programmatic, structured access to SEBI's public filings register without paying $24,000/year per terminal license.

---

### Why SEBI matters

The Securities and Exchange Board of India (SEBI, **भारतीय प्रतिभूति और विनिमय बोर्ड**) is India's statutory securities-market regulator, established in 1988 and granted statutory powers under the SEBI Act 1992. SEBI plays the same role in India that the US SEC, UK FCA, Hong Kong SFC, Australia ASIC, Singapore MAS, and Japan FSA play in their respective jurisdictions: protect investors, develop the market, regulate intermediaries, and supervise public issuances and disclosures.

What this means in practice for institutional research workflows:

- **Every Indian main-board IPO** must file a **Draft Red Herring Prospectus (DRHP)** with SEBI before listing on BSE or NSE — covering everything from the largest LIC ($21B in May 2022), Reliance Jio Platforms, and Adani group offerings down to small SME issues. India saw **~270 main-board + SME IPOs in 2024** and the 2025-2026 pipeline is broader still: Reliance Jio, Reliance Retail, Tata Capital, Tata Play, BYJU's parent Think & Learn, OYO, PhonePe, Ola Electric, Swiggy, Boat Lifestyle, FirstCry, MobiKwik, OfBusiness, Honasa Consumer (Mamaearth), Whitehat Jr, Carwale-BikeWale, PharmEasy, Acko, CarTrade, Snapdeal, Vishal Mega Mart, NSDL, Hexaware, and dozens more.
- **Every substantial acquisition** of 5% or more in a listed company triggers a **SAST (SEBI Substantial Acquisition of Shares and Takeovers) letter of offer** — the closest SEBI-published proxy for insider / shareholder disclosure events. This is the canonical data source for tracking promoter-group consolidation, hostile takeovers (rare in India but increasingly relevant), strategic stakebuilding by FIIs / FPIs, and family-business control fights.
- **Every share buyback** by a listed Indian company must file with SEBI either as a **tender offer** (BUYBACK-TENDER) or via **open-market through stock exchanges** (BUYBACK-OPEN-MARKET) — the canonical signal of corporate capital-return policy. IT majors (TCS, Wipro, Infosys, HCL Tech) have historically been the heaviest buyback issuers.
- **Every NCD / corporate bond / debenture issue** files a **Debt Offer Document** — covering Bajaj Finance, Aditya Birla Finance, L&T Finance, HDFC, Mahindra & Mahindra Financial Services, Shriram Finance, Muthoot Finance, IIFL, JM Financial, and the broader NBFC / corporate-debt universe.
- **Every REIT / InvIT issue** — public, private, or rights — is captured: Embassy REIT, Mindspace REIT, Brookfield India REIT, Nexus Select Trust, Powergrid InvIT, IndiGrid InvIT, IRB InvIT, Bharat Highways InvIT, India Infrastructure Trust, and the broader Indian alternative-asset issuance pipeline.
- **Every QIP (Qualified Institutional Placement)** routes through SEBI's processing-status pipeline — the favoured Indian primary-market vehicle for follow-on equity raises by already-listed companies.

For any investor, banker, journalist, compliance officer, or research desk running an India strategy, clean structured access to SEBI's filings register is non-negotiable. This actor is the cheapest reliable JSON source you can plug into your pipeline — billed at **$0.10 per filing**, matching the premium institutional-disclosure tier set for the SEC Form 13F Tracker Pro.

---

### What you get per filing

Every record returned is a complete SEBI filing snapshot pulled directly from SEBI's official public-listing pages (`sebi.gov.in/sebiweb/home/HomeAction.do`). No HTML scraping, no anti-bot battles, no cookie warm-up needed — these are the same static-HTML pages that power the public-facing investor pages.

- `filing_id` — the SEBI internal filing ID extracted from the detail-page URL (e.g. `101469` for Gaurik Fashions Limited's May 2026 DRHP)
- `company_name` — the cleaned, normalized issuer / acquirer / offeror name (strips trailing `- DRHP`, `- RHP`, `- Letter of Offer`, `- Corrigendum to DRHP - 2`, etc. tags)
- `filing_type` — inferred from the visible SEBI title: `DRHP`, `RHP`, `UDRHP`, `ABRIDGED-PROSPECTUS`, `RIGHTS-LOO`, `RIGHTS-ISSUE`, `TAKEOVER-LOO`, `BUYBACK`, `TENDER-OFFER`, `INVIT`, `REIT`, `DEBT-OFFER`, `QIP`, `MUNICIPAL-DEBT`, `CORRIGENDUM`, or category default
- `filing_date` — ISO-8601 date the filing was published on SEBI (parsed from SEBI's `Month DD, YYYY` format)
- `sebi_url` — deep-link to the SEBI detail page (always present)
- `pdf_url` — direct link to the abridged-prospectus / letter-of-offer PDF when SEBI publishes one inline (present for ~60-80% of DRHP / RHP rows; always present for SME IPOs filed since mid-2024)
- `summary` — one-sentence human-readable summary (e.g. "Incred Holdings Limited filed a UDRHP with SEBI on 2026-05-14 under the Public Issues (DRHP / RHP / UDRHP) register.")
- `party_role` — `issuer` (default for DRHP / RHP / Rights / Debt / REIT / InvIT / QIP), `acquirer` (SAST takeover offers), `issuer-buyback` (tender / open-market buyback), or `promoter`
- `sector` — heuristic sector inference from the company name (Banking, Financial Services, Insurance, Pharmaceuticals, Information Technology, Renewable Energy, Oil & Gas, Power & Utilities, Metals & Mining, Cement, Construction & Engineering, Infrastructure, Real Estate, Hospitality, Retail, Food & FMCG, Apparel & Textiles, Chemicals, Agriculture, Automotive, Logistics & Shipping, Aviation, Defence, Media & Entertainment, Gaming, Education, Paper & Packaging, Electrical Equipment, Electronics, Semiconductors, REIT, InvIT, Public Sector / Muni)
- `category` — the SEBI register the filing was scraped from (`DRHP` / `RHP` / `RIGHTS-ISSUE` / `TAKEOVER` / `BUYBACK-TENDER` / `BUYBACK-OPEN-MARKET` / `DEBT-OFFER` / `PROCESSING-STATUS` / `INVIT-PUBLIC` / `INVIT-PRIVATE` / `REIT` / `QIP` / aliases)
- `category_label` — the human-readable SEBI section name
- `title_raw` — the unparsed SEBI title cell (preserved for downstream regex / NLP)
- `source` — always `sebi.gov.in`
- `country` — always `India`
- `regulator` — always `SEBI (Securities and Exchange Board of India)`
- `scraped_at` — ISO-8601 UTC timestamp on every record

---

### Inputs

| Input | Type | Default | What it does |
|---|---|---|---|
| `filing_types` | string[] | `["DRHP"]` | Which SEBI register(s) to sweep. See enum below. |
| `company_filter` | string[] | `[]` | Optional case-insensitive substrings on company name (e.g. `["reliance", "adani", "tata"]`). |
| `days_back` | integer | `90` | Look-back window in days (1-730). |
| `max_filings` | integer | `100` | Hard cap on filings returned (1-5000). |
| `start_date` | string | `""` | Optional ISO-8601 date floor (overrides `days_back`). |
| `end_date` | string | `""` | Optional ISO-8601 date ceiling. |
| `sector_filter` | string | `""` | Case-insensitive substring on inferred sector. |
| `status_filter` | string | `""` | Case-insensitive substring on title_raw / filing_type / category_label. |
| `proxyConfiguration` | object | Apify default | Standard Apify proxy block. |

#### Supported `filing_types` tokens

- `DRHP` / `RHP` / `PUBLIC-ISSUE` — main-board + SME IPO offer documents
- `RIGHTS-ISSUE` — letter of offer for rights issues
- `TAKEOVER` / `SHAREHOLDER-DISCLOSURE` / `INSIDER-TRADE-DISCLOSURE` — SAST substantial-acquisition letters of offer (the SEBI-published proxy for shareholder / insider disclosure events)
- `BUYBACK-TENDER` — share buyback via tender offer
- `BUYBACK-OPEN-MARKET` — share buyback via open market through stock exchanges
- `DEBT-OFFER` — NCD / corporate bond / debenture offer documents
- `PROCESSING-STATUS` / `QIP` — every offer doc currently in SEBI review pipeline (QIP placements route here)
- `REIT` — REIT public issues
- `INVIT-PUBLIC` / `INVIT-PRIVATE` — InvIT public / private issues
- `ALL` — sweeps every register

#### Recipe examples

**Recent IPO DRHPs (last 90 days):**
```json
{ "filing_types": ["DRHP"], "days_back": 90, "max_filings": 50 }
````

Returns every recent main-board + SME DRHP filed with SEBI in the last quarter — the canonical "IPO pipeline" view used by IPO research desks, sell-side equity analysts publishing pre-listing notes, and IPO-focused funds.

**SAST takeover events for a single conglomerate:**

```json
{
  "filing_types": ["TAKEOVER"],
  "company_filter": ["adani", "ambuja", "acc"],
  "days_back": 365
}
```

Returns every SAST letter of offer over the trailing year matching the Adani-group ecosystem — useful for M\&A bankers tracking promoter-group consolidation events and compliance officers monitoring substantial-acquisition triggers.

**Pharma / biotech IPO pipeline (last 6 months):**

```json
{
  "filing_types": ["DRHP", "RHP"],
  "sector_filter": "pharma",
  "days_back": 180
}
```

Returns Indian pharma / biotech IPO drafts filed with SEBI in the trailing half-year — used by sector-specialist analysts at Jefferies India, Kotak Institutional Equities, Motilal Oswal, IIFL, Nuvama, Ambit, Spark Capital, Avendus, and JM Financial.

**Buyback signal sweep (TCS / Wipro / Infosys / HCL / Tech Mahindra IT-majors):**

```json
{
  "filing_types": ["BUYBACK-TENDER", "BUYBACK-OPEN-MARKET"],
  "company_filter": ["tcs", "wipro", "infosys", "hcl tech", "tech mahindra"],
  "days_back": 730
}
```

Returns every IT-major buyback filing in the trailing two years — canonical capital-return-policy signal for India IT services.

**Full sweep (everything, last 30 days):**

```json
{ "filing_types": ["ALL"], "days_back": 30, "max_filings": 1000 }
```

Sweeps every SEBI register (Public Issues, Rights Issues, Takeovers, Buybacks, Debt, Processing Status, REIT, InvIT) for the trailing 30 days — the "regulator overview" view used by financial journalists and compliance dashboards.

**Date-range pin (Q1 2026 IPOs):**

```json
{
  "filing_types": ["DRHP", "RHP"],
  "start_date": "2026-01-01",
  "end_date": "2026-03-31",
  "max_filings": 500
}
```

Returns every IPO offer document filed with SEBI in calendar Q1 2026.

***

### Use cases

- **IPO research desks** publishing pre-listing notes on every Indian DRHP / RHP — fan out a daily sweep of new DRHPs and pipe the `pdf_url` into your NLP / summarization pipeline (Claude, GPT-4, Cohere, internal LLM).
- **M\&A bankers** at Kotak Investment Banking, JM Financial, Avendus, ICICI Securities, Axis Capital, Ambit, IIFL, Nuvama, Edelweiss tracking SAST takeover offers in real time and feeding into deal-comps databases.
- **Financial journalists** at Mint, Economic Times, Business Standard, BQ Prime, Bloomberg Quint, MoneyControl, CNBC-TV18 covering IPO season and corporate actions.
- **Domestic mutual fund desks** (SBI MF, HDFC AMC, ICICI Pru AMC, Nippon India MF, Kotak MF, Aditya Birla SLAMC, UTI AMC, DSP MF, Axis MF) building IPO-tracking workflows and anchor-investor allocation processes.
- **Foreign Portfolio Investors (FPIs)** running emerging-market mandates with India sleeves at Capital Group, T. Rowe Price, Fidelity International, Vanguard, BlackRock, Aberdeen, BNY Mellon, JPMorgan AM, Goldman SAM, Morgan Stanley IM monitoring the Indian primary-issuance pipeline.
- **Compliance officers** at FPIs / FIIs / brokerages monitoring SAST substantial-acquisition triggers and SEBI processing-status changes on portfolio holdings.
- **VC / PE deal teams** at Sequoia India / Peak XV, Lightspeed India, Accel India, Matrix Partners India, Nexus Venture, Elevation Capital, Premji Invest, Westbridge, ChrysCapital, True North, ICICI Venture, KKR India, Bain Capital India, TPG Capital India, Carlyle India, Blackstone India sourcing late-stage exits and tracking portfolio companies through the IPO pipeline.
- **Debt-capital-markets desks** at HDFC Securities, ICICI Securities, Kotak Securities, Axis Capital, Edelweiss, Trust Capital monitoring NCD issuance pipelines.
- **REIT / InvIT specialists** tracking Indian alternative-asset issuance (Embassy, Mindspace, Brookfield India, Nexus Select, Powergrid InvIT, IndiGrid InvIT, IRB InvIT).
- **Quant funds** backtesting IPO momentum, anchor-allocation discount, listing-day pop, post-listing drift, and SAST takeover-offer arbitrage on Indian equities.

***

### How this compares to alternatives

| Solution | Cost | Coverage | Update frequency | API access | Auth |
|---|---|---|---|---|---|
| **India SEBI Filings Tracker (this actor)** | **$0.10/filing** | DRHP + RHP + Rights + SAST + Buyback + Debt + REIT + InvIT + QIP + Processing Status | On-demand (every run hits live SEBI) | REST + Apify SDK + cURL + Python + Node | Apify token |
| Bloomberg Terminal | $24,000/yr/seat | Global incl. India | Real-time | TKDB / Bloomberg API (terminal-bound) | Bloomberg account |
| Refinitiv Eikon / LSEG Workspace | $22,000/yr/seat | Global incl. India | Real-time | Refinitiv API | LSEG account |
| S\&P CapitalIQ / Capital IQ Pro | $26,000/yr/seat | Global incl. India | Real-time | CIQ Xpressfeed | S\&P account |
| FactSet | $20,000/yr/seat | Global incl. India | Real-time | FactSet API | FactSet account |
| Prime Database | ~₹3-5 lakh/yr | India IPO database | Daily | Excel / web portal | Subscription |
| Trendlyne IPO module | ~₹3,000/yr retail | India IPO pipeline | Daily | Web portal | Subscription |
| Manual SEBI scraping | "Free" eng time | What you build | What you build | What you build | None |

This actor is purpose-built for the **programmatic Indian-regulatory-disclosure workflow** — the same dataset that powers institutional IPO-research dashboards, M\&A deal-flow trackers, and compliance pipelines, exposed as a clean JSON API at the price of a coffee per 30 filings.

***

### Related Apify actors (sister fleet — India / APAC / regulatory coverage)

Build complete India and emerging-market research pipelines by combining this actor with:

- [`nexgendata/bse-india-stock-screener`](https://apify.com/nexgendata/bse-india-stock-screener) — **BSE India Stock Screener**, Bombay Stock Exchange equity quotes + fundamentals (SENSEX 30, BSE 100/200/500/1000, ~5,400 listed names) for the post-listing tracking complement to this actor's pre-listing DRHP / RHP coverage.
- [`nexgendata/nse-india-stock-screener`](https://apify.com/nexgendata/nse-india-stock-screener) — **NSE India Stock Screener**, National Stock Exchange Nifty 200 equity quotes + fundamentals — the other half of the BSE / NSE dual-listed Indian equity universe.
- [`nexgendata/india-mca-inc-22-32-filings`](https://apify.com/nexgendata/india-mca-inc-22-32-filings) — **India MCA INC-22 / INC-32 Filings Tracker**, Ministry of Corporate Affairs corporate-formation + registered-office-change event stream (the upstream corporate-registry complement to SEBI's downstream securities-market filings).
- [`nexgendata/ipo-tracker`](https://apify.com/nexgendata/ipo-tracker) — **IPO Tracker**, multi-market global IPO calendar covering NYSE, NASDAQ, LSE, Euronext, HKEX, BSE, NSE, ASX, SGX, JPX — pair with SEBI for the India sleeve.
- [`nexgendata/apac-ipo-calendar-sweep`](https://apify.com/nexgendata/apac-ipo-calendar-sweep) — **APAC IPO Calendar Sweep**, regional IPO calendar across HKEX, SGX, ASX, JPX, BSE, NSE, KRX, TWSE — pair with SEBI for the India-specific filings detail.
- [`nexgendata/sec-form-13f-tracker-pro`](https://apify.com/nexgendata/sec-form-13f-tracker-pro) — **SEC Form 13F Tracker Pro**, US institutional investor quarterly holdings — the US analog of this SEBI actor's SAST takeover-disclosure register.
- [`nexgendata/china-ashare-insider-trades`](https://apify.com/nexgendata/china-ashare-insider-trades) — **China A-Share Insider Trades**, Shanghai + Shenzhen executive trade disclosures — the China complement to this actor's SEBI insider-trade-adjacent SAST register.
- [`nexgendata/regulatory-filings-mcp`](https://apify.com/nexgendata/regulatory-filings-mcp) — **Regulatory Filings MCP Server**, single MCP endpoint multiplexing SEC, SEBI, MCA, HKEX, ASIC, AMF, BaFin and more.

***

### Pricing

- **$0.10 per filing returned** (premium institutional disclosure data tier — matches SEC Form 13F Tracker Pro)
- **$0.00005 per run start** (negligible)
- 30 filings = $3.00. 100 filings = $10.00. 1000 filings = $100.00.

No subscription, no minimum, no contract. Pay-per-event billed via Apify.

***

### Sign up with our affiliate link

If you don't already have an Apify account, sign up via <https://www.apify.com/?fpr=2ayu9b> — you get free starter credits, and we earn 20% (3 months) → 30% (ongoing) revenue share which helps keep these niche regulatory-data actors maintained.

***

### Disclaimer

SEBI filings are public documents published by the Securities and Exchange Board of India. This actor scrapes only publicly accessible filings-register pages on sebi.gov.in — no authentication required, no terms of service violated, no rate-limit pressure imposed (the actor paces requests to be polite to SEBI's edge). Output is for informational and research purposes only and does not constitute investment advice, M\&A advice, or legal advice. Always validate filing data against the source PDF before making investment, M\&A, or compliance decisions.

Sector inference is heuristic (keyword-based on company name) and may misclassify niche issuers — treat the `sector` field as a hint, not ground truth, and fall back to the source DRHP / RHP / letter of offer for authoritative sector classification.

Built and maintained by NexGenData. For support, custom data feeds, or enterprise pricing on the broader Indian / APAC regulatory dataset, contact support@thenextgennexus.com.

# Actor input Schema

## `filing_types` (type: `array`):

Which SEBI filing categories to sweep. DRHP / RHP / PUBLIC-ISSUE cover main-board IPO offer documents. RIGHTS-ISSUE covers letter of offer for rights issues. TAKEOVER covers SAST substantial acquisition letters of offer (the closest SEBI-published proxy for shareholder / insider disclosure events). BUYBACK-TENDER / BUYBACK-OPEN-MARKET cover share buyback offers. DEBT-OFFER covers NCD / corporate bond offer documents. PROCESSING-STATUS covers every offer doc currently in SEBI review pipeline (the QIP alias also routes here). REIT / INVIT-PUBLIC / INVIT-PRIVATE cover real-estate and infrastructure investment trusts. ALL sweeps every category. Use INSIDER-TRADE-DISCLOSURE / SHAREHOLDER-DISCLOSURE for the SAST takeover register (SEBI does not publish a separate per-trade insider register — those filings live with BSE / NSE — but SAST disclosures here capture every substantial-acquisition event).

## `company_filter` (type: `array`):

Optional list of company-name substrings (case-insensitive). E.g. \['reliance', 'adani', 'tata', 'infosys']. Leave empty to return every filing.

## `days_back` (type: `integer`):

How many days of SEBI filings to scan (1-730). Defaults to 90 (last quarter). SEBI's listing pages cover roughly the last 12-18 months in the visible HTML table.

## `max_filings` (type: `integer`):

Hard cap on filings returned (1-5000). Each filing charges $0.10 (premium institutional disclosure data tier — matches SEC Form 13F). Sweep size accordingly.

## `start_date` (type: `string`):

Optional ISO date floor. If set, overrides days\_back. Example: 2026-01-01.

## `end_date` (type: `string`):

Optional ISO date ceiling. Example: 2026-05-19. Leave empty for today.

## `sector_filter` (type: `string`):

Optional substring filter on the inferred sector field. Examples: 'banking', 'pharma', 'technology', 'real estate', 'energy', 'metals'. Inference is heuristic from company-name keywords — leave empty for any sector.

## `status_filter` (type: `string`):

Optional substring on the raw SEBI title or category label. Examples: 'corrigendum', 'addendum', 'abridged', 'open offer'. Use 'any' (default) or empty to skip.

## `proxyConfiguration` (type: `object`):

Apify proxy. Datacenter is fine for SEBI (their public listing pages don't aggressively rate-limit). Switch to RESIDENTIAL with apifyProxyCountry='IN' only if you hit transient blocks on a very large run.

## Actor input object example

```json
{
  "filing_types": [
    "DRHP",
    "RHP",
    "TAKEOVER"
  ],
  "company_filter": [],
  "days_back": 90,
  "max_filings": 50,
  "start_date": "",
  "end_date": "",
  "sector_filter": "",
  "status_filter": "",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "filing_types": [
        "DRHP",
        "RHP",
        "TAKEOVER"
    ],
    "company_filter": [],
    "days_back": 90,
    "max_filings": 50,
    "start_date": "",
    "end_date": "",
    "sector_filter": "",
    "status_filter": "",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/india-sebi-filings-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "filing_types": [
        "DRHP",
        "RHP",
        "TAKEOVER",
    ],
    "company_filter": [],
    "days_back": 90,
    "max_filings": 50,
    "start_date": "",
    "end_date": "",
    "sector_filter": "",
    "status_filter": "",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/india-sebi-filings-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "filing_types": [
    "DRHP",
    "RHP",
    "TAKEOVER"
  ],
  "company_filter": [],
  "days_back": 90,
  "max_filings": 50,
  "start_date": "",
  "end_date": "",
  "sector_filter": "",
  "status_filter": "",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call nexgendata/india-sebi-filings-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/india-sebi-filings-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "India SEBI Filings Tracker",
        "description": "Track India's SEBI (Securities and Exchange Board of India — Indian SEC) public filings: DRHP / RHP IPO drafts, rights issues, SAST takeover letters of offer, buybacks, debt offer docs, REIT, InvIT, QIP, processing-status pipeline. Bloomberg alternative for Indian disclosure data.",
        "version": "0.0",
        "x-build-id": "X2b2hmcniS1pGRPhd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~india-sebi-filings-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-india-sebi-filings-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/nexgendata~india-sebi-filings-tracker/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-india-sebi-filings-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/nexgendata~india-sebi-filings-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-india-sebi-filings-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "filing_types": {
                        "title": "SEBI filing type(s)",
                        "type": "array",
                        "description": "Which SEBI filing categories to sweep. DRHP / RHP / PUBLIC-ISSUE cover main-board IPO offer documents. RIGHTS-ISSUE covers letter of offer for rights issues. TAKEOVER covers SAST substantial acquisition letters of offer (the closest SEBI-published proxy for shareholder / insider disclosure events). BUYBACK-TENDER / BUYBACK-OPEN-MARKET cover share buyback offers. DEBT-OFFER covers NCD / corporate bond offer documents. PROCESSING-STATUS covers every offer doc currently in SEBI review pipeline (the QIP alias also routes here). REIT / INVIT-PUBLIC / INVIT-PRIVATE cover real-estate and infrastructure investment trusts. ALL sweeps every category. Use INSIDER-TRADE-DISCLOSURE / SHAREHOLDER-DISCLOSURE for the SAST takeover register (SEBI does not publish a separate per-trade insider register — those filings live with BSE / NSE — but SAST disclosures here capture every substantial-acquisition event).",
                        "default": [
                            "DRHP"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "company_filter": {
                        "title": "Company-name filter (optional)",
                        "type": "array",
                        "description": "Optional list of company-name substrings (case-insensitive). E.g. ['reliance', 'adani', 'tata', 'infosys']. Leave empty to return every filing.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "days_back": {
                        "title": "Look-back window (days)",
                        "minimum": 1,
                        "maximum": 730,
                        "type": "integer",
                        "description": "How many days of SEBI filings to scan (1-730). Defaults to 90 (last quarter). SEBI's listing pages cover roughly the last 12-18 months in the visible HTML table.",
                        "default": 90
                    },
                    "max_filings": {
                        "title": "Maximum filings",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Hard cap on filings returned (1-5000). Each filing charges $0.10 (premium institutional disclosure data tier — matches SEC Form 13F). Sweep size accordingly.",
                        "default": 100
                    },
                    "start_date": {
                        "title": "Start date (optional, YYYY-MM-DD)",
                        "type": "string",
                        "description": "Optional ISO date floor. If set, overrides days_back. Example: 2026-01-01.",
                        "default": ""
                    },
                    "end_date": {
                        "title": "End date (optional, YYYY-MM-DD)",
                        "type": "string",
                        "description": "Optional ISO date ceiling. Example: 2026-05-19. Leave empty for today.",
                        "default": ""
                    },
                    "sector_filter": {
                        "title": "Sector filter (optional, case-insensitive substring)",
                        "type": "string",
                        "description": "Optional substring filter on the inferred sector field. Examples: 'banking', 'pharma', 'technology', 'real estate', 'energy', 'metals'. Inference is heuristic from company-name keywords — leave empty for any sector.",
                        "default": ""
                    },
                    "status_filter": {
                        "title": "Status filter (optional)",
                        "type": "string",
                        "description": "Optional substring on the raw SEBI title or category label. Examples: 'corrigendum', 'addendum', 'abridged', 'open offer'. Use 'any' (default) or empty to skip.",
                        "default": ""
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy. Datacenter is fine for SEBI (their public listing pages don't aggressively rate-limit). Switch to RESIDENTIAL with apifyProxyCountry='IN' only if you hit transient blocks on a very large run.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
