Retrieves rolled-up savings data for all places on a monthly basis, paginated
Use this endpoint to get monthly savings summaries across all places with pagination.
Results include cost and use savings per month with commodity-level breakdown.
For a single place, use GET /place/{placeId}/digest/savings/monthly instead.
Paginated endpoint — This API returns paginated results. Use the pageNumber and pageSize query parameters to control which page of results is returned. The response includes pagination metadata in the response headers. See the Pagination guide for details.
Request Headers
| Header | Value | Required | Description |
|---|---|---|---|
| ECI-ApiKey | string | Yes | Your API key. See Authentication. |
| Content-Type | application/json | Yes | All requests must specify JSON content type. |
Query Parameters
| Name | Description | Type | Required |
|---|---|---|---|
| numberOfYears | Number of years of monthly data to include. Defaults to 2 (24 months). | integer (int32) | Optional |
| pageSize | The number of elements to return in a page | integer (int32) | Optional |
| pageNumber | The current page number | integer (int32) | Optional |
Response Headers
This endpoint returns pagination metadata in the response headers.
| Header | Type | Description |
|---|---|---|
| PageNumber | integer | The current page number (1-based). |
| PageSize | integer | The maximum number of items per page. |
| TotalNumberOfRecords | integer | The total number of records matching the query across all pages. |
| TotalPages | integer | The total number of pages. Increment pageNumber until it equals this value to retrieve all results. |
See the Pagination guide for iteration examples and best practices.
Responses
200
OK
The request succeeded and the response body contains the requested data.
Response Body Parameters
Array of:
PlaceDigestSavingsMonthlyResponse
| Property | Description | Type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| commodities | An array of SavingsMonthly data per commodity | PlaceDigestSavingsMonthlyResponse+CommodityData[] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
PlaceDigestSavingsMonthlyResponse+CommodityData properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| costUnit | UnitChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UnitChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| globalUseUnit | UnitChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UnitChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| placeCode | The place code | string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| placeId | The place identifier | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| placeInfo | The place info | string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| results | An array of SavingsMonthly data | PlaceDigestSavingsMonthlyResponse+Results[] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
PlaceDigestSavingsMonthlyResponse+Results properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| updated | The date and time the data was updated | string (date-time) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example Response
[
{ "commodities": [
{ "commodityCode": "string", "commodityId": 1, "commodityInfo": "string", "commonUseUnit": {}, "costUnit": {}, "results": []
}
], "costUnit": { "unitCode": "string", "unitId": 1, "unitInfo": "string"
}, "globalUseUnit": { "unitCode": "string", "unitId": 1, "unitInfo": "string"
}, "placeCode": "string", "placeId": 1, "placeInfo": "string", "results": [
{ "calendarPeriod": 1, "calendarYear": 1, "fiscalPeriod": 1, "fiscalYear": 1, "periodName": "string", "savingsGlobalUse": 1.0, "savingsTotalCost": 1.0
}
], "updated": "2026-06-29"
}
]
204
No Content
The request succeeded. No content is returned in the response body.