TEJHQ
01Open · Markets · India

INDIAN
MARKETS,
MACHINE·READABLE.

TejHQ is open financial data infrastructure for India. Five parquet trees - bhavcopy, corporate actions, back-adjusted prices, symbol history, derived metrics - shipped nightly to HuggingFace. Hosted API on top. Free dataset forever.

4.5K+
Symbols
5
Parquet trees
19:00
IST · daily
89%
Yahoo match
EOD
Bhavcopy · CMTS
NSE+BSE
Equity · A · B · T · EQ · BE · BZ
PARQUET
Polars · DuckDB · Pandas
3 surfaces · 1 source- shape
NSE · TAPE
RELIANCE2,941.20+1.18%·TCS3,872.55+0.42%·HDFCBANK1,621.05-0.31%·INFY1,503.40+0.94%·ICICIBANK1,178.25+0.07%·SBIN 812.65-0.62%·ITC 468.90+0.21%·BHARTIARTL1,422.10+1.55%·LT3,610.80-0.18%·AXISBANK1,094.30+0.36%·MARUTI12,450.00+0.88%·ASIANPAINT2,341.05-1.04%·HINDUNILVR2,612.40+0.13%·BAJFINANCE7,094.55-0.47%·
RELIANCE2,941.20+1.18%·TCS3,872.55+0.42%·HDFCBANK1,621.05-0.31%·INFY1,503.40+0.94%·ICICIBANK1,178.25+0.07%·SBIN 812.65-0.62%·ITC 468.90+0.21%·BHARTIARTL1,422.10+1.55%·LT3,610.80-0.18%·AXISBANK1,094.30+0.36%·MARUTI12,450.00+0.88%·ASIANPAINT2,341.05-1.04%·HINDUNILVR2,612.40+0.13%·BAJFINANCE7,094.55-0.47%·
Pipeline · healthy · last cron 20:00 IST
Trading days
4,517
NSE since 2010 · BSE since 2024-07
Parquet trees
5
bhavcopy → metrics
Rows published
8,110,161
EOD + actions, 16y NSE + 2y BSE
Yahoo reconcile
89%
±1% on 25k closes
02Live · Tape · Same-shape

The shape your DataFrame
already speaks.

Fourteen columns, one row per (symbol, date). Hive-partitioned Parquet, zstd-compressed. Polars, DuckDB, Pandas - pick your poison.

Latency
EOD · ~6:30 PM IST
Coverage
2010-01-04 →
Source
Official Bhavcopy
RELIANCE.NS2,941.20+1.18%
247525882701281329262482.00
09:1511:3013:3015:30
OHLC · 5min · NSE 15.00%
# python · polars
import polars as pl
from huggingface_hub import hf_hub_download

p = hf_hub_download(
    "tejhq/indian-markets",
    "nse/year=2025/month=04/date=2025-04-30.parquet",
    repo_type="dataset",
)

df = pl.read_parquet(p)
df.filter(pl.col("symbol") == "RELIANCE")
tejhq/indian-marketson huggingface →
nse · 2025-04-30 · 6 of 2,341 rows
symbolseriesisinclosevolume%chg
RELIANCEEQINE002A010182941.2012.4M+1.18%
TCSEQINE467B010293872.553.1M+0.42%
HDFCBANKEQINE040A010341621.059.7M-0.31%
INFYEQINE009A010211503.405.2M+0.94%
ITCEQINE154A01025468.9018.3M+0.21%
BHARTIARTLEQINE397D010241422.104.8M+1.55%
03Datasets · Five trees · One source

Not one dataset.
Five, joined by ISIN.

Bazaar publishes five parquet trees to HuggingFace nightly. Each one composes with the next. Same partitions, same keys, same guarantees.

01 · tree

bhavcopy

core
nse/ · bse/.parquet

Raw end-of-day OHLCV straight from official SEBI CMTS bhavcopy. Cleaned, deduped, typed.

14 colsdate · hive
02 · tree

actions

actions/<ex>_<YYYY>.parquet

Corporate actions classified - dividend, split, bonus, rights, buyback, demerger, merger.

11 colsyear · annual
03 · tree

prices_adjusted

89% match
prices_adjusted/<ex>_<YYYY>.parquet

Back-adjusted close. Per-ISIN reverse cumprod over splits, bonuses, dividends. Reconciled vs Yahoo.

16 colsyear · annual
04 · tree

symbol_history

symbol_history/<ex>.parquet

ISIN to symbol intervals. Resolves rename drift across post-merger or pre-split identifiers.

6 colsexchange · single
05 · tree

metrics

screener-grade
metrics/<ex>_<YYYY>.parquet

1d/5d/21d/63d/126d/252d/YTD returns, 52w hi/lo, 20d & 60d avg volume, 20d avg turnover.

13 colsyear · annual
06 · planned

fundamentals

fundamentals/<ex>_<YYYY>.parquet

ISIN-keyed filings: revenue, EBITDA, EPS, net debt. Joins to every other tree on ISIN.

shipping Q3 · pro tier
join key · isin · stable across renames + mergersbrowse on huggingface →
04Schema · 14 columns · 1 row per (symbol, date)

Fourteen columns.
Zero surprises.

Same shape across NSE and BSE, every trading day, every symbol. ISIN-keyed, series-tagged, types locked. No guessing what last means in row 47,231.

