# List portfolios

`GET https://api.cryptohopper.com/v1/market/portfolios`

Part of [Marketplace](https://www.cryptohopper.com/api-documentation/api-reference/marketplace.md) in the Cryptohopper API reference.

Returns the portfolios in the marketplace, sorted by number of sales. Each item includes a monthly chart and the profit of its latest test.

The list is under the key portfolio, with the number of items in result. All values of the items are strings or null. chart holds [unix time in seconds, average value] per month. Only published items in the marketplace store are returned.

## Headers

| Name | Type | Required | Description |
|---|---|---|---|
| `access-token` | string | yes | The OAuth access token of the user. |

## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `start` | string | no | Offset for paging. Default 0. |
| `exchange` | string | no | Only return items for this exchange, for example binance. Only letters, digits and underscores are accepted; any other value is ignored. |
| `limit` | string | no | Maximum number of items to return, 1 to 500. Default 500; 0 or a value above 500 also returns 500. |
| `available_in_app` | string | no | Meant to limit the list to items sold in the mobile app. In the current code a value sent here is compared to an integer and never matches, so it does not filter the list. |
| `quote_currency` | string | no | Only return items with this quote currency, for example USDT. Default all. |

## Example request

```bash
curl "https://api.cryptohopper.com/v1/market/portfolios" \
  -H "access-token: YOUR_ACCESS_TOKEN"
```

## Response

Example response (illustrative values):

```json
{
    "data": {
        "portfolio": [
            {
                "exchange": "binance",
                "quote_currency": "USDT",
                "risk_level": "low",
                "allowed_coins": [
                    "BTC",
                    "ETH",
                    "SOL"
                ],
                "chart": [
                    [
                        "1754006400",
                        "2.35"
                    ]
                ],
                "profit": "12.40",
                "id": "11020",
                "item_id": "11020",
                "type": "portfolio",
                "name": "Blue Chip Basket",
                "description": "Rebalanced portfolio of large cap coins.",
                "logo": "https://cdn.cryptohopper.com/images/marketplace/11020.png",
                "feature_image": "https://cdn.cryptohopper.com/images/marketplace/11020_feature.png",
                "top_item": "0",
                "link": "https://www.cryptohopper.com/marketplace/item?item_id=11020",
                "rating": null,
                "total_votes": "0",
                "sales": "15",
                "price_id": "3",
                "price": "9.00",
                "created": "2026-01-05 09:30:00",
                "price_currency": "USD",
                "max_downloads": "0",
                "seller_id": "321",
                "seller_name": "Example Trading",
                "seller_logo": "https://cdn.cryptohopper.com/images/marketplace/sellers/321.png",
                "available_in_app": "1"
            }
        ],
        "result": 1
    }
}
```

Status codes: 200. Errors return JSON with `status`, `error` and `message`, plus a numeric `code` when the error comes from the API itself rather than the gateway.
