Migrate from Intrinio

Port Intrinio calls to the Massive API

This guide is for developers who call the Intrinio API v2 and want to run the same app on Massive. It maps each common endpoint to the Massive endpoint that replaces it, and lists the differences that change your results. To compare the two products before you switch, see Massive vs Intrinio.

If your product depends on Intrinio data that Massive doesn't currently offer, such as mutual funds or ESG scores, you can keep Intrinio for that and use Massive for prices, options, and futures.

Before you start

Using AI?

Paste this into Claude Code, Cursor, Codex, or any coding agent that can read files and fetch a URL:

Find every place my project calls Intrinio.
Switch those calls to the Massive REST API.
Read https://massive.com/docs/migration/guides/intrinio.md for the endpoint map and the differences to handle.
Read https://massive.com/docs/llms.txt for the rest of the API.
Read the API key from the MASSIVE_API_KEY environment variable.
Keep my function signatures and data shapes the same, and list anything Massive does not cover.

To let the agent check real responses while it works, connect the Massive MCP server. Massive also publishes skills and plugins for coding agents.

The request

Both APIs take the key in an Authorization: Bearer header, and both treat the start and end dates as inclusive. Intrinio puts the dates in query parameters. Massive puts them in the path.

curl "https://api-v2.intrinio.com/securities/AAPL/prices?start_date=2025-10-01&end_date=2025-10-03&frequency=daily" \
  -H "Authorization: Bearer YOUR_API_KEY"
Massive
curl "https://api.massive.com/v2/aggs/ticker/AAPL/range/1/day/2025-10-01/2025-10-03?adjusted=false" \
  -H "Authorization: Bearer YOUR_API_KEY"
  • Identifiers. Intrinio accepts a ticker, FIGI, ISIN, CUSIP, or Intrinio ID in the path. Massive takes tickers in the path. To find the ticker for a CUSIP, call All Tickers with cusip.
  • Paging. Intrinio returns a next_page token. Massive returns a next_url to call as is. The Python client follows it for you.

The response

Intrinio returns raw prices, plus adj_* fields adjusted for splits and dividends:

{
  "stock_prices": [
    {
      "date": "2025-10-01",
      "open": 255.04,
      "high": 258.79,
      "low": 254.93,
      "close": 255.45
    }
  ],
  "next_page": null
}

Massive returns one set of prices, chosen by adjusted:

{
  "results": [
    {
      "t": 1759291200000,
      "o": 255.04,
      "h": 258.79,
      "l": 254.93,
      "c": 255.45,
      "v": 48713940,
      "vw": 256.004,
      "n": 535581
    }
  ]
}
IntrinioMassiveNote
datetUnix milliseconds at the bar start. Daily bars start at midnight ET
open, adj_openo
high, adj_highh
low, adj_lowl
close, adj_closec
volume, adj_volumev
NonevwVolume-weighted average price
NonenNumber of trades
  • Weekly and monthly bars. Intrinio dates each row on the last day of the period. Massive t is the start of the period.
  • Intraday times. Intrinio returns time in the timezone you request. Massive returns Unix milliseconds, so convert them yourself.

Symbols

IntrinioMassive
AAPLAAPL
A CUSIPThe ticker, from All Tickers with cusip
A FIGI, ISIN, or Intrinio IDThe ticker. Massive cannot look these up
An Intrinio option codeThe OCC symbol with an O: prefix, such as O:AAPL261218C00230000

Prices

  • Set adjusted=false on Massive to match Intrinio's raw open, high, low, close, and volume.
  • No Massive setting matches the adj_* fields, because they include dividends. To rebuild them, use the historical adjustment factor from Dividends.
  • If you need both raw and split-adjusted prices, make two requests.

Sources: Intrinio authentication, paging, stock prices by security.

Endpoint map

This map covers the most common calls. It is not a full list. To find the Massive endpoint for another call, search these docs.

Intrinio endpointMassive endpoint
/securities/{id}/pricesCustom Bars with timespan=day, week, or month
/securities/{id}/prices/intervalsCustom Bars with timespan=minute or hour
/securities/{id}/tradesTrades
/securities/{id}/prices/realtimeSingle Ticker Snapshot, or Last Trade
/securities/snapshotsMinute aggregate flat files for a past time. Full Market Snapshot for now
/securities/{id}/prices/adjustments/splitsSplits
/securities/{id}/prices/adjustments/dividendsDividends
/securities/search, /securitiesAll Tickers
/securities/{id}Ticker Overview
/fundamentals/{id}/standardized_financialsIncome Statements, Balance Sheets, Cash Flow Statements, Ratios
/companies/{id}/newsNews
/securities/{id}/short_interestShort Interest
Insider transactionsForm 4
Institutional ownership13-F Filings
Analyst ratingsBenzinga Analyst Ratings, Consensus Ratings, paid add-ons
/options/chain/{symbol}/{expiration}/realtimeOption Chain Snapshot
/options/prices/{id}/eodOptions Custom Bars. Greeks and implied volatility come from Option Contract Snapshot, for the current day only. Massive has no history of Greeks
/options/{symbol}All Contracts
/securities/{id}/prices/technicals/sma and similarSMA, EMA, RSI, MACD. Compute other indicators from bars

Massive currently doesn't have an equivalent for Intrinio ESG data, mutual funds, or lookups by FIGI or ISIN. New data and features ship often, so check the product roadmap for what's planned. Massive adds forex, crypto, indices, and futures.

Streaming

Intrinio real-time data comes through its realtime SDKs. Each SDK gets a token from a feed host, then joins tickers on a WebSocket. Massive takes your API key in an auth message on the WebSocket itself:

  • Stocks: connect to wss://socket.massive.com/stocks and subscribe to trades and quotes.
  • Options: connect to wss://socket.massive.com/options and subscribe to trades and quotes.

See the WebSocket quickstart.

Bulk history

Intrinio serves bulk downloads as links from /bulk_downloads/links. Massive flat files are on an S3-compatible endpoint, so you can sync them with standard S3 tools. Each file holds one day of stock trades, stock daily bars, or options daily bars.

SDKs

LanguageIntrinioMassive
PythonOfficial REST and realtime SDKsclient-python
JavaScriptOfficial REST and realtime SDKsclient-js
JavaOfficial REST and realtime SDKsclient-jvm, for Kotlin and Java
GoOfficial realtime SDKclient-go
Ruby, C#, ROfficial SDKsNone. Call the REST API directly

Sources

Intrinio details were checked against the Intrinio API documentation on October 29, 2026. Intrinio is a trademark of its owner. Massive is not affiliated with Intrinio.

Did you find this page helpful?
Do you still need help with something?