---
title: "List sites with zones and placements"
type: reference
method: GET
path: /rest-api/sites-tree.do
tag: "Sites"
---

# List sites with zones and placements

`GET https://YOUR-NETWORK-DOMAIN/rest-api/sites-tree.do`

Returns all non-deleted sites for the authenticated user along with their nested zones and placements as a hierarchical tree structure. Requires ALL or SHARED level VIEW permission on INVENTORY. Results can be filtered by publishing category IDs. Each site in the response includes its child zones, and each zone includes its child placements. On a large network read it in pages with start and limit (sites ordered by id).

## Query params

| Name | Type | Required | Example | Description |
|---|---|---|---|---|
| `basicInfo` | boolean | no | `true` | If true, includes additional site details such as URL, email, and contact info |
| `publishingCategories` | array<integer> | no | `10` | IDs of publishing categories to filter sites by |
| `start` | integer | no | `0` | Paging: skip this many sites (ordered by id). Default 0 |
| `limit` | integer | no | `20` | Paging: at most this many sites, each with all its zones and placements. Omitted — every site. A page shorter than limit is the last one |

## Responses

- `200` — Site tree returned successfully
- `400` — Bad request — invalid or missing parameters
- `401` — Authentication error
- `403` — Forbidden — insufficient permissions

## Example request

```bash
curl --request GET \
  --url 'https://YOUR-NETWORK-DOMAIN/rest-api/sites-tree.do?basicInfo=true&publishingCategories=10&start=0' \
  --header 'X-Api-Key: YOUR_API_KEY'
```

Source: https://epom.com/ad-server/docs/api/sites/get-sites-tree