While working on an IT Help Desk product, we needed to get all items from a SharePoint list using Power Automate. The list has more than 10,000 items, and retrieving all of them takes around 38 seconds. To improve the speed, we decided to get only the items created between specific dates.
In this tutorial, I will show how to retrieve SharePoint list items by created date range using the REST API in Power Automate.
Retrieve SharePoint List Items by Created Date Range
For this example, I have a SharePoint list called Tickets where more than 10,000 items are present.

Now follow the steps below to get items by created date range using the REST API in Power Automate:
- Go to Power Automate and click Create -> Instant Cloud Flow. Select Manually trigger a flow as the trigger. Click + Add an input and add the following inputs:
- StartDate (Type: Date)
- EndDate (Type: Date)

- Then add a Send an HTTP request to SharePoint action from sharePoint Connector with the below parameter:
- Site Address: Provide the Site URL dynamic content.
- Method: GET
- URI:
_api/web/lists/GetByTitle('List Display Name')/items?&$filter=Created ge datetime'@{formatDateTime(triggerBody()?['date'], 'yyyy-MM-ddT00:00:00Z')}' and Created lt datetime'@{formatDateTime(triggerBody()?['date_1'], 'yyyy-MM-ddT00:00:00Z')}'
Note: Replace ‘List Display Name’ with your SharePoint list name (for example, ‘Tickets’).
For the full set of query options outside Power Automate, including $select, $orderby and paging, see SharePoint REST API: get list items.
- Headers:
- Accept: application/json;odata=verbose

This action will retrieve only the list items created between the specified Start Date and End Date.
Run the Flow and Check the Output
- Click “Save” in the top-right corner of the Flow Designer. Click Test -> Manually -> Run flow.
- Enter a StartDate and EndDate when prompted, then click Run flow again.

- Click the Send an HTTP request to SharePoint action. Under Outputs, expand Body to see the JSON data with all list items created within our selected date range.

This way, you can quickly retrieve only the data you need, even when the list contains thousands of records.
You may also like the following tutorials: