snapdata

Coverage & backfill

Where each series actually starts, and why it is uneven. Backfill depth here is licence-bound, not effort-bound.

There is no uniform start date, and there never will be.

Most data projects hide their gaps behind a vague "historical data available". The honest position is that backfill depth is bound by what we may lawfully redistribute, not by how much work we are willing to do, and those two produce very different-looking charts.

The machine-readable version is /api/v1/coverage.json, which carries the reason for every limit.

The honest table

SeriesCoverage at launchSourceLicence
Brentdaily to 1987-05-20EIAUS public domain
WTIdaily to 1986-01-02EIAUS public domain
USD/INR, EUR, GBP, JPY, SGDdaily to 1999-01-04ECB cross-ratespermissive, attribution
USD/AED2026 live onlypegged constant,
Gold, silver (USD)monthly to 1960World Bank Pink SheetCC BY 4.0
Gold, silver (INR)2026 liveIBJA relaynone, upstream keeps ~45 days
Nifty 50, Nifty Bank, Sensex2026 live onlyNSE, BSErestricted, no backfill, ever
Crude Basket2026 livePPACmonthly to 2000 achievable

Launch claim: daily data collected live from August 2026, with historical backfill where licensing permits, crude to 1987, FX to 1999, monthly metals to 1960.

We do not promise daily gold/silver or index history, and the reasons are worth stating plainly.

Why no daily USD gold history

LBMA's daily benchmark is fee-liable through ICE Benchmark Administration. FRED deleted the series in January 2022 at IBA's request. There is no clean, redistributable daily USD gold price, so we serve the World Bank Pink Sheet's monthly figure, which goes back to 1960 under CC BY 4.0, and label it honestly.

In practice that means XAU.USD.OZT on a given day carries:

{ "status": "estimated", "filled_from": "2026-08-01" }

The number is real. It is August's monthly figure standing in for a specific day, and the payload says so rather than presenting it as a daily observation. If we ever license a daily source, status becomes final and filled_from becomes null, no schema change, no consumer breakage.

Why no Indian index history

NSE and BSE terms prohibit systematic collection and redistribution of historical data. This is not a to-do item. There will never be an index backfill, and any project that offers you one is either licensed in a way we are not, or is in breach.

What we do publish is index levels only, never a full bhavcopy, never constituents.

Asking for a date before we started collecting returns not_backfilled, not missing:

{
  "date": "2015-06-01",
  "instrument_id": "NIFTY50.INR.IDX",
  "value": null,
  "status": "not_backfilled",
  "is_trading_day": true
}

Nifty 50 certainly had a value that day. We simply may not have it, and saying missing would imply the market was shut.

Why rupee metals have no deep history

Rupee gold and silver are the IBJA benchmark, relayed through a third-party consumer endpoint. That relay serves roughly 45 days and no more, and IBJA publishes no open archive, so there is nothing to backfill from. Depth here grows one day at a time as we run.

This replaced a derived series, USD spot converted through FX, import duty and GST. That approach could in principle reach back to 2017-07-01, when GST on precious metals became flat at 3%, but it ran about 3.5% below the domestic benchmark every day, because the only USD spot we may redistribute is a monthly average. A long history of consistently wrong numbers is worse than a short history of right ones.

The duty and GST tables remain in packages/schema/src/duty.ts for the customs dataset, which still needs them.

Reading /api/v1/coverage.json

{
  "instrument_id": "XAU.USD.OZT",
  "daily_from": "2026-08-01",
  "monthly_from": "1960-01-01",
  "resolution": "monthly",
  "gaps": [],
  "licence": "cc-by-4.0",
  "source": "worldbank",
  "limit_reason": "No clean daily USD gold source exists. LBMA daily is fee-liable via ICE Benchmark Administration, FRED deleted the series in January 2022 at IBA's request. World Bank Pink Sheet gives monthly to 1960 under CC BY 4.0."
}

limit_reason is the field to read. Every entry has one, and none of them say "coming soon" unless it is actually coming.

What is planned

Backfills that are licensable but not yet imported:

  • Derived INR gold and silver to 2017-07-01. The duty table already covers it; the import has not been run.
  • Indian Crude Basket, monthly to 2000. PPAC publishes history as PDFs. It is harvestable, and daily history is not machine-readable.

Backfills that are not possible, so are not planned:

  • Indian equity index history. Restricted.
  • Daily USD gold or silver before launch. Fee-liable.

On this page