The Portfolio API makes it easy to extract data for a specific portfolio based on a saved analysis view in Addepar or direct query.

3104
Base Route/v1/portfolio
EndpointsGET
/v1/portfolio/views
/v1/portfolio/views/:id
/v1/portfolio/views/:view-id/results

POST
/v1/portfolio/query
ProducesJSON, CSV (views only), TSV (views only), or XLSX (views only)
PaginationNo
Application Permissions Required"API Access: Create, edit, and delete"

"Analysis firm and team views: View only" is required to extract view data.
OAuth ScopesPORTFOLIO

👍

For large-scale data queries, Addepar recommends using the Jobs API in conjunction with Portfolio API. Because the Portfolio API retrieves data for entire portfolios, the server's responses can be large and may result in timeouts. You can help avoid timeouts by using the Jobs API to make asynchronous requests to Portfolio API, check the status of a job, and download a job's results.

Comparing View vs. Query APIs

The below table highlights the main differences between the Portfolio Query and View APIs.

ViewQuery
Use Cases- Exporting a static portfolio view for offline analysis in Excel.
- Running static exports to data warehouse.
- Dynamic access to portfolio data.
- Portable requests across different firms for standardized integrations.
Request StructureRelies on view in application.Query is constructed dynamically in API request.
PortabilityViews must be created for each firm.Requests can be used across multiple firms.
BatchingCannot batch requests.Batches multiple clients/entities in one request.
Attribute CoverageAll attributes are covered.Most attributes are covered.
Supported formatsJSON, CSV, TSV, XLS.JSON only.
AsynchronousSupported.Supported.

Get a list of portfolio views

Get a complete list of views for portfolios you have access to. Responses include a Portfolio Query API request.

GET /v1/portfolio/views

GET  https://examplefirm.addepar.com/api/v1/portfolio/views
200 OK: Success

{
  "data": [
    {
      "id": "19",
      "type": "portfolio_views",
      "attributes": {
        "share_type": "PERSONAL",
        "display_name": "AdvancedTable"
      },
      "links": {
        "self": "/v1/portfolio_views/19"
      }
    },
    {
      "id": "2",
      "type": "portfolio_views",
      "attributes": {
        "share_type": "FIRM",
        "display_name": "owner1"
      },
      "links": {
        "self": "/v1/portfolio_views/2"
      }
    },
    {
      "id": "4",
      "type": "portfolio_views",
      "attributes": {
        "share_type": "PORTAL",
        "display_name": "TOTAL RETURN VIEW"
      },
      "links": {
        "self": "/v1/portfolio_views/4"
      }
    }
  ],
  "included": [],
  "links": {
    "next": null
  }
}

Responses

  • 200 OK: Success
  • 404 Not Found: Missing public_portfolio_view_api feature flag.

What’s Next