NSE India Company Announcements Scraper avatar

NSE India Company Announcements Scraper

Pricing

from $50.00 / 1,000 announcement records

Go to Apify Store
NSE India Company Announcements Scraper

NSE India Company Announcements Scraper

Live corporate announcements & regulatory filings from India's NSE (National Stock Exchange) — dividends, results, board meetings, allotments — with PDF attachment URLs. Watch mode for new-filing alerts.

Pricing

from $50.00 / 1,000 announcement records

Rating

1.0

(1)

Developer

NexGenData

NexGenData

Maintained by Community

Actor stats

0

Bookmarked

28

Total users

3

Monthly active users

a day ago

Last modified

Categories

Share

NSE India Company Announcements Scraper 🇮🇳

Live corporate announcements and regulatory filings from India's National Stock Exchange (NSE) — dividends, quarterly results, board meetings, allotments, credit-rating updates, and more — each with the original attachment (PDF) URL and a stable record id. Built for analysts, fintech products, and AI agents that need structured Indian-market disclosures without scraping a JavaScript site.

Not investment advice. Public disclosure data, provided as-is for information purposes.

📊 Sample Output

6 real rows delivered by NSE India Company Announcements Scraper — run UDxWwKyivlxnTTVgp on build 0.0.9

announcement_idsymbolcompany_nameisinindustryannouncement_date
106792186RELIANCEReliance Industries LimitedINE002A01018Refineries2026-09-24
106789883RELIANCEReliance Industries LimitedINE002A01018Refineries2026-09-23
106786607RELIANCEReliance Industries LimitedINE002A01018Refineries2026-09-21
106786596RELIANCEReliance Industries LimitedINE002A01018Refineries2026-09-21
106783625RELIANCEReliance Industries LimitedINE002A01018Refineries2026-09-17
106783619RELIANCEReliance Industries LimitedINE002A01018Refineries2026-09-17

Real rows from run UDxWwKyivlxnTTVgp on build 0.0.9 (2026-09-24), unedited apart from masked emails/phones and shortened long text; fields the source does not publish are empty.

🔧 Input reference

FieldTypeDefaultWhat it does
symbolsarray["RELIANCE", "TCS"]Filter to specific NSE ticker symbols (e.g. RELIANCE, TCS, INFY). Leave empty for the full market-wide announcement feed.
categorystringCase-insensitive substring matched against the announcement subject + headline (e.g. 'dividend', 'board meeting', 'results').
indexstring (equities, sme, debt, mf, invitsreits)"equities"NSE announcement segment.
maxResultsinteger50Maximum announcement records to return (1-500).
watchModebooleanfalseWhen on, the first run seeds a baseline and emits nothing; later runs emit only NEW filings since the last run (composite key: symbol + date + subject-hash). Ideal on a schedule.
watchLabelstring"default"Names the watch baseline so multiple saved tasks keep independent state.

🧾 JSON sample record

One real record from run UDxWwKyivlxnTTVgp (emails/phones masked, long text shortened):

{
"announcement_id": "106792186",
"symbol": "RELIANCE",
"company_name": "Reliance Industries Limited",
"isin": "INE002A01018",
"industry": "Refineries",
"announcement_date": "2026-09-24",
"announcement_time": "19:24 IST",
"subject": "Updates",
"headline": "This is further to the disclosure dated September 21, 2026 made by the Company. We wish to inform you that the Company executives participated in the Institutional Investors' Meeting - BofA Asia Pacific Conference 2026 and no unpublished price sensitive information was shared/discussed in the said one-on-one meeting.",
"has_xbrl": true,
"attachment_size": "233.32 KB",
"attachment_url": "https://nsearchives.nseindia.com/corporate/kavinavora_24092026192411_SE_24092026.pdf",
"source_url": "https://www.nseindia.com/companies-listing/corporate-filings-announcements",
"exchange": "NSE",
"scraped_at": "2026-09-24T23:56:30Z"
}

📊 What you get

