## MedplumClient.searchResourcePages() method

Creates an [async generator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator) over a series of FHIR search requests for paginated search results. Each iteration of the generator yields the array of resources on each page. Searches using \_offset based pagination are limited to 10,000 records. For larger result sets, \_cursor based pagination should be used instead.

See [the docs](/content/docs/search/paginated-search#cursor-based-pagination/index.html) for more information.

**Signature:**

```typescript
searchResourcePages<RT extends ResourceType>(resourceType: RT, query?: QueryTypes, options?: MedplumRequestOptions): AsyncGenerator<ResourceArray<WithId<ExtractResource<RT>>>>;
```

## Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| resourceType | RT | The FHIR resource type. |
| query | [QueryTypes](/content/docs/sdk/core.querytypes) | _(Optional)_ Optional FHIR search query or structured query object. Can be any valid input to the URLSearchParams() constructor. |
| options | [MedplumRequestOptions](/content/docs/sdk/core.medplumrequestoptions) | _(Optional)_ Optional fetch options. |

**Returns:**

AsyncGenerator< [ResourceArray](/content/docs/sdk/core.resourcearray) < [WithId](/content/docs/sdk/core.withid) <ExtractResource<RT>>>>

## Example

```typescript
for await (const page of medplum.searchResourcePages('Patient', { _count: 10 })) {

for (const patient of page) {

console.log(`Processing Patient resource with ID: ${patient.id}`);

}
}
```

- [MedplumClient.searchResourcePages() method](/content/docs/sdk/core.medplumclient.searchresourcepages#medplumclientsearchresourcepages-method/index.html)
- [Parameters](/content/docs/sdk/core.medplumclient.searchresourcepages#parameters/index.html)
- [Example](/content/docs/sdk/core.medplumclient.searchresourcepages#example/index.html)
