Built and run by one person.

VIGIL API - India Red Flag Tracker

TigZig API & MCP Hub

Open, no-auth HTTP API for India corporate red-flag signals sourced from NSE and SEBI - credit ratings, insider trading, promoter pledges, SAST disclosures, encumbrance events, surveillance flags, and related-party transactions for ~750 listed companies. Built for AI agents first, humans second: every page here has a Copy-as-Markdown button so you can hand it straight to your agent.

7data tables
~750NSE companies
455K+total rows
No authfully open
7 formatsbulk download

Quick start

AI agents: this API is open (no auth). Start with the OpenAPI spec for this API: https://api.tigzig.com/vigil/v1/openapi.json. The RFC 9727 catalog at api.tigzig.com/.well-known/api-catalog is a site-level directory of all TigZig APIs - go there only if you want a different API, not for more detail on this one.
REST API base URL
https://api.tigzig.com/vigil/v1
Live tool no sign-up
VIGILOpen

Search Indian companies and their red flags without writing a query.

Documentation

For people
api.tigzig.com/vigil/v1/redoc

The full reference. Every endpoint, every field, and every enforced limit with the message you get when you cross it. Rendered from the running service, so it is never a copy that can fall behind.

For AI agents
api.tigzig.com/vigil/v1/openapi.json

The machine contract for this API. The site-wide directory of every TigZig API is the RFC 9727 catalog at api.tigzig.com/.well-known/api-catalog.

What you can call

9 endpoints. Request bodies, every field and every enforced limit are in the full reference.

GET/vigil/v1/API catalog - list all available endpoints and tables
GET/vigil/v1/companiesList all companies with symbol and ISIN
GET/vigil/v1/company/{identifier}All data for a single company
GET/vigil/v1/data/{table_name}Paginated table data
GET/vigil/v1/download/{table_name}Download full table as a file
GET/vigil/v1/download/allDownload all tables as a single file
GET/vigil/v1/downloads/manifestDownload file manifest with sizes
GET/vigil/v1/freshnessData freshness - last sync time per table
GET/vigil/v1/tablesList all tables with row counts and freshness

Overviewwhat this API covers

VIGIL exposes seven datasets of Indian corporate "red-flag" signals, all read-only and free, no API key. The data is extracted from NSE corporate filings and SEBI BRSR XBRL filings and refreshed on a regular cadence (see the freshness endpoint).

Two ways to use it:

  • Targeted queries - hit /data/{table} (paginated), /company/{symbol} (everything for one company), /companies, or /tables.
  • Bulk download - grab a whole table or all seven tables in one file via /download/{table} and /download/all. For full-dataset work, prefer the bulk download over paginating.

Agents: the machine-readable catalog is at the base URL, the full spec at /openapi.json, and this API is listed in the site API catalog (RFC 9727).

The Seven Tableswhat each of the seven holds

Use these names anywhere a {table_name} is required.

TableWhat it is~Rows
credit_ratingsNSE Centralised Rating Database - instrument-level credit ratings from all agencies (CRISIL, ICRA, CARE, India Ratings, Acuite, Brickwork, Infomerics).12,562
insider_tradingNSE PIT disclosures - promoter, director and KMP buy/sell/pledge transactions.34,357
pledge_dataNSE promoter pledge / encumbrance snapshot - current pledge levels (latest quarter).1,529
sast_disclosuresNSE SAST Reg 29 - substantial acquisition / sale of shares and takeover filings.11,751
encumbrance_eventsNSE SAST Reg 31/32 - promoter share pledge creation, release and invocation events.1,735
surveillance_flagsNSE surveillance flags - ASM, GSM, ESM, IRP, ICA and other regulatory flags (snapshot).680
rpt_transactionsRelated Party Transactions from XBRL filings - half-yearly RPT data for Nifty Total Market companies.393,272

Row counts are approximate and grow over time - call /tables or /freshness for current numbers.

Download Formatsthe download formats

The /download/{table_name} endpoint accepts a format query parameter. Seven formats, and the compression matters - read this before you parse the bytes:

format=You getContent-Type
csvCSV inside a .zip archive (PK header)application/zip
tsvTSV inside a .zip archiveapplication/zip
sqliteSQLite DB inside a .zip archiveapplication/zip
csv.gzgzip-compressed CSVapplication/gzip
tsv.gzgzip-compressed TSVapplication/gzip
sqlite.gzgzip-compressed SQLiteapplication/gzip
parquetParquet (internally compressed, no outer wrapper)application/octet-stream

