How viaNexus Removes the Market Data Integration Tax

Teams building with market data spend their first quarter wiring up providers instead of building. Three problems cause it, every team hits all three, and none of them appear on any vendor invoice. Here is what sixty-three datasets on one viaNexus key remove.

Dilpreet Kaur
6 min read
63 datasets, one call. Eight category names converging into a single key.
Sixty-three datasets. One key. One request shape.

A team decides to build something with market data. A screener, a research tool, an agent that answers questions about a portfolio. They scope it, they get budget, and then they spend the next months not building it.

They spend those months wiring up providers. One vendor for real-time quotes, another for historical bars, a third for fundamentals and corporate actions, a news feed on top. Four contracts, four authentication schemes, four ideas of what a symbol is, four response shapes. Then a normalisation layer to reconcile all of it, which nobody wanted to own and which somebody now owns forever.

By the time that layer works, the thing they actually wanted to make is still a sketch, and the roadmap has slipped a quarter.

We call this the integration tax. It is paid before a single feature ships, it is paid again every time a new dataset is added, and it never appears on the invoice from any of the four vendors.

The tax is not really about plumbing. Underneath it are three specific problems, and every team that assembles market data themselves hits all three.

  • Identity — the same instrument has a different name in every feed, so nothing joins cleanly.
  • Adjustment — price history lies unless corporate actions are folded into it correctly, and the events that break it are not the obvious ones.
  • Reach — whatever you need next is always held by a vendor you have not signed yet.

Here is how each one bites, and what we do about it.

1. Identity is the problem underneath every other problem

Ask four vendors for Apple and you get four answers. One wants the ticker, one wants an ISIN, one has its own internal id, and the fourth returns a different code depending on which venue the line came from. None of that matters until you try to put a price next to a dividend next to a headline, at which point every join becomes a guess.

This is why teams end up maintaining a symbol master they never intended to build. It is also why bad joins are so hard to catch: nothing errors, the numbers just quietly belong to the wrong company.

Our answer is that the reference layer comes first. Global symbology sits underneath the catalogue and every dataset is mapped onto it on ingest, so they join on the same key. One instrument, one identity, whichever of the sixty-three datasets you pull it from. Exchange reference data, trading calendars, descriptions and logos sit in the same layer.

Reference data card: AAPL resolving across XNAS, XETR, XMEX, XBUE, ISIN, FIGI and CIK.
The identity layer. Joining datasets becomes a query rather than a project, because the join key was decided before the data landed.

2. Your price history is probably wrong, and it will not tell you

Ask for five years of prices and compare last week to 2021. If the series has not been adjusted for every corporate action in between, the comparison is meaningless, and nothing in the response says so.

Most feeds hand you one price column and leave the reconstruction to you. Ours carries three on the same record for the same date: the price as it actually traded, the split adjusted series, and the fully adjusted series with dividends folded in.

One AAPL record showing unadjusted, split adjusted and fully adjusted prices, with the unadjusted line stepping down at the 4:1 split.
Apple, the session before its 4:1 split. The unadjusted line drops 74% overnight. That is the split, not a crash, and you get both readings without a second request.

The events that quietly break a series are rarely the plain ones. Most consolidated feeds carry dividends and splits and stop. A spinoff moves a price. So does a return of capital, a rights issue, a security swap. If your data does not carry them, your chart has a step in it that nobody can account for.

Our answer is ten event types rather than two, delivered per listing, so a company trading on a dozen venues gives you the event as it applies to each of them. And because every row carries its status, frequency and marker, separating a recurring dividend from a one-off is a filter rather than a research project. Sum the column naively on Costco and a single $15 special from December 2023 makes your yield nonsense.

Corporate actions card showing Costco's $15 special dividend next to its regular quarterly payments.
Ten event types, each row labelled. The $15 special sits next to the $1.16 regular, and you can tell them apart programmatically.

3. The dataset you need next is always at another vendor

The third tax is the one that keeps being paid. You ship the screener, and then someone asks whether the move happened in the closing auction. Or what the street expects next quarter. Or what the market thinks the odds are. Each answer is a new vendor, a new contract, and the first two problems all over again.

Our answer is reach on the same key. Sixty-three datasets across eight groups, from the reference layer up to what happened on the tape this morning, all answering the same shape of request. Adding one to something you have already built is a dataset name, not an integration.

Each card below shows a real record from one group and what people do with it. Scroll sideways.

Prices group card
Corporate actions group card
The tape group card
Fundamentals & estimates group card
Events, transcripts & news group card
Macro & forecasts group card
Prediction markets group card
Reference data group card

← scroll for all eight →

Two of those are worth pausing on, because few consolidators carry them at all. The tape classifies every trade by how it executed, so continuous trading, the auctions, off book and dark activity are separable instead of collapsed into one volume figure. If you are modelling execution or measuring your own fills, that is the difference between an estimate and a number. And prediction markets are a signal that exists in no price series: market implied probabilities on events, with daily history and reference data behind them.

What you build once the tax is gone

Take those three problems away and the work changes shape. The quarter you were going to spend on a normalisation layer goes into the product instead.

Four product mockups: a quote terminal, a screener, an alerting feed and an AI agent, each labelled with the datasets behind it.
Four different products on one key. Every figure shown is live, pulled the week this was written.

None of those needed a second vendor, a second contract, or a reconciliation step. The screener is the terminal with a list of symbols instead of one. The alerting product is the screener with a rule on top. The agent is all of it, reachable by something that reasons, answering from licensed data rather than whatever it found on the open web.

Getting at it

Every dataset answers the same shape of request. Pick the tier, pick the dataset, pass your symbols and a date range, and get JSON back, with the same authentication throughout.

GET /v1/data/{TIER}/{DATASET}/{SYMBOLS}?from=&to=

The consistency is deliberate. It means a person exploring in a browser and an agent working through the catalogue meet the same predictable surface, and it is why adding the next dataset is usually a one line change.

It also means you do not have to write the calls yourself. Our connector is available in Cursor and in Claude, so the assistant you already work in can query all sixty-three datasets while it writes your code. That is a real difference in practice: it is not reading documentation about our API and guessing, it is calling it, checking live responses and real field names as it builds. Wrong guesses get caught before they reach your file.

One of our developers used exactly that to build a full stock quote page, live prices and all, in fifteen minutes.

Start a free trial, add the connector in Cursor or Claude, and describe what you want to build. The integration tax is already paid.

Related Articles

Fifteen Minutes to a Live Market Dashboard

Fifteen Minutes to a Live Market Dashboard

A viaNexus developer added our connector to his code editor and had a live, ticking stock dashboard fifteen minutes later. Here is the connector, the calls behind every panel, and what the same eight datasets turn into once you ship them.

Read more
MCP Gave Agents the Door. It Didn't Give Them a Key.

MCP Gave Agents the Door. It Didn't Give Them a Key.

viaNexus extends MCP with scoped, signed credentials for financial data. Works with Claude, Cursor, and any MCP client.

Read more
2025 - what a year!

2025 - what a year!

From a bold idea and a bare-bones plan to a live, high-performance marketplace, 2025 was the year viaNexus proved a new model for market data and agentic workflows isn’t just possible—it’s necessary. We’re heading into 2026 ready to scale!

Read more

Continue Learning About Us And Our Expanding Ecosystem

viaNexus is rapidly expanding its data offerings and opening the door for AI-driven applications and next-generation financial workflows.

Follow us on our newsletter as we shape the future of financial data.