# List requests


```
GET 
https://api.apify.com/v2/request-queues/:queueId/requests
```


Returns a list of requests. This endpoint is paginated using cursor (pagination by `exclusiveStartId` is deprecated) and limit parameters.

## Request

### Path Parameters

* **queueId** string required

  Queue ID or `username~queue-name`.

  **Example:** `WkzbQMuFYuamGv3YF`

### Query Parameters

* **clientKey** string

  A unique identifier of the client accessing the request queue. It must be a string between 1 and 32 characters long. This identifier is used to determine whether the queue was accessed by multiple clients. If `clientKey` is not provided, the system considers this API call to come from a new client. For details, see the `hadMultipleClients` field returned by the  operation.

  **Example:** `client-abc`

  **exclusiveStartId** string deprecated

  All requests up to this one (including) are skipped from the result. (Deprecated, use `cursor` instead.)

  **Example:** `Ihnsp8YrvJ8102Kj`

  **limit** double

  Number of keys to be returned. Maximum value is `10000`.

  **Example:** `100`

  **cursor** string

  A cursor string for pagination, returned in the previous response as `nextCursor`. Use this to retrieve the next page of requests.

  **Example:** `eyJyZXF1ZXN0SWQiOiI2OFRqQ2RaTDNvM2hiUU0ifQ`

  **filter** string

  **Possible values:** \[`locked`, `pending`]

  Filter requests by their state. Possible values are `locked` and `pending`. (Is not compatible with deprecated `exclusiveStartId` parameter.)

  **Example:** `locked`

<!-- -->

### Status 200

**Response Headers**




```
{
  "data": {
    "items": [
      {
        "id": "dnjkDMKLmdlkmlkmld",
        "retryCount": 0,
        "uniqueKey": "http://example.com",
        "url": "http://example.com",
        "method": "GET",
        "loadedUrl": "http://example.com/example-1",
        "payload": null,
        "noRetry": false,
        "errorMessages": null,
        "headers": null,
        "userData": {
          "label": "DETAIL",
          "image": "https://picserver1.eu"
        },
        "handledAt": "2019-06-16T10:23:31.607Z"
      },
      {
        "id": "dnjkDMKLmdlkmlkmld",
        "retryCount": 0,
        "uniqueKey": "http://example.com",
        "url": "http://example.com",
        "method": "GET",
        "loadedUrl": "http://example.com/example-1",
        "payload": null,
        "noRetry": false,
        "errorMessages": null,
        "headers": null,
        "userData": {
          "label": "DETAIL",
          "image": "https://picserver1.eu"
        },
        "handledAt": "2019-06-16T10:23:31.607Z"
      }
    ],
    "count": 2,
    "limit": 2,
    "exclusiveStartId": "Ihnsp8YrvJ8102Kj"
  }
}
```


**Schema**