Gotcha: bare csv / tsv / sqlite are ZIP archives (PK), NOT gzip - use the .gz variants if you want gzip. The authoritative per-file list (sizes, row counts) is at /downloads/manifest. /download/all returns a single combined SQLite of all seven tables.

What is new

Guidesthe written walkthroughs

This page is the reference - what the endpoints are and how to call them. The guides below are the long-form versions, with worked examples and the edges you only meet in real use:

Each is a plain page with a Markdown twin, so you can hand a URL straight to an agent. Come back to this page when you want parameter-level detail.

Rate limitsthe per-IP limits in full

Published so a well-behaved client can plan around them. These are per-IP limits:

  • Per IP: 30 requests / minute.
  • Downloads (/vigil/v1/download/*): 10 requests / minute.

You get a 429. Back off and retry after the window.

Avoiding 429s: Pulling a whole table? Use the bulk download rather than paging the query endpoints.

The current numbers are also published as machine-readable JSON at https://api.tigzig.com/vigil/v1/, derived from live config. Read those at runtime rather than hard-coding the figures above - limits change, and these channels change with them.

Other 4xx responses are a JSON envelope: { error, status, path, message, help: { catalog, docs } } where error is a snake_case slug (not_found, bad_request, unprocessable_entity, ...) and help points at the machine catalog (https://api.tigzig.com/vigil/v1/) plus this docs page, so a client that hits an error can self-recover.

Licence, source and warrantyterms in full

To the extent this service holds any rights in the compilation, meaning the assembly, the schema and the derived fields, they are released under CC0 1.0 (CC0 1.0), no attribution required though it is always appreciated. The underlying data is published by its original sources as public records. This service reformats and republishes it, is not an authoritative source, and is not affiliated with or endorsed by any of them. No rights in the underlying data are claimed here, and none are granted; check the original publisher's own terms before relying on it. Provided as is, with no guarantee of accuracy, completeness or availability and no support commitment - check against the original publisher for anything that matters. The same text as plain text, for a script or an agent: api.tigzig.com/vigil/v1/terms.

Try it2 examples, paste into a browser

No key, no signup.

NSE symbol, the preferred form
Paste into a browser address bar.
https://api.tigzig.com/vigil/v1/company/RELIANCE?tables=credit_ratings%2Cinsider_trading
Response first lines of 20 KB
{"identifier":"RELIANCE","summary":{"credit_ratings":55,"insider_trading":8},"total_records":63,"sections":{"credit_ratings":{"count":55,"data":[{"record_id":"e14289583f953abf87d21856d94b42c5","app_id":"6267","company_name":"Reliance Industries Limited","isin":"INE002A08542","equity_isin":"INE002A01018","nse_symbol":"RELIANCE","instrument_type":"DEBENTURE","instrument_name":"RELIANCE INDUSTRIES LIMITED SERIES H 8.95 NCD 09NV28 FVRS10LAC","rating_agency":"ICRA Limited","credit_rating":"[ICRA] AAA","rating_action":"Reaffirm","date_of_rating":"2024-02-02","outlook":"Stable","credit_rating_earlier":"[ICRA] AAA","rating_action_earlier":"Reaffirm","outlook_earlier":"Stable","date_of_rating_earlier":"2023-02-10","broadcast_datetime":"02-FEB-2024 17:51:30","signatory_name":"Savithri Parekh","designation":"Company Secretary and Compliance Officer","place":"Mumbai","verify_status":"Verified","matc
...
Credit rating actions, with the derived red flag reason
Paste into a browser address bar.
https://api.tigzig.com/vigil/v1/data/credit_ratings?limit=100
Response first lines of 20 KB
{"total":13312,"limit":100,"offset":0,"has_more":true,"next_offset":100,"count":100,"data":[{"record_id":"bd0f6d4583d98de335db205ab6dd2988","app_id":"6246","company_name":"Muthoot Finance Limited","isin":"INE414G01012","equity_isin":"INE414G01012","nse_symbol":"MUTHOOTFIN","instrument_type":"EQUITY SHARES","instrument_name":"MUTHOOT FINANCE LIMITED EQ","rating_agency":"CRISIL Ratings Limited","credit_rating":"AA+","rating_action":"New","date_of_rating":"2024-01-26","outlook":"Stable","credit_rating_earlier":null,"rating_action_earlier":null,"outlook_earlier":null,"date_of_rating_earlier":null,"broadcast_datetime":"27-JAN-2024 11:06:43","signatory_name":"Rajesh A","designation":"Company Secretary","place":"Kochi","verify_status":"Not Verified","match_method":"prefix_lookup","listing_status":"listed","source_month":"2024-01","xbrl_url":"https://nsearchives.nseindia.com/corporate/xbrl/CDC_C
...