> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trychannel3.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search with Pagination

Use `next_page_token` from the response to fetch the next page of results.

<CodeGroup>
  ```typescript TypeScript theme={null}
  import Channel3 from "@channel3/sdk";

  const client = new Channel3();

  async function main() {
    const page1 = await client.products.search({
      query: "running shoes",
    });

    console.log("Page 1:", page1.products.length, "products");

    if (page1.next_page_token) {
      const page2 = await client.products.search({
        query: "running shoes",
        page_token: page1.next_page_token,
      });
      console.log("Page 2:", page2.products.length, "products");
    }
  }

  main();
  ```

  ```python Python theme={null}
  from channel3_sdk import Channel3

  client = Channel3()

  def main():
      page1 = client.products.search(
          query="running shoes",
      )

      print(f"Page 1: {len(page1.products)} products")

      if page1.next_page_token:
          page2 = client.products.search(
              query="running shoes",
              page_token=page1.next_page_token,
          )
          print(f"Page 2: {len(page2.products)} products")

  if __name__ == "__main__":
      main()
  ```
</CodeGroup>

Pass the same `query` and `filters` on every page request — only `page_token` changes.
