# RequestManager<!-- -->

Base class that extends `RequestLoader` with the capability to enqueue new requests and reclaim failed ones.

### Hierarchy

* [RequestLoader](https://crawlee.dev/python/api/class/RequestLoader)

  * *RequestManager*

    * [ThrottlingRequestManager](https://crawlee.dev/python/api/class/ThrottlingRequestManager)
    * [RequestManagerTandem](https://crawlee.dev/python/api/class/RequestManagerTandem)
    * [RequestQueue](https://crawlee.dev/python/api/class/RequestQueue)

## Index[**](#Index)

### Methods

* [](https://crawlee.dev/python/api/class/RequestManager#add_request)
* [](https://crawlee.dev/python/api/class/RequestManager#add_requests)
* [](https://crawlee.dev/python/api/class/RequestManager#drop)
* [](https://crawlee.dev/python/api/class/RequestManager#fetch_next_request)
* [](https://crawlee.dev/python/api/class/RequestManager#get_handled_count)
* [](https://crawlee.dev/python/api/class/RequestManager#get_total_count)
* [](https://crawlee.dev/python/api/class/RequestManager#is_empty)
* [](https://crawlee.dev/python/api/class/RequestManager#is_finished)
* [](https://crawlee.dev/python/api/class/RequestManager#mark_request_as_handled)
* [**purge](https://docs.apify.com/sdk/python/sdk/python/reference/class/RequestManager.md#purge)
* [](https://crawlee.dev/python/api/class/RequestManager#reclaim_request)
* [**to\_tandem](https://docs.apify.com/sdk/python/sdk/python/reference/class/RequestManager.md#to_tandem)

## Methods<!-- -->[**](#Methods)

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_manager.py#L32)

:

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_manager.py#L49)

:

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_manager.py#L22)

:

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_loader.py#L45)

:

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_loader.py#L29)

:

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_loader.py#L33)

:

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_loader.py#L37)

:

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_loader.py#L41)

:

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_loader.py#L53)

:

### [**](#purge)[**](https://github.com/apify/crawlee-python/blob/e7e0364ffc322bcd0d7c603e9fb5814f2a9e8ab3//src/crawlee/request_loaders/_request_manager.py#L25)purge

* **async **purge**(): None

- Remove all queued requests from this manager while keeping it usable.

  Default implementation is a no-op. Subclasses with persistent state should override to clear it.

  ***

  #### Returns None

### [**](#undefined)[**](https://github.com/apify/apify-sdk-python/blob/22eee8c5644511292904e4d21fd3ee8c2e83e21a//src/crawlee/request_loaders/_request_manager.py#L77)

:

### [**](#to_tandem)[**](https://github.com/apify/crawlee-python/blob/e7e0364ffc322bcd0d7c603e9fb5814f2a9e8ab3//src/crawlee/request_loaders/_request_loader.py#L56)to\_tandem

* **async **to\_tandem**(request\_manager): [RequestManagerTandem](https://crawlee.dev/python/api/class/RequestManagerTandem)

- Inherited from [RequestLoader.to\_tandem](https://crawlee.dev/python/api/class/RequestLoader#to_tandem)

  Combine the loader with a request manager to support adding and reclaiming requests.

  ***

  #### Parameters

  * ##### optionalrequest\_manager: RequestManager | None = <!-- -->None

    Request manager to combine the loader with. If None is given, the default request queue is used.

  #### Returns [RequestManagerTandem](https://crawlee.dev/python/api/class/RequestManagerTandem)