* **data** object required

  A paginated list of requests from the request queue.

  * **items** object\[] required

    The array of requests.

    * **uniqueKey** UniqueKey (string) required

      A unique key used for request de-duplication. Requests with the same unique key are considered identical.

      **Example:** `GET|60d83e70|e3b0c442|https://apify.com`

    * **url** string\<uri> required

      The URL of the request.

      **Example:** `https://apify.com`

    * **method** HttpMethod (string)

      **Possible values:** \[`GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`]

      **Example:** `GET`

    * **retryCount** RetryCount (integer)

      The number of times this request has been retried.

      **Example:** `0`

    * **loadedUrl** string,null\<uri> nullable

      The final URL that was loaded, after redirects (if any).

      **Example:** `https://apify.com/jobs`

    * **payload** object | null nullable

      The request payload, typically used with POST or PUT requests.

      **Example:** `null`

    * **headers** object | null nullable

      HTTP headers sent with the request.

      **Example:** `null`

    * **userData** object

      Custom user data attached to the request. Can contain arbitrary fields.

      * **label** string | null nullable

        Optional label for categorizing the request.

        **Example:** `DETAIL`

      * **image** string,null\<uri> nullable

        Optional image URL associated with the request.

        **Example:** `https://picserver1.eu`

      * **property name\*** any

        Custom user data attached to the request. Can contain arbitrary fields.

    * **noRetry** boolean | null nullable

      Indicates whether the request should not be retried if processing fails.

      **Example:** `false`

    * **errorMessages** string\[] nullable

      Error messages recorded from failed processing attempts.

      **Example:** `null`

    * **handledAt** string,null\<date-time> nullable

      The timestamp when the request was marked as handled, if applicable.

      **Example:** `2019-06-16T10:23:31.607Z`

    * **id** RequestId (string) required

      A unique identifier assigned to the request.

      **Example:** `sbJ7klsdf7ujN9l`

  * **count** integer

    The total number of requests matching the query.

    **Example:** `2`

  * **limit** integer required

    The maximum number of requests returned in this response.

    **Example:** `2`

  * **exclusiveStartId** string deprecated

    The ID of the last request from the previous page, used for pagination.

    **Example:** `Ihnsp8YrvJ8102Kj`

  * **cursor** string

    A cursor string used for current page of results.

    **Example:** `eyJyZXF1ZXN0SWQiOiI0SVlLUWFXZ2FKUUlWNlMifQ`

  * **nextCursor** string

    A cursor string to be used to continue pagination.

    **Example:** `eyJyZXF1ZXN0SWQiOiI5eFNNc1BrN1J6VUxTNXoifQ`

### Status 400

Bad request - invalid input parameters or request body.


```
{
  "error": {
    "type": "invalid-input",
    "message": "Invalid input: The request body contains invalid data."
  }
}
```


**Schema**

* **error** object required

  * **type** string required\
    **Example:** `run-failed`
  * **message** string required\
    **Example:** `Actor run did not succeed (run ID: 55uatRrZib4xbZs, status: FAILED)`

### Status 401

Unauthorized - authentication required or invalid token.


```
{
  "error": {
    "type": "token-not-valid",
    "message": "Authentication token is not valid."
  }
}
```


**Schema**

* **error** object required

  * **type** string required\
    **Example:** `run-failed`
  * **message** string required\
    **Example:** `Actor run did not succeed (run ID: 55uatRrZib4xbZs, status: FAILED)`

### Status 403

Forbidden - insufficient permissions to perform this action.


```
{
  "error": {
    "type": "permission-denied",
    "message": "You do not have permission to perform this action."
  }
}
```


**Schema**

* **error** object required

  * **type** string required\
    **Example:** `run-failed`
  * **message** string required\
    **Example:** `Actor run did not succeed (run ID: 55uatRrZib4xbZs, status: FAILED)`

### Status 404

Not found - the requested resource was not found.


```
{
  "error": {
    "type": "record-not-found",
    "message": "Request Queue was not found"
  }
}
```


**Schema**

* **error** object

  * **type** string

    **Possible values:** \[`record-not-found`]

  * **message** string\
    **Example:** `Request Queue was not found`

### Status 405

Method not allowed.


```
{
  "error": {
    "type": "method-not-allowed",
    "message": "This API end-point can only be accessed using the following HTTP methods: OPTIONS,GET"
  }
}
```


**Schema**

* **error** object required

  * **type** string required\
    **Example:** `run-failed`
  * **message** string required\
    **Example:** `Actor run did not succeed (run ID: 55uatRrZib4xbZs, status: FAILED)`

### Status 429

Too many requests - rate limit exceeded.


```
{
  "error": {
    "type": "rate-limit-exceeded",
    "message": "You have exceeded the rate limit. Please try again later."
  }
}
```


**Schema**

* **error** object required

  * **type** string required\
    **Example:** `run-failed`
  * **message** string required\
    **Example:** `Actor run did not succeed (run ID: 55uatRrZib4xbZs, status: FAILED)`
