Market data API and MCP server

Global market data API for your code and your AI tools.

Equities, ETFs, funds, crypto, FX and macro data across exchanges worldwide. Call it from your code over REST, or connect your AI assistant or agent over MCP by signing in.

The trial includes 1,000 credits, and you don't need a card to start it.

curl "https://api.quova.io/v1/prices/daily?symbols=NASDAQ:AAPL,ASX:BHP&from=2026-06-01&to=2026-06-05&currency=USD" \
  -H "Authorization: Bearer $QUOVA_API_KEY"
Response
200 OK 2 credits
{
  "data": [
    {
      "symbol": "NASDAQ:AAPL",
      "instrument": {
        "id": "ins_34VInjBb4l9Qz9gdXnDar",
        "symbol": "NASDAQ:AAPL",
        "name": "Apple Inc.",
        "type": "equity",
        "mic": "XNAS",
        "currency": "USD",
        "country": "US"
      },
      "asOf": "2026-06-05T00:00:00Z",
      "currency": "USD",
      "adjust": "splits",
      "bars": [
        {
          "date": "2026-06-01",
          "open": 309.625,
          "high": 310.94,
          "low": 305.02,
          "close": 306.31,
          "volume": 48849933
        },
        {
          "date": "2026-06-02",
          "open": 307.46,
          "high": 315.45,
          "low": 306.685,
          "close": 315.2,
          "volume": 44534716
        },
        {
          "date": "2026-06-03",
          "open": 314.175,
          "high": 316.94,
          "low": 308.85,
          "close": 310.26,
          "volume": 50836705
        },
        {
          "date": "2026-06-04",
          "open": 313.23,
          "high": 313.54,
          "low": 309.65,
          "close": 311.23,
          "volume": 44869134
        },
        {
          "date": "2026-06-05",
          "open": 312.86,
          "high": 315.17,
          "low": 307.15,
          "close": 307.34,
          "volume": 65310502
        }
      ]
    },
    {
      "symbol": "ASX:BHP",
      "instrument": {
        "id": "ins_34VMvft6kZEXThtzFGcAL",
        "symbol": "ASX:BHP",
        "name": "BHP Group Ltd",
        "type": "equity",
        "mic": "XASX",
        "currency": "AUD",
        "country": "AU"
      },
      "asOf": "2026-06-05T00:00:00Z",
      "currency": "USD",
      "adjust": "splits",
      "bars": [
        {
          "date": "2026-06-01",
          "open": 44.582805,
          "high": 45.040725,
          "low": 44.4575925,
          "close": 44.70444,
          "volume": 6338357
        },
        {
          "date": "2026-06-02",
          "open": 45.50852,
          "high": 45.637724,
          "low": 44.89839,
          "close": 45.486986,
          "volume": 7621289
        },
        {
          "date": "2026-06-03",
          "open": 46.01124,
          "high": 46.360512,
          "low": 45.897192,
          "close": 46.267848,
          "volume": 8405596
        },
        {
          "date": "2026-06-04",
          "open": 45.57987,
          "high": 45.6512,
          "low": 44.488521,
          "close": 44.79524,
          "volume": 7871447
        },
        {
          "date": "2026-06-05",
          "open": 43.8199,
          "high": 43.967845,
          "low": 42.953365,
          "close": 43.14358,
          "volume": 7385673
        }
      ]
    }
  ],
  "errors": [],
  "meta": {
    "credits": 2,
    "requestId": "req_34VPGnu6lzdOIqJwSfMDT"
  }
}
endpoints across 9 datasets
39
symbols in a single call
100
trial credits, valid for 7 days
1,000
credits for lookups that fail
0

Coverage

Stock, fund, crypto and macro data in one API

Every endpoint takes the same identifiers and returns the same response shape, so once you've used one you can guess how the rest work.

For AI assistants and agents

Connect Quova to your AI tools

