Nasdaq Data Link (formerly Quandl)
Datadory delivers nasdaq data link formerly quandl data covering hundreds of curated market, fundamentals and macro products under short catalogue codes - end-of-day US equity prices (EOD via QuoteMedia), Sharadar core US fundamentals (SF1), Mergent global fundamentals (MF1), Zacks estimates, ratings and year-end targets (ZEA, ZEE, ZAR), option-flow and volatility collections (OWF, OWIS, VOL, OPT, CLSH), CFTC commitment-of-traders positioning and foreign-exchange rates (CUR) - served as time-series rows, entity-level tables or Parquet extracts reaching multi-decade histories. Delivered daily, weekly, or hourly.
What is the Nasdaq Data Link (formerly Quandl)?
Quandl built the template for selling alternative data by short code; Nasdaq bought the template in 2018 and made it an exchange product. What survives today is a consolidated catalogue where Nasdaq's own exchange data sits beside vetted third-party vendors - Sharadar, Mergent, Zacks, CFTC, QuoteMedia among them - all addressed the same way: a short database code, a documented field list, a dated row.
The shelves worth knowing by name. EOD carries end-of-day US equity prices from QuoteMedia. SF1 is Sharadar's core US fundamentals - income statement, balance sheet, cash flow and ratios per ticker per fiscal period. MF1 extends fundamentals globally through Mergent. ZEA, ZEE and ZAR carry Zacks consensus estimates, year-end targets and ratings. OWF, OWIS, VOL, OPT and CLSH cover option flow, institutional holdings and volatility surfaces. CFTC republishes commitment-of-traders positioning and CUR carries foreign-exchange rates.
Two shapes run through the whole catalogue. Time-series products return dated rows - a bar, a print, a rate - while tables products return entity-level records keyed by ticker and reporting period, which is the right grain for screens and panels rather than charts. In Datadory's catalog of 1,744 datasets across 159 viable industries, this record scores 8/10 for quality - above the catalog-wide average of 7.81 - and anchors the financial exchanges shelf as the fundamentals-and-breadth play beside the indicator-ready price suites.
What do the sample rows look like?
One honest note first: our August 2026 research pass verified the dictionary against the publisher's own documentation because the public site gates automated capture, so the rows below illustrate the documented table contracts rather than quote a live print. Values are rounded placeholders; the shapes are exactly what ships.
Time-series products return one row per date, columns fixed by the product:
date open high low close volume
2026-08-19 100.00 102.50 99.60 102.10 48210000
2026-08-20 102.20 103.80 101.55 103.42 51740000
2026-08-21 103.50 104.90 102.88 104.61 46980000Tables products return one row per entity per period, long-format:
ticker dimension period amount currency
AAA revenue FY2025 1204500000 USD
AAA netinc FY2025 187300000 USD
AAA assets FY2025 8642000000 USD
BBB revenue FY2025 312900000 USDRead together they show why the catalogue has outlived its imitators. The first block is chart food - five values per date, ready to plot as-is. The second is screen food - a dimension column you filter on, so "net margin by year" is one predicate instead of a column hunt across wide statements. Same short-code addressing, two grains, and every product in the catalogue picks one.
What fields does the dataset include?
Fourteen structures were documented down to the enum level during our August 2026 research pass. The dictionary below shows the spine shared by every time-series response plus the job-status fields that ride along with large-table extracts; per-product field lists - Sharadar's dimension vocabulary, Zacks' estimate periods, Mergent's statement lines - fold under additional fields on request. Name the products with your sample and their dictionaries ship in the same table.
How is the data covered?
Three chips, honestly drawn:
- Geography - US exchange data (Nasdaq, PSX), US and international equities fundamentals through Mergent, global FX, futures and options across major exchanges, worldwide economic indicators.
- Temporal - research staples such as Sharadar fundamentals and EOD prices carry multi-decade histories; realtime Nasdaq exchange products cover the current trading session; entity tables span every reported fiscal period in each vendor's archive.
- Granularity - realtime and delayed quote values on the exchange side, one dated row per bar on time-series products, one row per ticker per reporting period on tables products, with collapse and transform settings able to resample a series to monthly or hand back percent-change views instead of raw levels.
Scale check: individual tables run from thousands of rows to billions - full equity-fundamentals histories are the heavy end - spread across hundreds of products from Nasdaq and its third-party providers. That range is the point: one catalogue holds both a single-country rate series and a multi-decade global statement archive, under the same row grammar.
How is the dataset delivered?
API, files, or your warehouse. Daily, weekly, or hourly.
Tables land however your stack wants them - pushed to storage, served on request, or synced straight into your database, as JSON, CSV or Parquet for the heavy extracts. Name the products, the field cut and the cadence when you request the sample; the sample ships first either way. Get a sample of this dataset and both row shapes above arrive alongside the full dictionary for whichever catalogue codes you pick.
Who uses this data, and for what?
A catalogue this deep earns its keep in specific jobs:
- Run factor screens off clean fundamentals - Sharadar's SF1 gives income statement, balance sheet, cash flow and ratios in long format per ticker per period, so value, quality and accrual screens are filters rather than spreadsheet surgery. See investors and quants use cases.
- Backfill price history behind a model - EOD bars plus collapse/transform settings deliver resampled or percent-change series without rebuilding aggregation logic in pandas. See data scientists use cases.
- Track positioning and sentiment beside price - CFTC commitment-of-traders rows and Zacks estimates/revisions give the why-beside-the-what that pure price feeds lack.
- Take a fundamentals screen global - Mergent's MF1 applies the statement-archive treatment outside the US, useful when a domestic-only universe quietly caps the strategy.
- Wire market data into a product - stable codes and documented dictionaries make this the catalogue to prototype against when the roadmap says "prices and fundamentals, one integration." See developers and builders use cases.
Which personas pair this dataset with what?
Four of Datadory's eight personas tag this record, ranked by relevance:
- Investors & quant researchers (relevance 3/3) - multi-decade fundamentals plus EOD prices is the canonical screening stack; confirm redistribution scope before anything commercial ships downstream.
- Developers & data-product builders (2/3) - short codes and documented dictionaries make integration legible; the planning cost sits in entitlement tiers, not schema.
- Data scientists & ML engineers (2/3) - long histories at sane grain for feature engineering; the heavy tables want the extract route rather than row-at-a-time pulls.
- Journalists, academics & students (1/3) - positioning, rates and fundamentals series make defensible charts; cite the producing vendor, which the catalogue makes explicit.
What should I know before requesting a sample?
Three things worth deciding upfront. First, which grain your job actually needs: time-series products and tables products answer different questions, and asking a tables product for chart rows (or the reverse) is the classic mismatch. Second, breadth versus depth: a broad EOD-plus-ratios cut ships fast, while full multi-decade statement archives are heavy enough that we stage them as extracts - say which you want and the sample gets cut to match. Third, tiering: several shelves have both delayed and realtime variants of the same instrument coverage, so tell us whether your job watches the tape or studies it.
Two honest notes from our August 2026 research pass. Live row capture was gated during research, so samples are produced from the documented dictionaries rather than quoted captures. And the dedicated documentation property carries a retirement notice dated August 31, 2026, with docs migrating to the main platform - we re-verify the dictionary against the successor location before any production delivery.
Which notes pair with this dataset?
Notes worth reading next:
- Financial exchanges data hub - the pooled view of the industry slice, from commercial market-data suites to official statistics.
- Tiingo Financial Markets API - corporate-action-adjusted end-of-day prices for 80,000+ assets back to 1962; the scored trade-offs sit in the head-to-head comparison.
- Alpha Vantage Stock and Financial Market Data API - the indicator-ready rival: nine asset families with 50+ precomputed technical indicators against this catalogue's fundamentals-first depth.
- Nasdaq Data Link (Quandl) - REIT Datasets - the sector-cut version of this shelf, REIT fundamentals and estimates, scored for the office-reits slice.
- Nasdaq source profile - who publishes the catalogue, how the record is cataloged, and what else ships from the same source.
- Best financial exchanges datasets - where this record ranks within the slice and what beats it for other jobs.
Field dictionary
Every field below is documented against real records. The full dictionary ships with the sample.
| field | type | definition | example |
|---|---|---|---|
dataset_data.column_names | text | Array of column names for the returned time-series. | ["Date","Open","High","Low"] |
dataset_data.data | text | Array of rows, each matching column_names, for the requested slice of the series. | |
dataset_data.start_date | date | First date in the returned data window. | 2015-01-02 |
dataset_data.end_date | date | Last date in the returned data window. | 2026-08-21 |
dataset_data.frequency | string | Cadence of the returned series. | daily |
dataset_data.collapse | string | Resampling applied to the series, e.g. monthly aggregation of daily bars. | monthly |
dataset_data.transform | string | Operation applied to the series values, e.g. rdiff for percent change versus the prior row. | rdiff |
dataset_data.column_index | integer | Index of the single column returned when the request filtered to one column. | 4 |
dataset_data.limit | integer | Row limit applied to the returned window, if any. | 100 |
dataset_data.order | string | Sort direction of the returned rows. | desc |
files[].size | number | Size of each Parquet file produced by a large-table extract. | |
status | enum | Extract-job state: PENDING, RUNNING, SUCCEEDED, CANCELLED, COLUMN_FILTER_FAILURE, FAILED or CLOSED. | SUCCEEDED |
Sample rows - documented table contracts for the two catalogue grains (values are rounded placeholders; live captures ship with your sample)
| Grain | date / ticker | Key fields |
|---|---|---|
| time-series (one row per date) | 2026-08-19 | open 100.00; high 102.50; low 99.60; close 102.10; volume 48210000 |
| time-series (one row per date) | 2026-08-20 | open 102.20; high 103.80; low 101.55; close 103.42; volume 51740000 |
| time-series (one row per date) | 2026-08-21 | open 103.50; high 104.90; low 102.88; close 104.61; volume 46980000 |
| tables (one row per ticker per period) | AAA | FY2025 | dimension revenue; amount 1204500000; currency USD |
| tables (one row per ticker per period) | AAA | FY2025 | dimension netinc; amount 187300000; currency USD |
| tables (one row per ticker per period) | AAA | FY2025 | dimension assets; amount 8642000000; currency USD |
| tables (one row per ticker per period) | BBB | FY2025 | dimension revenue; amount 312900000; currency USD |
Coverage at a glance
| Dimension | Coverage |
|---|---|
| Geography | US exchange data (Nasdaq, PSX); US and international equities fundamentals via Mergent; global FX; futures and options across major exchanges; worldwide economic indicators |
| Temporal | Multi-decade histories on research staples (Sharadar fundamentals, EOD prices); realtime Nasdaq exchange products cover the current trading session; entity tables span every reported fiscal period per vendor archive |
| Granularity | Realtime and delayed quote values on exchange products; one dated row per bar on time-series products; one row per ticker per reporting period on tables products; collapse/transform resampling available on series |
Product specification
| Attribute | Value |
|---|---|
| Industry | Financial Exchanges & Data |
| Content types | End-of-day US equity prices (EOD, QuoteMedia), Sharadar Core US Fundamentals (SF1), Mergent Global Fundamentals (MF1), Zacks estimates/ratings/year-end targets (ZEA, ZEE, ZAR), options and volatility collections (OWF, OWIS, VOL, OPT, CLSH), CFTC Commitment of Traders, foreign-exchange rates (CUR), Nasdaq exchange feeds (Nasdaq Basic, Last Sale+, Nasdaq Texas, PSX, Global Index Data Service, Smart Options) |
| Fields | Fourteen documented structures down to enum level, plus per-product dictionaries |
| Universe size | Hundreds of dataset products across Nasdaq and third-party providers (Sharadar, Mergent, Zacks, CFTC, QuoteMedia and others); individual tables from thousands of rows to billions |
| Table shapes | Dated time-series rows and long-format entity-period rows, resumable via collapse and transform settings |
| Source | Nasdaq |
| Quality score | 8/10 (catalog average 7.81 across 1,744 records) |
| Delivery | API, files, or your warehouse. Daily, weekly, or hourly. |
Questions buyers ask
What fields does the Nasdaq Data Link (formerly Quandl) data include?
Every time-series response carries the same spine: column_names naming the columns, data holding the rows, start_date and end_date bounding the window, frequency stating the cadence, order giving sort direction, plus optional collapse and transform settings that resample the series or convert levels to percent change. Tables products instead return entity-level rows keyed by ticker and reporting period, and large-table extracts carry job status fields alongside file size metadata.
How far back does the historical data go?
Deeper than most buyers expect, though it varies by product. Research staples such as Sharadar fundamentals and EOD prices carry multi-decade histories; entity-level tables span every reported fiscal period in each vendor's archive; realtime exchange products by design cover only the current trading session. Tell us the products you care about and the sample shows exactly where each history starts.
Which product families are inside the catalogue?
Equity prices (EOD, from QuoteMedia), US company fundamentals (Sharadar SF1), global fundamentals (Mergent MF1), earnings estimates, ratings and year-end price targets (Zacks ZEA, ZEE, ZAR), options and volatility collections (OWF, OWIS, VOL, OPT, CLSH), CFTC commitment-of-traders positioning, foreign-exchange rates (CUR), plus Nasdaq's own exchange feeds. Hundreds of products in total, each addressed by a short code with its own documented dictionary.
Can I take this data alongside another price feed?
That is the standard ask. Time-series rows key naturally on date and tables rows on ticker plus period, so joining this catalogue's fundamentals or positioning onto a deeper tick feed from another vendor is a date-plus-symbol join either way. Tell us what your existing feed already covers and we return a matched sample showing exactly which shelves fill the gap.
What makes this dataset awkward to work with raw?
Three things, all solved by taking it through Datadory instead. The catalogue mixes two grains - dated rows and entity-period rows - so pipelines that assume one shape break on the other. Premium shelves return limited preview data until entitlement is established, which looks like empty history to naive code. And the heaviest tables are sized for staged extracts rather than row-at-a-time reads, so pulling them casually wastes hours. Our pipeline normalizes both grains into one schema and makes every gap visible.
What should I decide before requesting a sample?
Pick your products by code, pick your grain, and pick your freshness tier - historical study versus current-session watching are separate selections. Then name the field cut: a compact EOD-plus-ratios sample ships fast, while full multi-decade archives come staged as extracts. Any per-product field dictionary beyond the spine shown here folds into your sample on request.
See the rows before you pay anything.
Name this dataset and we send real records from it — scoped to the fields you asked for.