Free NSE API for developers and analysts

Indian stock market API for company filings

Search API for annual reports, quarterly results, and balance sheets from 1,928 NSE-listed companies. Full-text and AI-powered semantic search across 15,933 filings.

Start Free Trial View API Docs
1,928
Companies
15,933
Filings
317,077
Chunks
22
Sectors
Features

NSE & BSE API with full-text and semantic search

Two search modes, comprehensive coverage of Indian company filings, and a simple REST API. No scraping, no rate limits to manage.

🔍

Full-Text Search

FTS5-powered keyword search with highlighted snippets. Supports boolean operators, phrase matching, and prefix queries.

🧠

Semantic Search

Natural language queries powered by OpenAI embeddings and HNSW indexing. Find filings by meaning, not just keywords.

📊

Multi-Search

Run up to 50 queries in a single call with company-level deduplication. Perfect for screening and research workflows.

🏢

1,928 NSE & BSE Companies

All NSE-listed Indian companies across 22 sectors. Lookup by ticker, filter by sector, industry, year, and quarter.

📄

Annual Reports, Quarterly Results & Balance Sheets

Indian company annual reports, quarterly results, and financial statements extracted and indexed. Updated daily with new filings from NSE.

Fast & Simple

Single API key authentication. JSON in, JSON out. Median response time under 100ms for keyword search.

NSE API Pricing

Free Indian stock API trial, scale when ready

Try the full NSE API free for 7 days. No credit card required.

Free Trial
$0
7 days to evaluate the API
  • 100 API calls
  • All endpoints included
  • Full-text + semantic search
  • Card required, not charged
Start Free Trial

Start your free trial

7-day free trial with 100 API calls. Card required to prevent abuse — you won't be charged during the trial. $15/mo after.

NSE API Documentation

API Endpoints

Base URL: https://xaro.ai — Authenticate with X-Api-Key: YOUR_KEY header. Free API key with 100 calls included.

POST /full-text-search Keyword search with snippets Auth
ParamTypeRequiredDescription
querystringYesSearch query. Supports FTS5: OR, quoted phrases, prefix*
tickerstringNoNSE symbol (e.g. RELIANCE)
typestringNoannual_report, quarterly_result, other
yearintegerNoFilter by filing year
quarterintegerNo1-4
sectorstringNoSector or industry name
pageintegerNoPage number (default: 1)
limitintegerNo1-100 (default: 20)
snippet_tokensintegerNo16-128 (default: 64)
curl -X POST https://xaro.ai/full-text-search \
  -H "X-Api-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "\"import duty\" OR \"customs duty\"", "sector": "Automobile and Auto Components", "limit": 5}'
POST /embeddings-search Semantic search via AI embeddings Auth
ParamTypeRequiredDescription
querystringYesNatural language query
tickerstringNoNSE symbol filter
typestringNoFiling type filter
yearintegerNoYear filter
quarterintegerNo1-4
sectorstringNoSector or industry
topKintegerNo1-100 (default: 20)
curl -X POST https://xaro.ai/embeddings-search \
  -H "X-Api-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "companies affected by EV policy changes", "topK": 10}'
POST /multi-search Batch queries with company dedup Auth

Run multiple FTS + semantic queries in one call. Results aggregated and ranked by company.

ParamTypeRequiredDescription
queriesarrayYesUp to 50 query objects. Each: query, type (fts|semantic), optional filters
topKintegerNoMax companies, 1-200 (default: 50)
min_matchesintegerNoMin query matches per company (default: 1)
curl -X POST https://xaro.ai/multi-search \
  -H "X-Api-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "queries": [
      {"query": "\"import duty\"", "type": "fts", "sector": "Automobile and Auto Components"},
      {"query": "trade policy impact on margins", "type": "semantic"}
    ],
    "topK": 20
  }'
GET /stats Corpus overview Auth Cached 1hr

Returns filing counts, company counts, breakdowns by sector, type, and year.

curl https://xaro.ai/stats -H "X-Api-Key: YOUR_KEY"
GET /companies/:ticker Company lookup Auth

Returns company name, sector, industry, ISIN, filing counts by type.

curl https://xaro.ai/companies/INFY -H "X-Api-Key: YOUR_KEY"
GET /sectors All sectors with counts Auth Cached 24hr

All 22 NSE sectors with company and filing counts. Use these as sector filter values.

curl https://xaro.ai/sectors -H "X-Api-Key: YOUR_KEY"
GET /health Health check (no auth)
curl https://xaro.ai/health
# {"status":"ok"}