Quova also runs an MCP server. MCP is the open standard AI assistants use to call outside tools, so once you add Quova to your AI tool and sign in, it can look up prices, dividends and tax data for you.

  • You connect by signing in to Quova, so there is no API key to paste anywhere
  • Every endpoint is a tool, billed with the same credits as the REST API
  • When you connect, you choose which endpoints the agent can use and how many credits it can spend

If you're building an app with an AI assistant instead, point it at our OpenAPI spec and it can write the API calls for you.

claude mcp add --transport http quova https://api.quova.io/mcp
claude mcp login quova

One API key

Shares, ETFs, crypto and FX through the same endpoints

Anything with a price is an instrument, so /v1/prices/daily works the same for a US stock, an ETF in Sydney, a currency pair or a token on Solana. Every response tells you exactly what your symbol resolved to.

NASDAQ:AAPL
A share listed in the US
LSE:VOD
A share on the London Stock Exchange
XETRA:SAP
A share on Xetra in Frankfurt
ASX:VAS
An ETF on the ASX
isin:US0378331005
A listing looked up by ISIN
FX:EURUSD
A currency pair
CRYPTO:BTC
The most liquid match for a coin
SOLANA:<contract>
An exact token by its contract address
INDEX:AXJO
An index
ins_7Hq2kP3xY9vLmN4bR8sT1u
Our own ID, stable through renames and ticker changes

Income and tax data

Dividend data with the tax detail attached

Portfolio trackers and tax tools need more than a price feed. We read issuer statements and exchange announcements, so you get structured fields instead of PDFs, including Australian franking and trust tax data that most providers don't carry.

  • Declared and split adjusted amounts for every dividend, with its ex, record and pay dates
  • Splits, mergers, demergers with their cost base split, returns of capital and symbol changes
  • Official tax FX rates from central banks and tax offices, kept apart from market FX
  • Franking credits, DRP prices and AMIT trust tax components for ASX shares and ETFs

Vanguard Australian Shares Index ETF

FY2026 distributions, per unit in AUD

ASX:VAS
PaidCashFrankedFranking creditsForeign incomeBasis
16 Oct 20251.09590.90740.40090.0140 Estimate
19 Jan 20260.82080.55580.24770.0345 Estimate
20 Apr 20260.84790.69490.30800.0152 Estimate
16 Jul 20260.48830.32500.15420.0296 Estimate
GET /v1/tax/au/components?symbols=ASX:VAS,ASX:A200&financialYear=2026

Why Quova

Data you can reconcile

Checked against other sources

Each dataset is compared across several sources. When they disagree past a threshold, the value goes to a person for review instead of straight to you.

Batch by default

Send up to 100 symbols in one call. A symbol that doesn't resolve lands in errors on its own, and the rest of the call still succeeds.

The same shape everywhere

One response envelope, one set of parameters and camelCase fields. Unknown values are null rather than zero, and every item tells you the point in time it describes.

Credits

You pay for the data you get back

Priced per item

Every endpoint has a weight between 0 for reference lookups and 10. Most charge it once for each instrument that resolves, and history length never changes the price.

Failed lookups cost nothing

We don't bill symbols that don't resolve, data we're still fetching or requests that fail. A symbol repeated in one call is billed once.

Cached reads cost the same

What we already hold doesn't change your bill. Pass fresh=true when you need us to skip the cache, and items fetched fresh are billed at 2x.

Credits for every endpoint
GET /v1/prices/daily?symbols=NASDAQ:AAPL,XETRA:SAP,NYSE:NOPE&from=2026-06-01&to=2026-06-05&currency=USD
NASDAQ:AAPL Returned1 credit
XETRA:SAP Returned1 credit
NYSE:NOPE instrument_not_found0 credits
Billed for this call2 credits
meta.credits: 2 Credits-Remaining: 998

Try every endpoint for 7 days

The trial has 1,000 credits and full API access, and you don't need a card for it. Plans start at $29 a month after that.