Skip to content
My ETF Portfolio
BuildETFsStressModelHistoryAPI
Market closedNY --:--:--
My ETF Portfolio

Decision support, not investment advice. Outputs are model estimates from the inputs you provide — review taxes, risk, fees, and fund details before acting.

Build a portfolioETF explorerStress labMethodologyRun historyAPI accessAPI reference
Rates: FRED · Equity risk premium: Damodaran · Fund data refreshed on a research schedulemyetfportfolio.com
HomeBuildETFsModel
API Developer access

API Access

The portfolio optimizer that powers this site is available as a REST API. Send a request with your investment constraints, get back a tax-aware optimized ETF portfolio with full risk and sensitivity reporting.

Join the waitlistAPI reference
Base URL
myetfportfolio.com/v1
Auth
X-API-Key
Protocol
REST · GET / POST
Status
Waitlist
Request · POST /portfolio/optimize
curl -X POST https://myetfportfolio.com/v1/portfolio/optimize \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "policy_id": "taxable_low_tax",
    "capital": 25000,
    "risk_tolerance": "MODERATE",
    "creativity": "balanced",
    "account_tax_type": "taxable",
    "federal": 0.37,
    "state": 0.05,
    "ltcg": 0.20
  }'

What’s in the API

The same engine as the portfolio builder, without the UI.

Tax-aware optimization

After-tax utility with federal, state, NIIT, and LTCG inputs. Decision-support ideas — not execution or advice.

Factor risk + return blending

Optional factor covariance and Black-Litterman views. Cash/FI horizon glide and muni policy are continuous in tax rates.

Semantic ETF search

Natural-language ETF discovery powered by embeddings + pgvector. "low cost broad market index" returns SCHB, VTI, ITOT — ranked by relevance and liquidity.

Risk scorecards & stress

Parametric VaR/CVaR (calibrated tail family), FoF matched-risk scorecard (AOR-class), and illustrative sleeve stress maps — labeled as model risk, not forecasts.

Multi-account household

Two-stage asset-location optimization across taxable, IRA, Roth, and 401k wrappers. Maximizes tax efficiency by placement.

Stateless & fast

No session state on the math path. Typical optimization completes in a few seconds. Fair-use rate limits per tenant (see docs).

What you can build

  • Robo-advisor backends

    Generate tax-aware ETF portfolios for clients with custom risk profiles and capital levels.

  • Portfolio rebalancing tools

    Recompute optimal weights when drift exceeds thresholds. Get proposed orders with tickers and target allocations.

  • Tax-loss harvesting automation

    Identify TLH pairs and harvest opportunities with the optimizer's built-in tax-loss analysis.

  • ETF screeners & research

    Semantic search, factor scorecards, eligibility filters, and provider health metrics for your ETF research workflow.

  • Risk analytics dashboards

    Stress test existing portfolios against historical crises. Compute greeks, concentration, and distribution risk.

Errors & limits

Details
CodeMeaning
401Invalid or missing X-API-Key header.
422Request body failed Pydantic validation.
429Rate limit exceeded (fair-use limit for your API key).
500Internal server error.

Fair-use limits apply per key; a 429 includes a Retry-After header.

KEY Access

Join the waitlist

Waitlist / invite only for now. We have not published paid plans, dollar pricing, or upgrade tiers — and we will not invent them on this page. Fair-use rate limits protect the service for everyone.

  • Portfolio optimize + research endpoints
  • Semantic ETF search
  • Greeks, sensitivity, FoF scorecard fields
  • Fair-use RPM (see /api-docs)

We’ll notify you when API keys are available for self-service signup. No spam, no sharing.

FAQ

What is the API?

Programmatic access to the ETF portfolio optimizer and research data. Send a portfolio request, get back an optimized allocation with risk metrics, tax treatment, and sensitivity analysis.

Rate limits

Fair-use limits apply per API key (default is modest RPM). When exceeded, the API returns 429 with a Retry-After header. Limits may change as we learn traffic patterns — not sold as paid tiers today.

Data freshness

Risk-free rate and ERP come from live FRED / Damodaran-style feeds when available. ETF metadata (AUM, expense ratios, yields) is refreshed on a research schedule. Tail defaults are gated by a Yahoo return-panel calibration artifact (see /how-we-model).

Full API reference

See the complete endpoint catalog, schemas, quickstart guide, and SDK examples at /api-docs. Methodology detail lives at /how-we-model.

Access & pricing

Access is waitlist / invite for now. We have not set commercial pricing or paid tiers — join the waitlist if you want a key when capacity opens.

Is this investment advice?

No. The API returns decision-support portfolio ideas and scorecards. Every AllocatorResponse includes a disclaimer field. You own the decision and the brokerage path.