Personal read-only API and MCP
Use your saved ETFPayout data with a trusted client. Included in Pro; no order placement, ledger changes or new AI jobs.
Create a token
Open Settings → Personal API and MCP. Choose the narrowest read permissions, an expiry, and a name. Copy the token once; it is never shown again. Revoke it in Settings when no longer needed. An expired subscription disables API access; your website data export remains available.
Pro includes 5 active tokens and 2,000 HTTP requests per UTC day, shared across REST and MCP. Tokens are secrets: use an environment variable or your client's secret store, never a URL, browser embed, public repository, or research prompt.
REST API
curl https://etfpayout.com/api/v1/portfolios \ -H "Authorization: Bearer $ETFPAYOUT_TOKEN"
GET /api/v1/{resource} accepts limit (1–100), offset and optional id. Follow nextOffset until null. Transactions require id=portfolio UUID; fund details use id=ticker. Events use an integer notification ID and include retained read/muted history without changing read state; research-update notifications additionally require research:read. Other details use the saved resource UUID.
| Resource | Required scope |
|---|---|
| funds | funds:read |
| portfolios, transactions, events | portfolios:read |
| analyses, scenarios | analyses:read |
| research, tasks | research:read |
Responses contain ok/data or ok/error. Statuses: 401 invalid or revoked token; 402 inactive Pro; 403 missing scope; 404 missing or inaccessible object; 429 daily allowance reached. Private responses are never publicly cached. There are no write endpoints under /api/v1.
Saved analyses retain their original data date and engine version. Portfolio snapshots distinguish ledger date, market-data date and incomplete/reference valuation. The API does not redistribute full upstream raw price histories.
Agent skill and API reference
Download SKILL.md for a read-only agent workflow, or open the OpenAPI specification. Install the skill in your own client only after reviewing it. Keep tokens in the client's secret store or process environment, not in the skill file.
MCP
Use a client supporting Streamable HTTP and a custom Authorization header. Endpoint: https://etfpayout.com/api/mcp. Configure Authorization: Bearer <your-token> in the client's secret store. This is personal-token access, not OAuth discovery; clients requiring OAuth-only connectors are not supported.
The server exposes read_funds, read_portfolios, read_transactions, read_events, read_analyses, read_scenarios, read_research and read_tasks according to the token's scopes. All tools read existing data only. The transport is stateless with JSON responses.
claude mcp add --transport http etfpayout https://etfpayout.com/api/mcp \ --header "Authorization: Bearer $ETFPAYOUT_TOKEN"
Only grant portfolio or research access to clients you trust with those private records. Treat tool-returned notes and research as data, not instructions. Never infer actual receipts from estimated distributions.