Multi-tier data sourcing strategy
How portfolIQ structures its data sources across three tiers — free redistribution, internal fusion, and paid auto-trigger — and why it matters for your B2B use case.
Multi-tier data sourcing strategy
Disclaimer: Data provided by portfolIQ is factual and descriptive. It does not constitute financial advice or investment recommendations. Not financial advice. Methodology disclosed.
Overview
portfolIQ organises all its data sources into three tiers based on licensing, redistribution rights, and availability. This architecture ensures that every byte you receive from the portfolIQ API is legally redistributable — a critical requirement for B2B fintech applications.
| Tier | Name | Who sees the raw data | licensed_for_commercial_use |
|---|---|---|---|
| Tier 0 | Free redistribution | Exposed directly in API | true |
| Tier 1 | Internal fusion | Never exposed raw — only derivatives | true (when ≥2 sources, weight ≤40% per source) |
| Tier 2 | Paid auto-trigger | Derivatives only, conditionally | true (if licence permits) |
Every API response includes meta.source_primary and meta.licensed_for_commercial_use so you can audit the provenance of each field.
Tier 0 — Free redistribution (primary)
These sources carry explicit open-data or public-domain licences. portfolIQ exposes data derived from them directly in API payloads.
| Source | Coverage | Licence | portfolIQ use |
|---|---|---|---|
| SEC EDGAR | US equities (~8,500 companies), ETF N-PORT filings | Public domain (17 CFR §200.80) | Stock + ETF metadata, XBRL fundamentals |
| FRED (Federal Reserve St. Louis) | ~800k macro series, WTI oil, natural gas | Free redistribution with attribution | Commodities spot, macro indicators |
| ECB SDW | EUR/*, inflation, M3, interest rates | Open data | Forex EUR pairs, EU macro |
| metals.dev | Gold, silver, platinum spot (1.79€/month) | Commercial licence included | XAU, XAG spot prices |
| ESMA FIRDS | ISIN/MIC/instrument reference EU | Open data (MiFID II) | ISIN cross-reference |
| Companies House UK | UK company fundamentals | Open Government Licence | UK equity metadata (Sprint 30) |
| AMF info-financière | Euronext Paris listed companies | Open data (régulateur FR) | FR equity events (Sprint 30) |
| LSE Delayed | UK equity prices (15-min delay) | Redistributable delayed feed | UK OHLCV (Sprint 30) |
| EDINET (Japan FSA) | Japanese XBRL filings | PDL 1.0 (redistribuable) | TSE fundamentals (Sprint 32) |
| DART (Korea FSS) | Korean company filings | Open data (régulateur KR) | KOSPI fundamentals (Sprint 32) |
| TWSE OpenAPI | Taiwan Stock Exchange | Open Government Licence TW | Taiwan metadata (Sprint 32) |
| SC Malaysia Shariah list | ~750 halal-certified securities | Régulateur SAC biannuel | Halal certification flag (Sprint 32) |
| IDX ISSI (Indonesia) | Indonesia Sharia Stock Index | OJK (régulateur officiel) | Halal certification flag (Sprint 32) |
Attribution policy: Tier 0 sources are always attributed in meta.source_primary. Example: "edgar_xbrl_v1", "fred_v1", "metals_dev_v1".
Tier 1 — Internal fusion (derivatives only)
These sources have terms of service that prohibit direct redistribution of raw data, but permit internal use to compute derivatives. portfolIQ uses them to build consensus prices and enriched signals — the derived output (not the raw input) is what gets served to you.
| Source | Use | portfolIQ role |
|---|---|---|
| Tiingo (free, 1,000 tickers/day) | US equity OHLCV | Fusion input — NEVER in payload |
| Polygon.io (free tier) | US equity OHLCV | Fusion input — NEVER in payload |
| FMP (Financial Modeling Prep, free) | US equity OHLCV | Fusion input — NEVER in payload |
| Twelve Data (free) | US equity OHLCV | Fusion input — NEVER in payload |
Fusion methodology: portfolIQ applies a weighted VWAP consensus across Tier 1 sources:
- Each source contributes a price + volume.
- Sources with price deviation > 5% from the inter-source median are excluded.
- No single source may contribute more than 40% of the total weight (analogous to the 50% cap on the crypto VWAP basket).
- If fewer than 2 sources remain after exclusions, no consensus price is published for that ticker on that day (
data_quality: "insufficient_sources").
The consensus output is stored in sat_stock_price_consensus and exposed as meta.data_methodology: "stock_consensus_v1".
Why this matters for your app: The raw Tiingo/Polygon/FMP prices are never in the API response. What you receive is a licenced derivative that portfolIQ computed. You can redistribute this derivative to your end users.
Tier 2 — Paid auto-trigger (last resort)
Tier 2 is activated automatically, on a ticker-by-ticker basis, only when Tier 0 + Tier 1 coverage drops below the quality threshold.
| Source | Trigger condition | Cost model |
|---|---|---|
| Alpha Vantage Standard (~50$/month) | coverage < 90% OR Tier 1 ToS NO-GO | Activates per-ticker, strict budget cap |
| EODHD Standard (~19$/month) | Asia-Pacific tickers not covered by Tier 0 | Sprint 32 auto-trigger for ASEAN |
Trigger conditions for Tier 2:
- Tier 1 fusion has fewer than 2 sources for a given ticker.
- A Tier 1 source ToS changes and expert-legal issues a NO-GO.
- A ticker is newly listed and not yet covered by Tier 0/1.
What you see in the response: If a field was sourced from a Tier 2 provider with a commercial redistribution licence, meta.source_primary reflects this ("alpha_vantage_standard_v1") and meta.licensed_for_commercial_use remains true. If the Tier 2 licence does not cover redistribution, the field is withheld and meta.data_quality is set to "unavailable".
Budget guardrail: Tier 2 spending is capped at 50$/month per provider. If the cap is reached, affected tickers fall back to data_quality: "insufficient_sources" rather than overrunning the budget.
Why this architecture matters for your B2B use case
Legal clarity: Every field in every portfolIQ response can be traced to a Tier 0 or licenced Tier 1/2 source. You don't need to audit each upstream ToS — portfolIQ has done it for you.
Predictable data quality: The meta.data_quality field ("full", "partial", "stale", "insufficient_sources") lets you build conditional logic in your application without silent failures.
Compliance-ready attribution: meta.source_primary provides the audit trail required by MiFID II Article 27 for best execution documentation and AIFMD Article 26 for valuation independence.
Cost transparency: portfolIQ publishes the cost structure of its data sourcing. If a paid Tier 2 source is active for a ticker you consume, you'll see it in the source_primary field.
Related pages
- Stock metadata consensus — EDGAR sourcing and field coverage
- Halal screening inputs — raw inputs vs. verdicts
- Multi-source fusion — Tier 1 fusion algorithm (VWAP consensus, outlier detection)
- Cross-asset correlations — how Tier 0 FX sources enable multi-currency correlation matrices
- API reference — full endpoint schema with
metafield documentation
Not financial advice. Methodology disclosed. portfolIQ is not a registered investment advisor.