Quick start
https://api.tigzig.com/vigil/v1Search Indian companies and their red flags without writing a query.
Documentation
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.
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/companies | List 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/all | Download all tables as a single file |
| GET | /vigil/v1/downloads/manifest | Download file manifest with sizes |
| GET | /vigil/v1/freshness | Data freshness - last sync time per table |
| GET | /vigil/v1/tables | List 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.
| Table | What it is | ~Rows |
|---|---|---|
credit_ratings | NSE Centralised Rating Database - instrument-level credit ratings from all agencies (CRISIL, ICRA, CARE, India Ratings, Acuite, Brickwork, Infomerics). | 12,562 |
insider_trading | NSE PIT disclosures - promoter, director and KMP buy/sell/pledge transactions. | 34,357 |
pledge_data | NSE promoter pledge / encumbrance snapshot - current pledge levels (latest quarter). | 1,529 |
sast_disclosures | NSE SAST Reg 29 - substantial acquisition / sale of shares and takeover filings. | 11,751 |
encumbrance_events | NSE SAST Reg 31/32 - promoter share pledge creation, release and invocation events. | 1,735 |
surveillance_flags | NSE surveillance flags - ASM, GSM, ESM, IRP, ICA and other regulatory flags (snapshot). | 680 |
rpt_transactions | Related 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 get | Content-Type |
|---|---|---|
csv | CSV inside a .zip archive (PK header) | application/zip |
tsv | TSV inside a .zip archive | application/zip |
sqlite | SQLite DB inside a .zip archive | application/zip |
csv.gz | gzip-compressed CSV | application/gzip |
tsv.gz | gzip-compressed TSV | application/gzip |
sqlite.gz | gzip-compressed SQLite | application/gzip |
parquet | Parquet (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
- 18 Sep 2026 The agent data surface passes 40 million rows, with ball-by-ball cricket alongside mutual funds, macro and filingsAll APIs
- 14 Sep 2026 VIGIL Flags: filter companies by one or more red-flag conditions, with any or all
- 2 Sep 2026 The whole VIGIL database published for download, one call takes the lot
- 16 Aug 2026 Related party transactions for around 750 listed companies
- 15 Aug 2026 Takeover (SAST) filings, refreshed four times a day
Everything that changed, newest first - the full log across every API and app.
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:
- Demystifying the API errors - what each error actually means and what to do about it, instead of guessing from a status code. Covers every TigZig API, not just this one.
- Your agents and scripts have been talking to me - what real callers actually do, read out of the server logs: the common mistakes, what works, and the patterns worth copying.
- Is it you, or is it me? - the public status page for every TigZig API, so you can check whether a failure is at your end or ours before you start debugging.
- Take the whole VIGIL database in one call - the bulk download covering every red-flag dataset here, and the single API call that pulls the lot.
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.
https://api.tigzig.com/vigil/v1/company/RELIANCE?tables=credit_ratings%2Cinsider_trading
{"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
...https://api.tigzig.com/vigil/v1/data/credit_ratings?limit=100
{"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
...