APIs & MCP Servers from Tigzig

Free, open APIs and MCP servers. No authentication on read endpoints. Three kinds: data APIs that serve our datasets, analytics APIs that compute a report from inputs you send, and tools. Almost every service is both a REST API and an MCP server over the same backend. This is a directory - pick a service, then open its live app or its docs. Each docs page has everything else: endpoints, the OpenAPI spec, the MCP server, and bulk downloads. Looking for just the MCP servers? See the MCP Hub.

9APIs & MCP servers
MCP + RESTdual interface
20M+rows served
~300macro indicators
Openno auth required
AI agents: every API here is listed in the machine-readable catalog (RFC 9727) and exposes an OpenAPI 3.1 spec at {base}/openapi.json. Start at the catalog or the site index rather than parsing this page. Beta. Endpoints are stable; rate limits, formats, and parameters may evolve. Canonical machine list at api.tigzig.com/.well-known/api-catalog.

Data APIs

Serve structured datasets. Hit the query endpoints, or download the whole database in one file (CSV / TSV / Parquet / SQLite / DuckDB).

TREMOR / Tigzig Unified Data Surface

APIMCPDATA

Global macro, credit, valuation, insurance, India, markets and FX indicators across 8 categories (FRED, NY Fed, FDIC, NCUA, RBI, MoSPI, ECB, OECD, Shiller, NSE). Category-first navigation: pick a domain, drill in. Pull any series, or bulk-download the whole database.

VIGIL API

APIDATA

India corporate red-flag signals from NSE - share pledges, insider trades, rating changes, surveillance and more, across 7 tables.

MF NAV API

APIDATA

Daily NAV history for 38,000+ Indian mutual fund schemes (AMFI), April 2006 onward - 37M+ records, refreshed daily. Plus scheme details: fund size, riskometer, benchmark, expense ratio and fund managers. The data behind MFPRO.

Yahoo Finance Data API

APIMCPOSS

Financials, prices, market data, analyst targets, estimates, holders, dividends, splits, corporate actions and detailed info for any ticker (~24 endpoints). Powered by yfinance.

Analytics APIs

Send inputs (tickers, a portfolio) and get a computed report or dataset back. Each is open source and also runs as an MCP server over the same backend.

QREP - Compare Securities

APIMCPOSS

Compare up to 6 securities against a benchmark - 81 QuantStats metrics each (CAGR, Sharpe, Sortino, Max Drawdown). ranaroussi/quantstats. Open MCP endpoint, no key.

Security Performance Report (SPR / FFN)

APIMCPOSS

Multi-security performance and risk report (returns, drawdown, Sharpe and more) from a list of tickers. Dual methodology: custom calculations validated against QuantStats, plus the FFN library.

Technical Analysis API

APIMCPOSS

Indicator-based plus Gemini-Vision chart-read technical report (PDF and web) for any ticker - EMAs, MACD, RSI, Bollinger Bands on daily and weekly timeframes.

Tools

MCP tools and utility services over the same infrastructure.

Database Query (read-only SQL)

MCPSQLOSS

Read-only SQL over Postgres and DuckDB - ~5M+ cricket ball-by-ball deliveries - Test, ODI and T20 internationals for both men and women, plus the IPL - with match and player tables, refreshed twice daily - as MCP tools, behind a multi-layer security stack. Open endpoint plus an Auth0-secured endpoint.

Markdown to PDF

APIMCPOSS

Convert Markdown to a formatted PDF as an MCP tool call or an open HTTP API - the agent writes a report, calls the tool, gets back a PDF URL. FastAPI + ReportLab.

What is new

Guides

The pages above are the reference - what each API is and how to call it. These are the long-form guides: worked examples, the mistakes real callers actually make, and what to do when something returns an error. Each is a plain page with a Markdown twin, so you can hand the URL straight to an agent.

Every API

  • 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.

India mutual fund NAV

Database (SQL + MCP)

Yahoo Finance

TREMOR macro data

VIGIL India red flags

