---
title: "queryStepCountStarting(from:to:to:withHandler:)"
framework: coremotion
role: symbol
role_heading: Instance Method
path: "coremotion/cmstepcounter/querystepcountstarting(from:to:to:withhandler:)"
---

# queryStepCountStarting(from:to:to:withHandler:)

Gathers and returns historical step count data for the specified time period.

## Declaration

```swift
func queryStepCountStarting(from start: Date, to end: Date, to queue: OperationQueue, withHandler handler: @escaping CMStepQueryHandler)
```

## Parameters

- `start`: The start time to use when gathering step count data. This parameter must not be nil.
- `end`: The end time to use when gathering step count data. This parameter must not be nil.
- `queue`: The operation queue on which to execute the specified handler block. You can specify a custom queue or use the operation queue associated with your app’s main thread. This parameter must not be nil.
- `handler`: The block to execute with the results. For information about the parameters of this block, see doc://com.apple.coremotion/documentation/CoreMotion/CMStepQueryHandler. This parameter must not be nil.

## Discussion

Discussion This method runs asynchronously, returning immediately and delivering the results to the specified handler block. The system stores only the last seven days worth of step data at most. If there are no samples for the specified range of time, a value of 0 is passed to the handler block.

## See Also

### Getting Historical Step Counting Data

- [CMStepQueryHandler](coremotion/cmstepqueryhandler.md)
