{"bulk_downloads":{"catalog":"https://api.tigzig.com/downloads/vigil","all_products":"https://api.tigzig.com/downloads","file_names":"Every file also has an address that ends in its own file name, for example https://api.tigzig.com/vigil/v1/download/credit_ratings.parquet. The ?format= form keeps working.","query_in_place":"Parquet files support HTTP range requests, so DuckDB, pyarrow, polars or a browser can query them in place and read only the parts a query needs. Browsers can do the same: responses expose Content-Range, Content-Length and ETag to cross-origin JavaScript.","example_sql":"SELECT count(*) FROM read_parquet('https://api.tigzig.com/vigil/v1/download/credit_ratings.parquet');","datasets_only_as_files":{"note":"Published as downloadable files only; no API endpoint serves these. Each entry links its files and its catalog page.","datasets":[{"id":"vigil.brsr_companies","app":"vigil","title":"BRSR ESG data, one row per company","update_cadence":"irregular","files":["https://api.tigzig.com/downloads/vigil_brsr_companies.csv"],"detail_url":"https://api.tigzig.com/downloads/vigil"},{"id":"vigil.brsr_dq_flags","app":"vigil","title":"BRSR data quality flags","update_cadence":"irregular","files":["https://api.tigzig.com/downloads/vigil_brsr_dq_flags.csv"],"detail_url":"https://api.tigzig.com/downloads/vigil"},{"id":"vigil.signals_company_summary","app":"vigil","title":"Corporate signals per company (VIGIL Signals table)","update_cadence":"4x daily","files":["https://api.tigzig.com/downloads/vigil_signals_company_summary.csv"],"detail_url":"https://api.tigzig.com/downloads/vigil"}]}},"app":"Vigil - India Red Flag Tracker","description":"Credit ratings, insider trading, pledge data, SAST disclosures, encumbrance events, surveillance flags, and related party transactions for Indian listed companies. All data sourced from NSE (National Stock Exchange of India).","base_url":"/vigil/v1","openapi":"https://api.tigzig.com/vigil/v1/openapi.json","docs":"https://api.tigzig.com/vigil/v1/docs","data_dictionary":"https://api.tigzig.com/vigil/v1/tables","tigzig":"Part of Tigzig: free interactive tools, open-source repos, APIs and MCP servers for analytics and live data across global and Indian markets, macro indicators and filings. Catalog: https://api.tigzig.com/.well-known/api-catalog | Guide: https://www.tigzig.com/llms.txt","endpoints":{"catalog":{"path":"/vigil/v1/","description":"This catalog - lists all endpoints, tables, and columns"},"tables":{"path":"/vigil/v1/tables","description":"All table names with row counts, data range, and last sync time"},"companies":{"path":"/vigil/v1/companies","description":"Unique list of all companies with symbol, name, and ISIN","example":"/vigil/v1/companies"},"company_lookup":{"path":"/vigil/v1/company/{symbol}","description":"All data for a single company across all tables, with per-table record counts","example":"/vigil/v1/company/RELIANCE","params":{"tables":"Optional. Comma-separated table names to include (default: all)"}},"table_data":{"path":"/vigil/v1/data/{table_name}","description":"Paginated JSON data from a single table","example":"/vigil/v1/data/credit_ratings?limit=1000&offset=0","params":{"limit":"Rows per page (default: 1000, max: 5000)","offset":"Row offset for pagination (default: 0)"}},"download":{"path":"/vigil/v1/download/{table_name}","description":"Download full table as a pre-generated file","example":"/vigil/v1/download/credit_ratings?format=csv","params":{"format":"File format: csv, tsv, sqlite (each returned as a .zip archive, Content-Type application/zip), csv.gz, tsv.gz, sqlite.gz (gzip), or parquet (uncompressed). Note: bare csv/tsv/sqlite are ZIP, the .gz variants are gzip. See /vigil/v1/downloads/manifest for the authoritative file list."},"polling":"Every 200 carries ETag and Last-Modified, and this path honours If-None-Match / If-Modified-Since with 304 Not Modified. Poll conditionally instead of re-downloading - an unchanged file then costs you a 304 with no body. /vigil/v1/downloads/manifest is the cheaper thing to poll if you only want to know whether the data has been regenerated."},"download_all":{"path":"/vigil/v1/download/all","description":"Download all tables in a single gzipped SQLite file","example":"/vigil/v1/download/all?format=sqlite","params":{"format":"File format: sqlite (returned as .zip) or sqlite.gz (gzip). Other formats are rejected with 400."},"polling":"Every 200 carries ETag and Last-Modified, and this path honours If-None-Match / If-Modified-Since with 304 Not Modified. Poll conditionally instead of re-downloading - an unchanged file then costs you a 304 with no body. /vigil/v1/downloads/manifest is the cheaper thing to poll if you only want to know whether the data has been regenerated."},"freshness":{"path":"/vigil/v1/freshness","description":"Data freshness - last sync time and record count per table"}},"tables":{"credit_ratings":{"description":"NSE Centralised Rating Database - instrument-level credit ratings from all agencies (CRISIL, ICRA, CARE, India Ratings, Acuite, Brickwork, Infomerics). ~10K records from Jan 2024.","columns":["record_id","app_id","company_name","isin","equity_isin","nse_symbol","instrument_type","instrument_name","rating_agency","credit_rating","rating_action","date_of_rating","outlook","credit_rating_earlier","rating_action_earlier","outlook_earlier","date_of_rating_earlier","broadcast_datetime","signatory_name","designation","place","verify_status","match_method","listing_status","source_month","xbrl_url","red_flag_reason"]},"insider_trading":{"description":"NSE PIT (Prohibition of Insider Trading) disclosures - promoter, director, and KMP buy/sell/pledge transactions, plus futures and options trades (sec_type Derivative, contract and buy/sell values in the deriv_* columns). ~41K records from Feb 2024. A disclosure filed twice or corrected later keeps every row: dup_status is duplicate or superseded on the copy not to count, empty on the row that counts, and dup_of names it.","columns":["did","pid","symbol","company","regulation","acq_name","person_category","transaction_type","sec_type","no_of_securities","sec_value","before_shares","before_pct","after_shares","after_pct","acq_mode","acq_from_date","acq_to_date","intimation_date","broadcast_datetime","exchange","xbrl_url","deriv_contract_type","deriv_contract_spec","deriv_buy_value","deriv_buy_units","deriv_sell_value","deriv_sell_units","submission_type","dup_status","dup_of"]},"pledge_data":{"description":"NSE promoter pledge/encumbrance snapshot - current pledge levels for ~1,500 listed companies. Snapshot-based (latest quarter only).","columns":["record_id","com_name","nse_symbol","shp_quarter","tot_issued_shares","tot_promoter_holding","perc_promoter_holding","tot_public_holding","encumbered_shares","perc_encumbered_promoter","perc_encumbered_total","num_shares_pledged","tot_demat_shares","shares_collateral","nbfc_promo_share","nbfc_non_promo_share","perc_shares_pledged","broadcast_dt","disclosure_from_date","disclosure_to_date","comp_broadcast_date","pledge_value_cr","sec_pledge_value_cr","sync_date"]},"sast_disclosures":{"description":"NSE SAST Reg 29 disclosures - substantial acquisition/sale of shares and takeover code filings. ~10K records from Jan 2024.","columns":["application_no","symbol","company","acquirer_name","acquirer_date","acq_sale_type","acquisition_mode","acq_type","promoter_type","reg_type","shares_acquired","shares_sold","shares_after","pct_acquired","pct_acquired_diluted","pct_sold","pct_sold_diluted","pct_after","pct_after_diluted","remarks","filing_url","broadcast_datetime","broadcast_time","sys_time","time_difference","isin","listing_status"]},"encumbrance_events":{"description":"NSE SAST Reg 31/32 encumbrance events - promoter share pledge creation, release, and invocation. ~1,400 records from Jan 2024.","columns":["id","seq_id","symbol","company_name","promoter_name","event_type","encumbrance_type","event_date_from","event_date_to","reporting_date","broadcast_datetime","pre_event_shares","pre_event_pct","event_shares","event_pct","post_event_encumb_shares","post_event_encumb_pct","entity_in_favor","reason","lender_name","filing_url","source_api"]},"surveillance_flags":{"description":"NSE surveillance flags - ASM, GSM, ESM, IRP, ICA, and other regulatory flags. Snapshot-based (~400 flagged companies).","columns":["symbol","series","gsm_stage","long_term_asm_stage","short_term_asm_stage","esm_stage","is_irp","is_ica","is_loss_making","is_encumbered_50pct","is_pledge_flagged","is_bz_sz","is_listing_fee_default","sync_date"]},"rpt_transactions":{"description":"Related Party Transactions from XBRL filings - half-yearly RPT data for Nifty Total Market companies. ~250K records.","columns":["record_id","seq_num","txn_number","symbol","company_name","period_end_date","broadcast_date","audited","filing_type_sub","entity_name","counter_party","relationship","transaction_type","other_details","approved_value","amount_during_period","outstanding_balance","audit_committee_remarks","loan_nature","loan_interest_rate","loan_tenure","loan_secured","loan_purpose","entity_pan","counter_party_pan","source","xbrl_url","rel_group","broadcast_date_parsed","period_end_date_parsed"]}},"rate_limit":"30 requests per minute per IP. Downloads: whole files 60 per minute and 500 per day per IP; HTTP range reads and HEAD 3,000 per minute and 25,000 per day.","source":"https://vigil.tigzig.com","data_source":"Source: the public filings each dataset is built from, named per dataset on the downloads page (https://www.tigzig.com/downloads#app-vigil).","disclaimer":"Provided as is, with no guarantee of accuracy, completeness or availability and no support commitment.","terms":"https://api.tigzig.com/vigil/v1/terms"}