Migrating from Polygon.io
Endpoint-to-endpoint mapping from Polygon.io to portfolIQ. Honest about current gaps.
Migrating from Polygon.io
"One API. Raw data, AI context, dbt models. Cancel your five other subscriptions."
This guide helps you migrate from Polygon.io to portfolIQ. It includes an honest mapping of what is covered today, what is not, and a realistic timeline for upcoming gaps.
Why migrate
portfolIQ is not a Polygon clone. The differences that matter for developers:
| Polygon.io | portfolIQ | |
|---|---|---|
| Coverage | US stocks + options + crypto | Crypto top 1000 (EU-first) — ETF EU M6+, stocks M9+ |
| AI layer | None | Per-asset classification, sentiment, fundamentals — historized with model ID + prompt version |
| dbt models | None | Data Vault 2.0 models published on dbt Hub, drop-in for your warehouse |
| Data jurisdiction | US | Hetzner EU (DE/FI), GDPR-native, billing in EUR |
| Pricing | Starts at $29/month (stocks) | Free tier 30k calls/month — Starter €29/month |
| Auth | ?apiKey= query param | X-API-Key header |
If you are building a EU-focused fintech or need data-engineering-ready output with dbt models, portfolIQ is the natural fit.
If you need US stocks or options chains today, see Honest gaps below.
Endpoint mapping — public
The five most-used Polygon endpoints and their portfolIQ equivalents.
1. Aggregate bars (OHLCV)
Polygon
GET /v2/aggs/ticker/{ticker}/range/{multiplier}/{timespan}/{from}/{to}
?apiKey=YOUR_KEY
portfolIQ
GET /v1/assets/{coingecko_id}/prices/ohlcv
?interval=1h&from=2024-01-01T00:00:00Z&to=2024-01-31T23:59:59Z
X-API-Key: YOUR_KEY
Key differences:
- Identifier: Polygon uses ticker (
BTC); portfolIQ usescoingecko_id(bitcoin). See Asset identifiers. - Timespan: portfolIQ uses
interval(1h,1d) — nomultiplierparameter. - Authentication: header, not query param.
- Price is a VWAP consensus across 4 exchanges (Binance, Kraken, Coinbase, Bybit) — not a single-exchange close.
2. Snapshot (latest price)
Polygon
GET /v2/snapshot/locale/global/markets/crypto/tickers/{ticker}
?apiKey=YOUR_KEY
portfolIQ
GET /v1/assets/{coingecko_id}
X-API-Key: YOUR_KEY
Returns: price_usd, volume_24h, market_cap_usd, _meta.last_updated_at, _meta.next_refresh_at.
3. Ticker details (fundamentals)
Polygon
GET /v3/reference/tickers/{ticker}
?apiKey=YOUR_KEY
portfolIQ
GET /v1/assets/{coingecko_id}/fundamentals
X-API-Key: YOUR_KEY
Includes: protocol fees (P/S, P/R from DeFiLlama), TVL, circulating supply, sector classification, DeFi metrics.
4. News
Polygon
GET /v2/reference/news?ticker={ticker}
?apiKey=YOUR_KEY
portfolIQ
GET /v1/assets/{coingecko_id}/ai-analysis?type=sentiment_score
X-API-Key: YOUR_KEY
Key difference: portfolIQ does not expose raw news headlines (third-party redistribution restrictions). Instead, it exposes the AI-generated sentiment score computed from the last 48h of news coverage — with source count, score, label, and the prompt version used.
5. List all tickers
Polygon
GET /v3/reference/tickers?market=crypto
?apiKey=YOUR_KEY
portfolIQ
GET /v1/assets?limit=100&page=1
X-API-Key: YOUR_KEY
Pagination: cursor-based with next_cursor (not page-offset). Returns coingecko_id, ticker, name, tier, price_usd, is_active.
Honest gaps
portfolIQ is in active development. These Polygon features are not available today:
| Polygon feature | portfolIQ status | Timeline |
|---|---|---|
| US stocks OHLCV | Not available | M9+ (Polygon licensed wrapper under evaluation) |
| Options chain | Not planned | Out of scope (M0-M18) |
| Level 2 order book | Not available | Not on roadmap |
| Intraday tick data (sub-minute) | Not available | Not on roadmap — hourly is the minimum granularity |
| EU stocks (Euronext, Xetra, LSE) | Not available | M6+ (ETF EU first) |
| Forex | Not available | Not on roadmap |
| Dividends / corporate actions | Not available | M9+ (stocks milestone) |
| Websocket streaming | Not available | Not on roadmap for M0-M12 |
We publish this list because hiding gaps is a waste of your time. If a blocker affects your use case, open a discussion on GitHub — it feeds directly into the roadmap.
Authentication migration
Polygon uses a query param. portfolIQ uses a header.
| Polygon | portfolIQ | |
|---|---|---|
| Auth mechanism | ?apiKey=YOUR_KEY (query param) | X-API-Key: YOUR_KEY (header) |
| Key source | Polygon dashboard | portfolIQ dashboard |
| Error on missing key | 403 Forbidden | 401 Unauthorized |
| Error on wrong scope | N/A | 403 Forbidden with upgrade_url |
Do not put API keys in URLs. Query params are logged by proxies and CDNs. Headers are not.
Quick test
Verify your key is working:
curl https://api.portfoliq.io/v1/assets/bitcoin \
-H "X-API-Key: YOUR_KEY"
Expected response includes price_usd, _meta.last_updated_at, and ai_metadata.freshness_status.
Advanced migration guide
Sign in to access the full migration guide. The sections below — complete code examples, parameter mapping details, and pagination migration — require a free account.
Create a free account to access the full migration guide.
Not financial advice. portfolIQ provides factual data for informational purposes only. Methodology disclosed.