One record per announcement, with these fields:

  • announcement_id — stable NSE sequence id (dedup key)
  • symbol — NSE ticker (e.g. RELIANCE)
  • company_name, isin, industry
  • announcement_date, announcement_time (IST)
  • subject — the NSE category (e.g. "Board Meeting", "Financial Results", "Dividend")
  • headline — the filing's descriptive text
  • has_xbrl — whether a structured XBRL filing is attached
  • attachment_size, attachment_url — the original PDF on nsearchives.nseindia.com
  • source_url, exchange, scraped_at

~20 announcements per $1. A typical 50-record run costs about $2.50.

💵 Pricing

Pay-per-result, no subscription:

EventPrice
Actor start$0.01 (per GB RAM, min 1)
Announcement record$0.05 each
Watch-check (per scheduled watch run)$0.05

Worked example: a market-wide pull of 50 announcements = 1 start ($0.01) + 50 records ($2.50) ≈ $2.51. A daily watch run that finds 3 new filings = $0.05 watch-check + 3 × $0.05 = $0.20.

⏰ Watch mode — new-filing alerts

Turn on watchMode and put the actor on a schedule. The first run seeds a baseline and emits nothing; every later run emits only new filings since the last run (keyed on symbol + date + subject-hash). Perfect for a standing "new NSE filings for my watchlist" feed into Slack, a sheet, or an agent.

{ "symbols": ["RELIANCE", "TCS", "INFY"], "watchMode": true, "watchLabel": "my-watchlist" }

🤖 Use with AI agents

Returns clean JSON, so an agent can call it directly. Example agent task: "Pull today's board-meeting announcements for my Nifty-50 watchlist and summarize any dividend declarations." Works with MCP tool-calling and agentic (x402) payment flows — no API key required.

API

curl -X POST "https://api.apify.com/v2/acts/nse-bse-announcements/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"symbols":["RELIANCE"],"maxResults":25}'

CLI

$apify call nse-bse-announcements --input '{"category":"dividend","maxResults":100}'

Run it on a schedule

NSE companies post announcements all through the trading day, so an hourly or daily run suits most watchlists. Each run picks up newly published filings; earlier announcements keep the same announcement_id and do not change. Turn on watchMode and the first run saves a baseline and returns nothing, then every later run returns only filings that are new since the last run, so you are not billed for rows you already have. Give each saved task its own watchLabel so their baselines stay separate. Send each run's results onward with a webhook, Google Sheets, Zapier, Make or the Apify API.

Video guides from Apify: Schedule your Actor · Integrations

FAQ

Why use this instead of the official NSE website?

NSE publishes these announcements for free on its Corporate Filings page, which is a JavaScript site made for reading one page at a time. This actor returns the same announcements as clean JSON, with the original PDF link and a stable record id on every row. It can also run on a schedule and return only new filings. It is not affiliated with or endorsed by NSE or SEBI.

What does a typical run cost?

You pay per result, not for run time: $0.05 for each row in the results, plus $0.01 per run start (charged per GB of run memory, minimum one). A run that returns 25 announcements costs about $1.26. Optional extras are charged only when you turn them on: a watch-mode change check $0.05. Live prices are always shown in the Pricing tab.

How do I get NSE dividend announcements as JSON?

Set category to "dividend". It is a case-insensitive text match on each filing's subject and headline, so "board meeting" or "results" work the same way. Add ticker symbols to symbols to limit it to your companies, or leave symbols empty for the whole market.

Does it cover BSE announcements too?

No. It reads NSE's corporate-announcements feed only, and every record carries "exchange": "NSE". Within NSE you can choose the equities, SME, debt, mutual fund or InvIT/REIT segment with the index input.

Does it extract the text inside the filing PDFs?

No. Each row gives the filing's headline text, the PDF's link and its size, and a flag for whether an XBRL filing is attached. You open or parse the PDF yourself from attachment_url.

How many announcements can one run return?

Between 1 and 500, set with maxResults. If NSE cannot be reached, the run fails instead of finishing as an empty success.

If this actor is useful, these related ones from the same publisher may cover your next step: