Migrate from Intrinio
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
- Sign up and copy your API key from the dashboard.
- Pick a plan for each market you use on the pricing page.
- Read the REST quickstart for the response shape that every endpoint shares.
Using AI?
Paste this into Claude Code, Cursor, Codex, or any coding agent that can read files and fetch a URL:
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.
- 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:
Massive returns one set of prices, chosen by adjusted:
| Intrinio | Massive | Note |
|---|---|---|
| date | t | Unix milliseconds at the bar start. Daily bars start at midnight ET |
| open, adj_open | o | |
| high, adj_high | h | |
| low, adj_low | l | |
| close, adj_close | c | |
| volume, adj_volume | v | |
| None | vw | Volume-weighted average price |
| None | n | Number 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
| Intrinio | Massive |
|---|---|
| AAPL | AAPL |
| A CUSIP | The ticker, from All Tickers with cusip |
| A FIGI, ISIN, or Intrinio ID | The ticker. Massive cannot look these up |
| An Intrinio option code | The 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 endpoint | Massive endpoint |
|---|---|
| /securities/{id}/prices | Custom Bars with timespan=day, week, or month |
| /securities/{id}/prices/intervals | Custom Bars with timespan=minute or hour |
| /securities/{id}/trades | Trades |
| /securities/{id}/prices/realtime | Single Ticker Snapshot, or Last Trade |
| /securities/snapshots | Minute aggregate flat files for a past time. Full Market Snapshot for now |
| /securities/{id}/prices/adjustments/splits | Splits |
| /securities/{id}/prices/adjustments/dividends | Dividends |
| /securities/search, /securities | All Tickers |
| /securities/{id} | Ticker Overview |
| /fundamentals/{id}/standardized_financials | Income Statements, Balance Sheets, Cash Flow Statements, Ratios |
| /companies/{id}/news | News |
| /securities/{id}/short_interest | Short Interest |
| Insider transactions | Form 4 |
| Institutional ownership | 13-F Filings |
| Analyst ratings | Benzinga Analyst Ratings, Consensus Ratings, paid add-ons |
| /options/chain/{symbol}/{expiration}/realtime | Option Chain Snapshot |
| /options/prices/{id}/eod | Options 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 similar | SMA, 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
| Language | Intrinio | Massive |
|---|---|---|
| Python | Official REST and realtime SDKs | client-python |
| JavaScript | Official REST and realtime SDKs | client-js |
| Java | Official REST and realtime SDKs | client-jvm, for Kotlin and Java |
| Go | Official realtime SDK | client-go |
| Ruby, C#, R | Official SDKs | None. 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.