RIDE OUR DATA. FREE.
The Depot Feed is our free, public JSON API for indicative unlisted and pre-IPO share prices in India — the same numbers that run the board here, opened up for you to build on. No key. No signup. No cost. The only fare is attribution: a visible link back to BuyUnlistedShares near wherever you show the data.
THREE RULES OF THE ROAD.
Free for commercial and non-commercial use alike. Build a widget, a research tool, a dashboard — the data costs nothing.
Every endpoint is an open GET. No tokens, no OAuth, no cookies, no session — just fetch the URL and read the JSON.
Show a visible link to buyunlistedshares.com near where the data appears. That link is the whole price of the ride.
EVERY RESPONSE, SAME WRAPPER.
Every endpoint returns the same shape: a meta block with the source, links, license, disclaimer, a response generatedAt timestamp and a separate dataAsOf freshness signal, then a data block that varies by endpoint. Errors keep meta and swap data for an error object with a code and message. Decimal fields (price, marketCap, minInvestment) come back as plain JSON numbers. Market cap is in INR crore; minimum investment is in INR. Each response also says whether a derived value came from current source inputs or a stored fallback. See the data methodology for formulas, cleaning and limitations.
{
"meta": {
"source": "BuyUnlistedShares.com — a brand of Gayatri Financial Synergy (est. 2002)",
"url": "https://buyunlistedshares.com",
"docs": "https://buyunlistedshares.com/developers",
"methodology": "https://buyunlistedshares.com/methodology",
"license": "Free for commercial and non-commercial use with attribution — a visible link to https://buyunlistedshares.com near where the data is shown.",
"disclaimer": "Indicative unlisted-market prices for information only. Not investment advice, not an offer or solicitation to deal in securities. Verify independently before acting.",
"generatedAt": "2026-07-20T09:30:00.000Z",
"dataAsOf": "2026-07-20"
},
"data": { }
}
// Errors keep the same meta, with an error object instead of data:
{ "meta": { … }, "error": { "code": "not_found", "message": "Share not found" } }FOUR STOPS ON THE LINE.
Base URL https://buyunlistedshares.com/api/public/v1. All endpoints are GET and CORS-open (Access-Control-Allow-Origin: *). Only published shares and public display fields are ever returned.
/api/public/v1The feed index — its name, version, docs URL and the list of live endpoints.
data: { name, version, docs, endpoints[] }/api/public/v1/sharesEvery published unlisted share, ordered by name.
limit— default 100, max 250offset— 0 or more — for pagingsector— optional exact-match filter
meta: { total, limit, offset, generatedAt, dataAsOf }; data: [ { slug, name, symbol, sector, listingStatus, price, priceAsOf, currency, isin, updatedAt } ]/api/public/v1/shares/{slug}A single published share with its cleaned indicative price history. Returns 404 JSON if the slug is absent or unpublished.
days— history window — default 365, max 3650
data: { …list fields, marketCap, marketCapUnit, lotSize, minInvestment, minInvestmentUnit, derivation, priceAsOf, history[] }/api/public/v1/ipo-calendarPublished IPO rows — name, dates, price band, lot, status and exchange.
data: [ { …public IPO display fields } ]ONE SHARE, TRIMMED.
This internally consistent NSE-shaped fixture documents field types and units; it is not a live quote. A live GET /api/public/v1/shares/nse-india?days=365 returns up to days of cleaned dated observations.
{
"meta": {
"source": "BuyUnlistedShares.com — a brand of Gayatri Financial Synergy (est. 2002)",
"url": "https://buyunlistedshares.com",
"docs": "https://buyunlistedshares.com/developers",
"methodology": "https://buyunlistedshares.com/methodology",
"license": "Free for commercial and non-commercial use with attribution — a visible link to https://buyunlistedshares.com near where the data is shown.",
"disclaimer": "Indicative unlisted-market prices for information only. Not investment advice, not an offer or solicitation to deal in securities. Verify independently before acting.",
"generatedAt": "2026-07-20T09:30:00.000Z",
"dataAsOf": "2026-07-20"
},
"data": {
"slug": "nse-india",
"name": "National Stock Exchange of India Limited",
"symbol": "NSE",
"sector": "Financial Services",
"listingStatus": "UNLISTED",
"price": 2035,
"currency": "INR",
"isin": "INE721I01024",
"updatedAt": "2026-07-20T05:30:00.000Z",
"priceAsOf": "2026-07-20",
"marketCap": 503662.5,
"marketCapUnit": "INR crore",
"lotSize": 5,
"faceValue": 1,
"minInvestment": 10175,
"minInvestmentUnit": "INR",
"derivation": {
"lotSize": "price_rule",
"minInvestment": "price_x_lot",
"marketCap": "price_x_outstanding_shares"
},
"history": [
{ "date": "2026-07-18", "price": 2010 },
{ "date": "2026-07-19", "price": 2025 },
{ "date": "2026-07-20", "price": 2035 }
]
}
}COPY, PASTE, GO.
Three ways to pull the same share. Swap the slug and the days window as you like.
curl "https://buyunlistedshares.com/api/public/v1/shares/nse-india?days=365"
const res = await fetch(
"https://buyunlistedshares.com/api/public/v1/shares/nse-india?days=365"
);
const { meta, data } = await res.json();
console.log(data.name, data.price, data.history.length);import requests
r = requests.get(
"https://buyunlistedshares.com/api/public/v1/shares/nse-india",
params={"days": 365},
)
payload = r.json()
print(payload["data"]["name"], payload["data"]["price"])BE GENTLE ON THE DEPOT.
The feed is rate-limited to keep it up for everyone. Don't hammer it in tight loops — space your calls out.
Responses are cached at the edge (Cache-Control: public, s-maxage=3600, stale-while-revalidate=86400). Prices update daily — cache on your side too and refresh hourly at most.
Access-Control-Allow-Methods: GET, OPTIONS. Invalid params clamp to their limits rather than error — bad input never returns a 500.
THE ONLY FARE IS A LINK.
Free for commercial and non-commercial use with attribution — a visible link to https://buyunlistedshares.com near where the data is shown.
<a href="https://buyunlistedshares.com">Data: BuyUnlistedShares</a>
Indicative unlisted-market prices for information only. Not investment advice, not an offer or solicitation to deal in securities. Verify independently before acting.
WANT MORE THAN THE PUBLIC FEED?
Wealth platforms, fintechs, dealers and media houses partner with us for deeper data and co-branding. Talk to the desk, or see all the ways to ride together.