Markdown to PDF

  • Markdown to PDF over the API - the typesetting options, what each one does to the output, and a call you can paste. No signup and no key.
  • The rebuilt converter - what changed in the rebuild, the web page for pasting text straight in, and the MCP route for an agent.

Technical analysis

QRep / QuantStats

  • Four routes into QuantStats - comparing securities on returns, risk and drawdowns, with the route to pick set by what your AI can already do.

Rate Limits

Published limits are per IP, so a well-behaved client can plan around them. Cross one and you get HTTP 429 with Retry-After and a JSON body naming the limit hit and what to do instead (typically: batch, or use the bulk download rather than paginating). Honor the header for clean back-off. These figures are current at build time - the numbers that cannot go stale are the X-RateLimit-* headers on your own successful responses and each API's discovery endpoint, both linked from the per-API page.

SurfacePath prefixLimitNote
Tigzig Unified (recommended) /v1/* 60 req/min Catalog + indicator + search + series
Tigzig Unified downloads /v1/download/* 10 req/min Bulk file serving - downloads are heavy
Vigil /vigil/v1/* 30 req/min NSE corporate signals
Vigil downloads /vigil/v1/download/* 10 req/min Bulk file serving - downloads are heavy
MF NAV /mf/v1/* 300 req/min AMFI mutual fund daily NAV
MF NAV downloads (range, 206) /mf/v1/download 3,000 req/min Partial reads - one analytical scan is many small 206s
MF NAV downloads (whole file) /mf/v1/download 60 req/min Bulk file serving - downloads are heavy
Yahoo Finance yfin-h.tigzig.com 100 req/min Yahoo Finance market + fundamentals
FFN Portfolio Analytics ffn.tigzig.com 60 req/min Portfolio analytics - concurrency capped at 4
QuantJourney / QRep qrep-api.tigzig.com 60 req/min Quant tearsheets - 6 symbols per call
Technical Analysis ta.tigzig.com 25 req/day AI technical analysis - daily allowance, paid model per call
Markdown to PDF mdtopdf.tigzig.com 10 req/min Markdown to PDF / HTML rendering
Database MCP db-mcp.tigzig.com 60 req/min Read-only SQL over cricket datasets

Legacy: an earlier Tremor V1 surface is still served at /tremor/v1/* (REST) and /tremor/v1/mcp/http (MCP). It is frozen - response shape stable, data still refreshed daily - and stays mounted for existing integrations (limits 10-30 req/min per IP). New work should use the unified /v1/* surface above.

Sample 429 response

HTTP/1.1 429 Too Many Requests
Retry-After: 60

{
  "detail": "Rate limit exceeded",
  "limit": "60 per 1 minute",
  "retry_after_seconds": 60,
  "suggestion": "For multi-indicator or long-history pulls use the bulk download endpoints instead of paginating: GET /v1/download/all (sqlite | duckdb) for the full dataset, or /v1/download/{table}?format= for one table. One request vs many.",
  "limits_doc": "https://api.tigzig.com/v1/"
}

Per-call caps (unified /v1 series + indicators endpoints)

  • Max 10 indicators per /v1/series call - pass more by chunking, or hit /v1/download/{table} for the whole table in one file
  • Max 10,000 rows per response - reduce the date range, or use a bulk download for full history
  • TSV output carries a # meta: count=N unknown=[...] empty=[...] comment line so the agent can detect typo'd ids in the body

Heavy pulls: use bulk downloads, not pagination

If you need many indicators or long history, do not paginate /v1/series - use bulk downloads instead. One bulk request avoids rate limits entirely and serves you a single file you can query locally.

  • GET /v1/download/all?format=sqlite (or duckdb) - every public table in one file
  • GET /v1/download/{table_name}?format=parquet - one table (macro_indicators, stock_prices, or indicator_config)
  • GET /v1/downloads/manifest - file sizes + last-refresh timestamp

Programmatic consumers: the live numbers are also available at GET https://api.tigzig.com/v1/ under the limits block (per_ip_per_minute, per_ip_downloads_per_minute, max_ids_per_series_call, max_rows_per_response). Read it once at startup; do not hard-code.