identity
5 cols
price
6 cols
flow
3 cols
01
date
Trading date
Date
02
symbol
Ticker - RELIANCE, TCS
Utf8
03
series
EQ · BE · BZ · A · B · T
Utf8
04
isin
International Securities ID
Utf8
05
name
Full instrument name
Utf8
06
open
First traded price
Float64
07
high
Day's high
Float64
08
low
Day's low
Float64
09
close
Closing price
Float64
10
last
Last traded price
Float64
11
prev_close
Previous session close
Float64
12
volume
Total shares traded
Int64
13
turnover
Total value (₹)
Float64
14
trades
Number of trades executed
Int64
partitioned by · year · month · datefull schema docs →
05Built for · who ships with TejHQ

Made for the
workflow you already have.

One dataset, four shapes of work. Pick yours - the snippet drops straight in.

01 · persona

Quants

Stop paying for stale tickers.

Build factor models on every NSE+BSE equity, not just NIFTY 50. Cross-sectional research, no licence chatter.

df.group_by("symbol")
  .agg(pl.col("close").pct_change())
02 · persona

Backtesters

Walk-forward without scraping.

Hive-partitioned by date - point your loop at a date range, get exactly the universe that traded that day.

for d in range(D0, D1):
    bar = read(f"date={d}")
03 · persona

ML researchers

Same shape your model already eats.

Parquet → DataFrame → tensor. ISIN-keyed joins to fundamentals, news, alt data. No ETL boilerplate.

ds = HF.load("tejhq/indian-markets")
model.fit(ds.to_torch())
04 · persona

Dashboards

Ship a chart in an afternoon.

DuckDB-over-HTTP, no server. Streamlit, Observable, Grafana - whatever renders SQL, renders TejHQ.

SELECT date, close
FROM 'hf://.../**/*.parquet'
WHERE symbol = 'RELIANCE'
06Pricing · Free open data · Pay for the API

Data stays free.
The API pays for itself.

Bazaar parquet on HuggingFace, MIT, forever. Hosted endpoints, rate limits, screener, and SLAs are how we keep the cron running.

00 · tier

Open

₹0forever

The whole dataset, on HuggingFace.

Researchers · students · hackers

  • +All 5 parquet trees on HF
  • +Polars · DuckDB · Pandas ready
  • +Daily updates · 19:00 IST
  • +MIT-licensed pipeline code
  • +Community Discord
Pull from HF
01 · tier

Indie

₹999per month

Hosted API for a single side-project.

Solo quants · indie devs · students with credit card

  • +50,000 API calls / day
  • +/ohlcv · /actions · /adjusted
  • +Basic screener · 3 filters
  • +Symbol-history lookups
  • +Email support · 48h
Join waitlist
Most picked
02 · tier

Pro

₹4,999per month

Built for the strategy you actually trade.

Active backtesters · prop traders · small RIAs

  • +500,000 API calls / day
  • +Full screener · all filters
  • +Metrics API · returns + 52w + vol
  • +Batch · /universe · /resolve
  • +99% uptime SLA · status page
  • +Priority support · 12h
Join waitlist
03 · tier

Team

₹24,999per month

Multi-seat, multi-key, multi-strategy.

Small funds · fintech teams · research desks

  • +5,000,000 API calls / day
  • +Up to 10 keys · org dashboard
  • +Webhooks · corp action alerts
  • +Parquet pull from R2 mirror
  • +99.9% SLA · ₹ credits on miss
  • +Shared Slack channel
Join waitlist
04 · enterprise

Enterprise.

Funds, brokerages, exchanges, fintech infra. Talk to us about volume, white-label, on-prem mirrors, and custom data partnerships.

Talk to founders
  • +Custom volume · pay-as-you-go credits
  • +Dedicated R2 / S3 mirror · region of choice
  • +On-prem / VPC parquet sync · airgap option
  • +White-label SDKs · branded docs
  • +Direct line to data engineering
  • +Custom datasets · alt data partnerships
billing · razorpay (₹) · stripe (usd) · invoice on requeststartup credits? apply →
07Ecosystem · Surfaces · One source

One source.
Three ways in.

Bazaar ingests it. CLI fetches it. API serves it. Same schema, same partitions, same guarantees end-to-end.

01● Live

tej-bazaar

/ the pipeline

Bhavcopy + corp actions + back-adjusted close + symbol history + derived metrics. Five parquet trees, one nightly cron, all on HuggingFace.

  • +NSE since 2010 · BSE since 2024-07
  • +5 parquet trees · ISIN-keyed
  • +89% reconciled vs Yahoo
  • +MIT · cron 20:00 IST
View pipeline
02● Live

tej-cli

/ the terminal

Single Go binary. Fetch a date, backfill a range, query into a DataFrame, pipe into your shell. Zero auth, zero deps.

  • +Go · static binary
  • +fetch · backfill · info
  • +Linux · macOS · Windows
Install the CLI
03● Live

tej-api

/ the network

Hosted REST over the five trees. Screener, batch resolves, corp action webhooks. Python & JS SDKs. Free tier + paid tiers from ₹999/mo.

  • +REST · v1 · OpenAPI
  • +api.tejhq.dev · free tier
  • +DuckDB + R2 edge
  • +Razorpay (₹) · Stripe (usd)
See pricing
same schema · 14 columns · isin-keyedgithub.com/tejhq →