Skip to main content
Watchlists are the primary way to organize and track groups of assets on eToro. By managing watchlists via the API, you can programmatically sync your external favorites, create custom sectors (e.g., “My AI Picks”), and control what appears on your main trading dashboard.

1. Get Your Watchlists

First, retrieve the list of watchlists currently associated with your account. This will provide you with the watchlistId needed for further management actions. Endpoint: GET /api/v1/watchlists
curl -X GET "https://public-api.etoro.com/api/v1/watchlists" \
  -H "x-api-key: <YOUR_PUBLIC_KEY>" \
  -H "x-user-key: <YOUR_USER_KEY>" \
  -H "x-request-id: <UUID>"
Note: You can use the ensureBuiltinWatchlists parameter to make sure system default lists are included in the response.

2. Create a New Watchlist

You can create a custom watchlist by specifying a name. Endpoint: POST /api/v1/watchlists
ParameterTypeDescription
nameQueryThe display name for your new watchlist (e.g., “Tech Stocks”).
curl -X POST "https://public-api.etoro.com/api/v1/watchlists?name=Tech%20Stocks" \
  -H "x-api-key: <YOUR_PUBLIC_KEY>" \
  -H "x-user-key: <YOUR_USER_KEY>" \
  -H "x-request-id: <UUID>"

3. Add Instruments to a Watchlist

Once a watchlist is created, you can add instruments to it using its watchlistId. Endpoint: POST /api/v1/watchlists/{watchlistId}/items
curl -X POST "https://public-api.etoro.com/api/v1/watchlists/{watchlistId}/items" \
  -H "x-api-key: <YOUR_PUBLIC_KEY>" \
  -H "x-user-key: <YOUR_USER_KEY>" \
  -H "x-request-id: <UUID>" \
  -H "Content-Type: application/json" \
  -d '[1001, 1002]'

4. Set a Default Watchlist

The “Default” watchlist is the one that appears immediately when you log in. Endpoint: PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}
curl -X PUT "https://public-api.etoro.com/api/v1/watchlists/setUserSelectedUserDefault/12345" \
  -H "x-api-key: <YOUR_PUBLIC_KEY>" \
  -H "x-user-key: <YOUR_USER_KEY>" \
  -H "x-request-id: <UUID>"

5. Delete a Watchlist

Remove a watchlist and all its contained items permanently. Endpoint: DELETE /api/v1/watchlists/{watchlistId}
curl -X DELETE "https://public-api.etoro.com/api/v1/watchlists/12345" \
  -H "x-api-key: <YOUR_PUBLIC_KEY>" \
  -H "x-user-key: <YOUR_USER_KEY>" \
  -H "x-request-id: <UUID>"