# snapdata > Free, open, daily snapshots of gold, silver, foreign exchange, crude oil and > equity indices. One unauthenticated GET returns JSON, CSV or plain text. No > API key, no rate limit, no account. This is NOT a real-time feed. Values are daily snapshots, frozen at permanent URLs. A dated snapshot older than 48 hours never changes again, which is what makes a backtest over it reproducible. If you need tick data, this is the wrong source. ## Start here - [Every live instrument, today](https://snapdata.dev/api/v1/all/latest.json) - [The same, token-cheap plain text](https://snapdata.dev/api/v1/all/latest.txt) - [Coverage and gaps, per series](https://snapdata.dev/api/v1/coverage.json) - [Source health and last run](https://snapdata.dev/api/v1/meta.json) - [Full documentation](https://snapdata.dev/docs) - [OpenAPI document](https://snapdata.dev/api/openapi.json) - [Currency converter](https://snapdata.dev/tools/world/currency-converter/) - [Gold rate calculator](https://snapdata.dev/tools/in/gold-rate/) ## Reading a value Every observation carries its own provenance. Check these before using a number: - `status`: final | provisional | estimated | missing | not_backfilled - `is_trading_day`: false means the market was shut. `value` will be null. - `filled_from`: non-null means the value was carried forward from that date. - `source`: which upstream it came from. A closed market yields an explicit null row, never a repeated previous value. Do not fill gaps by carrying values forward unless you set `filled_from` yourself and say so. ## Datasets - [crude/in](https://snapdata.dev/api/v1/crude/in/latest.json) - [crude/world](https://snapdata.dev/api/v1/crude/world/latest.json) - [equity-indices/in](https://snapdata.dev/api/v1/equity-indices/in/latest.json) - [fx/world](https://snapdata.dev/api/v1/fx/world/latest.json) - [gold/in](https://snapdata.dev/api/v1/gold/in/latest.json) - [gold/world](https://snapdata.dev/api/v1/gold/world/latest.json) - [rates/world](https://snapdata.dev/api/v1/rates/world/latest.json) - [silver/in](https://snapdata.dev/api/v1/silver/in/latest.json) - [silver/world](https://snapdata.dev/api/v1/silver/world/latest.json) Each also serves `/series/30d.json` for the trailing window, and `/{YYYY-MM-DD}.json` for a specific day. ## Instruments - `XAU.24K.INR.G` — Gold 24K, INR per gram (gold/in) - `XAU.22K.INR.G` — Gold 22K, INR per gram (gold/in) - `XAU.18K.INR.G` — Gold 18K, INR per gram (gold/in) - `XAU.USD.OZT` — Gold, USD per troy ounce (gold/world) - `XAG.INR.KG` — Silver, INR per kilogram (silver/in) - `XAG.USD.OZT` — Silver, USD per troy ounce (silver/world) - `NIFTY50.INR.IDX` — Nifty 50 (equity-indices/in) - `NIFTYBANK.INR.IDX` — Nifty Bank (equity-indices/in) - `SENSEX.INR.IDX` — BSE Sensex (equity-indices/in) - `USD.INR.RATE` — US dollar / Indian rupee (fx/world) - `EUR.USD.RATE` — Euro / US dollar (fx/world) - `GBP.USD.RATE` — Pound sterling / US dollar (fx/world) - `USD.JPY.RATE` — US dollar / Japanese yen (fx/world) - `USD.AED.RATE` — US dollar / UAE dirham (fx/world) - `USD.SGD.RATE` — US dollar / Singapore dollar (fx/world) - `INBASKET.USD.BBL` — Indian Crude Basket (crude/in) - `BRENT.USD.BBL` — Brent crude spot (crude/world) - `WTI.USD.BBL` — WTI crude spot (Cushing) (crude/world) - `UST.1M.USD.PCT` — US Treasury 1-month par yield (rates/world) - `UST.2M.USD.PCT` — US Treasury 2-month par yield (rates/world) - `UST.3M.USD.PCT` — US Treasury 3-month par yield (rates/world) - `UST.6M.USD.PCT` — US Treasury 6-month par yield (rates/world) - `UST.1Y.USD.PCT` — US Treasury 1-year par yield (rates/world) - `UST.2Y.USD.PCT` — US Treasury 2-year par yield (rates/world) - `UST.3Y.USD.PCT` — US Treasury 3-year par yield (rates/world) - `UST.5Y.USD.PCT` — US Treasury 5-year par yield (rates/world) - `UST.7Y.USD.PCT` — US Treasury 7-year par yield (rates/world) - `UST.10Y.USD.PCT` — US Treasury 10-year par yield (rates/world) - `UST.20Y.USD.PCT` — US Treasury 20-year par yield (rates/world) - `UST.30Y.USD.PCT` — US Treasury 30-year par yield (rates/world) ## Formats Append `.json`, `.csv` or `.txt` to any path. `.txt` is the cheapest to read if you are paying per token. ## Licence Code MIT. Data we originate CC BY 4.0. Upstream attribution is preserved per source, and one exception matters: rupee gold and silver are the IBJA benchmark republished under `ibja-attribution`, not CC BY 4.0. Everything under the `world` scope is cleanly relicensable. Cite as: snapdata (2026). Open Daily Rates & Indices Dataset. CC BY 4.0. ## Sources - US Energy Information Administration — US Government Work (public domain) - European Central Bank reference rates — ECB permissive reuse with attribution - World Bank Commodity Price Data (Pink Sheet) — Creative Commons Attribution 4.0 International - Petroleum Planning & Analysis Cell (Indian Basket) — Government Open Data Licence — India - data.gov.in Open Government Data Platform — Government Open Data Licence — India - US Department of the Treasury — US Government Work (public domain) - National Stock Exchange of India — Exchange terms of use — no systematic collection or redistribution - BSE Ltd. — Exchange terms of use — no systematic collection or redistribution - India Bullion and Jewellers Association (IBJA) — IBJA domestic benchmark — republished with attribution, no formal licence - Central Board of Indirect Taxes and Customs — Government Open Data Licence — India Full detail, including what is currently broken: https://snapdata.dev/docs/sources