# NSE Corporate Announcements API – Filings, Actions & Bulk Deals (`data_daemon/nse-corporate-announcements`) Actor

NSE India corporate filings as JSON: announcements with category, summary and PDF link, corporate actions (dividend, bonus, split ex-dates), board meetings, bulk and block deals, credit ratings, shareholding patterns, IPO offer documents. Symbol and category filters, only-new feed. $3 per 1,000.

- **URL**: https://apify.com/data_daemon/nse-corporate-announcements.md
- **Developed by:** [Daemon Data](https://apify.com/data_daemon) (community)
- **Categories:** Developer tools, Agents
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.10 / 1,000 filing rows

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## NSE Corporate Announcements API – Filings, Actions & Bulk Deals

**NSE India corporate filings as a JSON feed: announcements, corporate actions, board meetings, bulk and block deals, credit ratings, shareholding patterns and IPO offer documents.** Every filing listed companies submit to the [National Stock Exchange of India](https://www.nseindia.com/companies-listing/corporate-filings-announcements), with symbol, company, ISIN, NSE's category, the summary text, the attached PDF link and the broadcast time in India time. Built for brokers' apps, fintech dashboards, alert and newsletter builders, analysts and AI agents that need the filings as rows instead of a web page. Filter by symbol, category or keyword, pull a date range, or schedule it with `onlyNew` and receive each filing once.

```bash
curl -X POST "https://api.apify.com/v2/acts/data_daemon~nse-corporate-announcements/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
  -d '{"reports": ["announcements"], "daysBack": 0, "maxItems": 0}'
```

Checked on 10 November 2026: NSE carried **6,933 equity announcements for 2-9 November** (904 to 1,530 on each of the five trading days 2-6 November, 234 on Monday the 9th), 14,045 for October and 88,003 for January-June 2026; 2,027 corporate actions with a 2026 ex-date; 6,354 board meetings for August-October; 25,552 bulk-deal rows for 1 January-9 November; 895 credit-rating rows and 2,460 shareholding patterns since 1 October; 2,648 offer documents (1,271 main board, 1,377 SME). Read live from NSE on every run.

$3 per 1,000 rows ($0.003 per row). No start fee, no subscription.

### What teams run, and what it costs

| You are | You run | Cost |
|---|---|---|
| Alert or newsletter builder | Daily: `reports: ["announcements"]`, `categories: ["Dividend", "Bonus", "orders", "Acquisition"]`, `onlyNew: true` | cents a day (a few dozen rows) |
| Portfolio or watchlist app | `symbols: ["RELIANCE", "TCS", ...]`, `reports: ["announcements", "corporateActions", "boardMeetings"]`, `onlyNew: true` | 50 symbols: about $1.50-3 per month |
| Fintech dashboard / broker app | The whole market every day: `daysBack: 2`, `onlyNew: true`, `maxItems: 0` | about 12,000-20,000 announcements a month: $36-60 |
| Dividend and ex-date calendar | `reports: ["corporateActions"]`, `daysAhead: 60` | about 100-250 rows: $0.30-0.75 per pull |
| Deal tracker (who bought, who sold) | `reports: ["deals"]`, `dealTypes: ["bulk", "block"]`, `onlyNew: true` | about 2,900 rows a month: $9 |
| Analyst backfill | `fromDate` / `toDate`, `maxItems: 0` | October 2026 announcements, 14,045 rows: $42 |
| Developer / AI agent | A sample: the default input returns the 50 newest announcements | $0.15 |

Export JSON, CSV or Excel, connect by API, webhook, Google Sheets, Make or n8n, or ask an AI agent through the Apify MCP server.

### What does the NSE announcements API return?

Eight reports, chosen with `reports`. Each row carries its `reportType`.

| Report | What it is | Window |
|---|---|---|
| `announcements` (default) | Every corporate announcement: board meeting outcomes, results, press releases, investor presentations, order wins, dividends, management changes, credit ratings, insolvency updates. Category, summary, PDF link, broadcast time, XBRL flag, NSE's longer summary where it exists. | last `daysBack` days, newest first |
| `corporateActions` | Dividends, bonus issues, splits, rights, buybacks and InvIT distributions with ex-date and record date. The free-text purpose is also parsed into `actionType`, `amountPerShare`, `ratio`, `faceValueFrom` / `faceValueTo`. | next `daysAhead` days by ex-date, soonest first |
| `boardMeetings` | Meeting date, purpose (financial results, dividend, fund raising, buyback), description, attachment. | next `daysAhead` days, soonest first |
| `eventCalendar` | NSE's event calendar: results, dividend, fund-raising dates per company. | next `daysAhead` days, soonest first |
| `deals` | Bulk deals and block deals (client, buy or sell, quantity, price, value) and daily short-selling quantities. | last `daysBack` days, newest first |
| `creditRatings` | Rating filings: agency, rating, action (new, reaffirm, upgrade, downgrade), outlook, the earlier rating, `ratingChanged`. | last `daysBack` days |
| `shareholdingPatterns` | Promoter and public holding per quarterly filing, with the XBRL link. | last `daysBack` days |
| `offerDocuments` | The IPO pipeline: draft (DRHP), red herring and final prospectus dates and files, issue dates. | the whole register, newest first |

`fromDate` and `toDate` replace the windows for every report.

### Why use this instead of the NSE website

- **Rows, not pages.** NSE shows filings in browser tables and offers no free developer API for them. This Actor returns the same public data as clean JSON with ISO dates in India time, numbers as numbers and stable field names.
- **A feed that delivers each filing once.** With `onlyNew` the Actor remembers what it delivered. Schedule it with `daysBack: 2`: a filing broadcast late at night is still picked up next morning, and nothing is delivered or charged twice.
- **Filter before you pay.** `symbols`, `categories` and `keywords` are applied before rows are saved, so a watchlist or a "dividends only" feed costs cents.
- **One call for the whole filing desk.** Announcements, ex-dates, board meetings, deals, ratings, shareholding and offer documents share one input and one output format; no separate scraper per NSE page.
- **Parsed corporate actions.** "Interim Dividend - Rs 2.50 Per Share" becomes `actionType: "dividend"`, `amountPerShare: 2.5`; "Bonus 1:1" becomes `ratio: "1:1"`; a split carries the old and new face value.

### How to use it

1. Click **Try for free**. The default input returns the 50 newest NSE announcements (about $0.15).
2. Pick the **Reports** you need and, if you follow specific companies, add their NSE **Symbols**.
3. Narrow announcements with **Categories** (NSE's subject, for example `Dividend`, `Outcome of Board Meeting`, `Press Release`) or **Keywords** found in the summary text.
4. Choose the dates: **Days back** for filings, **Days ahead** for ex-dates and meetings, or **From date** / **To date** for a backfill. Set **Maximum rows per report** to `0` for everything.
5. For a daily feed, schedule the run with **Only new rows** on. The first run delivers the window, later runs only what is new.

### Input

```json
{
    "reports": ["announcements", "corporateActions"],
    "symbols": ["RELIANCE", "TCS", "HDFCBANK"],
    "categories": [],
    "keywords": [],
    "daysBack": 2,
    "daysAhead": 30,
    "maxItems": 0,
    "onlyNew": true,
    "stateName": "watchlist-1"
}
```

| Field | What it does |
|---|---|
| `reports` | One or more of `announcements`, `corporateActions`, `boardMeetings`, `eventCalendar`, `deals`, `creditRatings`, `shareholdingPatterns`, `offerDocuments`. Default `["announcements"]`. |
| `symbols` | NSE symbols to keep. Empty = the whole market. With up to 25 symbols announcements are read per company, so a long history for a watchlist is a small run. |
| `categories` | Keep rows whose category or purpose contains one of these words (case-insensitive). |
| `keywords` | Keep rows whose company, category or summary text contains one of these words. |
| `daysBack` | Filings: days before today (India time) to read, today included. Default 2. |
| `daysAhead` | Corporate actions, board meetings, event calendar: days after today to read. Default 30. |
| `fromDate`, `toDate` | `YYYY-MM-DD` range for every selected report. |
| `segments` | `equities` (default), `sme` (NSE Emerge), and for announcements also `debt`, `mf`, `invitsreits`. The event calendar, deals and credit ratings are market-wide and ignore it. |
| `dealTypes` | `bulk`, `block`, `shortSelling` (default: all). |
| `maxItems` | Maximum rows per report. Default 50; `0` = no limit. |
| `onlyNew`, `stateName` | Deliver only rows not delivered before under this state name. |
| `proxyConfiguration` | Optional; NSE answers Apify datacenter IPs without a proxy. |

Unknown values never fail a run: they are skipped and listed in the run's status message.

### Output

An announcement:

```json
{
    "reportType": "announcements",
    "id": "106854171",
    "segment": "equities",
    "symbol": "SUNDROP",
    "company": "Sundrop Brands Limited",
    "isin": "INE209A01019",
    "category": "Analysts/Institutional Investor Meet/Con. Call Updates",
    "summary": "Sundrop Brands Limited has informed the Exchange about Transcript of Investors and Analysts Conference Call held on November 06, 2026.",
    "attachmentUrl": "https://nsearchives.nseindia.com/corporate/Kavita_Sundrop_10112026152741_SEIntimationTranscriptofInvestorCallNov062026.pdf",
    "attachmentSize": "716.18 KB",
    "attachmentSizeKb": 716.18,
    "hasXbrl": true,
    "date": "2026-11-10",
    "broadcastAt": "2026-11-10T15:27:53+05:30",
    "disseminatedAt": "2026-11-10T15:27:53+05:30",
    "companyUrl": "https://www.nseindia.com/get-quotes/equity?symbol=SUNDROP",
    "source": "National Stock Exchange of India (nseindia.com corporate filings)",
    "scrapedAt": "2026-11-10T10:04:06.412Z"
}
```

A corporate action and a block deal:

```json
[
    {
        "reportType": "corporateActions",
        "segment": "equities",
        "symbol": "ADFFOODS",
        "company": "ADF Foods Limited",
        "isin": "INE982B01019",
        "series": "EQ",
        "purpose": "Interim Dividend - Re 0.60 Per Share",
        "actionType": "dividend",
        "amountPerShare": 0.6,
        "faceValue": 2,
        "exDate": "2026-11-11",
        "recordDate": "2026-11-11",
        "daysToExDate": 1,
        "companyUrl": "https://www.nseindia.com/get-quotes/equity?symbol=ADFFOODS"
    },
    {
        "reportType": "deals",
        "dealType": "block",
        "date": "2026-11-09",
        "symbol": "COHANCE",
        "company": "Cohance Lifesciences Ltd",
        "clientName": "JASTI FAMILY TRUST",
        "side": "SELL",
        "quantity": 3000000,
        "price": 430,
        "valueInr": 1290000000
    }
]
```

Main fields by report:

| Report | Fields |
|---|---|
| `announcements` | `id`, `segment`, `symbol`, `company`, `isin`, `industry`, `category`, `summary`, `detailedSummary`, `attachmentUrl`, `attachmentSize`, `attachmentSizeKb`, `hasXbrl`, `audioSummaryUrl`, `date`, `broadcastAt`, `disseminatedAt`, `companyUrl` |
| `corporateActions` | `symbol`, `company`, `isin`, `series`, `purpose`, `actionType`, `amountPerShare`, `ratio`, `rightsPremium`, `faceValueFrom`, `faceValueTo`, `faceValue`, `exDate`, `recordDate`, `bookClosureStart`, `bookClosureEnd`, `daysToExDate` |
| `boardMeetings` | `symbol`, `company`, `isin`, `industry`, `meetingDate`, `purpose`, `description`, `attachmentUrl`, `ixbrlUrl`, `broadcastAt`, `daysToMeeting` |
| `eventCalendar` | `symbol`, `company`, `eventDate`, `purpose`, `description`, `daysToEvent` |
| `deals` | `dealType`, `date`, `symbol`, `company`, `clientName`, `side`, `quantity`, `price`, `valueInr`, `remarks` |
| `creditRatings` | `filingId`, `symbol`, `company`, `isin`, `agency`, `rating`, `ratingAction`, `outlook`, `ratingDate`, `earlierRating`, `earlierOutlook`, `earlierRatingDate`, `ratingChanged`, `xbrlUrl`, `broadcastAt` |
| `shareholdingPatterns` | `id`, `symbol`, `company`, `isin`, `asOnDate`, `promoterPercent`, `publicPercent`, `employeeTrustPercent`, `revised`, `submissionDate`, `xbrlUrl`, `broadcastAt` |
| `offerDocuments` | `company`, `symbol`, `isin`, `stage`, `draftProspectusDate`, `draftProspectusStatus`, `draftProspectusUrl`, `redHerringProspectusDate`, `redHerringProspectusUrl`, `finalProspectusDate`, `finalProspectusUrl`, `issueOpenDate`, `issueCloseDate`, `latestDocumentDate` |

Every row also has `exchange` (`NSE`), `source` and `scrapedAt`; only-new runs add `changeType` (`new` or `updated`). Times are India Standard Time with the `+05:30` offset. A field NSE leaves empty is omitted. You can download the dataset as JSON, CSV, Excel, XML or HTML.

### How much does it cost to get NSE announcements and filings?

$0.003 per row, for every report. There is no start fee and no monthly fee, and a run that finds nothing new costs nothing.

- The default run (50 newest announcements): $0.15.
- A watchlist of 50 symbols, announcements plus corporate actions, daily with `onlyNew`: about 500-1,000 rows a month, $1.50-3.
- Every equity announcement, daily: 12,000-20,000 rows a month, $36-60 (results season is the top of the range).
- All corporate actions with an ex-date in 2026 (2,027 rows): $6.08.
- Bulk and block deals for a month (about 2,900 rows): $9.

Set a maximum cost per run in the run options and the Actor stops cleanly at that amount.

### Tips

- **Daily feed:** `daysBack: 2`, `onlyNew: true`, `maxItems: 0`, scheduled once or several times a day. The overlap catches late filings; delivered rows are skipped for free.
- **Intraday alerts:** schedule every 15-30 minutes with `daysBack: 0` and `onlyNew: true`; each run returns only the filings broadcast since the previous one.
- **One feed per use:** give each schedule its own `stateName` (for example `dividends`, `watchlist-a`) so their memories stay separate.
- **Categories are NSE's own subjects.** Common ones: `Outcome of Board Meeting`, `Analysts/Institutional Investor Meet/Con. Call Updates`, `Press Release`, `Investor Presentation`, `Dividend`, `Acquisition`, `Bagging/Receiving of orders/contracts`, `Credit Rating`, `Change in Management`, `Resignation`, `Corporate Insolvency Resolution Process`. A filter word matches any category that contains it.
- **Backfills** read a month per request; a full month of the whole market takes well under a minute. Raise the run timeout only for multi-year pulls.
- **Deals** are published by NSE after the trading day, so a run during market hours returns deals up to the previous trading day.
- **Offer documents** have no date window by default: the run returns the register newest first. Use `onlyNew` to follow new DRHP filings and stage changes.

### FAQ

**Is there an official NSE API for corporate announcements?** NSE does not offer a free developer API for these filings. It shows them on its website, publishes RSS feeds for several filing types (the announcements feed holds the current day only, without symbol, ISIN or category fields; checked 10 November 2026), and sells licensed market-data products through NSE Data & Analytics. This Actor reads the public filing pages' data and returns it as JSON, CSV or Excel through the Apify API.

**Can I call NSE's endpoints myself?** Yes. [Is there an NSE India API for corporate announcements, corporate actions and bulk deals?](https://dev.to/datadaemon/is-there-an-nse-india-api-for-corporate-announcements-corporate-actions-and-bulk-deals-json-2d48) documents NSE's RSS feeds, the JSON endpoints, tested Python and the gotchas (checked 10 November 2026).

**How fresh is the data?** Each run reads NSE at that moment, so a filing is available as soon as NSE lists it. `broadcastAt` and `disseminatedAt` are NSE's own timestamps.

**Does it include BSE?** No. Rows come from NSE only (`exchange: "NSE"`). For BSE use the [BSE Corporate Announcements API](https://apify.com/data_daemon/bse-corporate-announcements); the two share input and output names, so one input drives both and the rows stack.

**Does it download the PDF?** It returns the link (`attachmentUrl`) and the file size. The summary text NSE publishes with each filing is in `summary`; for some filings NSE also publishes a longer summary, returned as `detailedSummary`.

**Why are some fields missing on a row?** NSE leaves them empty: for example `industry` on many announcements, `isin` on SME rows, or the client and price on short-selling rows (NSE publishes only the quantity).

**How far back can I go?** As far as NSE serves: announcements go back many years for a symbol (`symbols` + `fromDate`), and whole-market ranges are read month by month.

**What does `onlyNew` remember?** The ids of delivered rows, per report and month, in a named key-value store in your account (`nse-filings-only-new`). Delete a state record or use a new `stateName` to start over.

**Is it legal?** These are regulatory disclosures that listed companies publish for investors on the exchange's public website. The data is provided for information only and is not investment advice; you are responsible for how you use it and for NSE's terms of use.

**Something wrong or missing?** Open an issue on the Issues tab with the input you used.

### Related Actors by Daemon Data

- [BSE Corporate Announcements API](https://apify.com/data_daemon/bse-corporate-announcements) – BSE filings, corporate actions, board meetings, results calendar, bulk and block deals
- [India IPO Tracker API](https://apify.com/data_daemon/india-ipo-tracker) – live GMP, subscription status, IPO calendar and listing performance, mainboard and SME
- [Indian Stock Market API (Tickertape)](https://apify.com/data_daemon/tickertape-stocks-scraper) – NSE/BSE fundamentals, shareholding and screener
- [India New Company Registrations](https://apify.com/data_daemon/india-new-company-registrations) – companies incorporated in India each day (MCA register)
- [Dubai DLD Property Transactions API](https://apify.com/data_daemon/dubai-property-transactions) – Dubai Land Department sales, mortgages and gifts
- All Actors by [Daemon Data](https://apify.com/data_daemon)

# Actor input Schema

## `reports` (type: `array`):

Which NSE filing feeds to read. Each row carries its `reportType`. `announcements` (default): every corporate announcement with category, summary text and PDF link (900-1,500 on a weekday). `corporateActions`: dividends, bonus, splits, rights and buybacks by ex-date. `boardMeetings`: meeting date and purpose. `eventCalendar`: results and dividend dates. `deals`: bulk, block and short-selling disclosures. `creditRatings`: rating actions by CRISIL, CARE, ICRA and others. `shareholdingPatterns`: promoter and public holding per filing. `offerDocuments`: draft, red herring and final prospectuses (the IPO pipeline).

## `symbols` (type: `array`):

NSE symbols to keep, for example `RELIANCE`, `TCS`, `HDFCBANK`. Empty = the whole market. With up to 25 symbols the announcements are read per company, so a year of history for a watchlist is a small run.

## `categories` (type: `array`):

Keep rows whose category contains one of these words (case-insensitive). For announcements this is NSE's subject, for example `Dividend`, `Outcome of Board Meeting`, `Press Release`, `Investor Presentation`, `orders`, `Acquisition`, `Credit Rating`, `Resignation`, `Bonus`, `Buyback`. For corporate actions, board meetings and the event calendar it is the purpose (`Dividend`, `Bonus`, `Financial Results`, `Fund Raising`). Empty = all.

## `keywords` (type: `array`):

Keep rows whose company name, category or summary text contains one of these words (case-insensitive), for example `order`, `preferential`, `QIP`, `demerger`. Empty = all.

## `daysBack` (type: `integer`):

For announcements, deals, credit ratings and shareholding patterns: how many days before today (India time) to read, today included. `0` = today only, `2` (default) = today and the two days before. Ignored when From date is set.

## `daysAhead` (type: `integer`):

For corporate actions (ex-dates), board meetings and the event calendar: how many days after today to read, soonest first. Default 30. Ignored when To date is set.

## `fromDate` (type: `string`):

First day (YYYY-MM-DD, India time) for every selected report. Use with To date for a backfill; a month of whole-market announcements is about 12,000-20,000 rows.

## `toDate` (type: `string`):

Last day (YYYY-MM-DD, India time). Empty = today for filings, today + Days ahead for calendars.

## `segments` (type: `array`):

NSE segments. `equities` (default) is the main board. `sme` is NSE Emerge (announcements, corporate actions, board meetings, shareholding, offer documents). `debt`, `mf` (mutual funds and ETFs) and `invitsreits` apply to announcements only.

## `dealTypes` (type: `array`):

For the `deals` report: bulk deals (client, buy or sell, quantity, price), block deals, and daily short-selling quantities. Default: all three.

## `maxItems` (type: `integer`):

Stop each report after this many rows (newest first for filings, soonest first for calendars). `0` = no limit. Each row costs $0.003, so the default 50 rows cost $0.15.

## `onlyNew` (type: `boolean`):

Remember what was delivered and return only rows that are new since the last run with the same state name. Rows already delivered are skipped and not charged again, so a scheduled run with Days back 2 never misses a late filing and never bills one twice. An offer document whose stage changes (draft to red herring to final) is delivered again with `changeType: "updated"`.

## `stateName` (type: `string`):

Name of the only-new memory. Use a different name for each independent feed (for example one per watchlist). Letters, digits, dash and underscore.

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

Optional. NSE answers Apify datacenter IPs without a proxy (checked 10 Nov 2026), so none is used by default.

## Actor input object example

```json
{
  "reports": [
    "announcements"
  ],
  "symbols": [],
  "categories": [],
  "keywords": [],
  "daysBack": 2,
  "daysAhead": 30,
  "segments": [
    "equities"
  ],
  "dealTypes": [
    "bulk",
    "block",
    "shortSelling"
  ],
  "maxItems": 50,
  "onlyNew": false,
  "stateName": "default",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Announcements, corporate actions, board meetings, deals, credit ratings, shareholding patterns and offer documents as JSON items in the default dataset (also downloadable as CSV, Excel, XML). Each item carries its reportType.

# 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 = {
    "reports": [
        "announcements"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("data_daemon/nse-corporate-announcements").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 = {
    "reports": ["announcements"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("data_daemon/nse-corporate-announcements").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "reports": [
    "announcements"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call data_daemon/nse-corporate-announcements --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,data_daemon/nse-corporate-announcements"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/eSClXUsJuOu5RdzmW/builds/42UlyP1T9WKc9cGVF/openapi.json
