# Vals ## List `client.search.vals.list(ValListParamsquery, RequestOptionsoptions?): PageCursorURL` **get** `/v1/search/vals` Search for vals across the platform ### Parameters - **query:** `ValListParams` - **limit:** `number` Maximum items to return in each paginated response - **offset:** `number` Number of items to skip in order to deliver paginated results - **query:** `string` Search query ### Returns - `ValListResponse` A Val - **id:** `string` This val's id - **author:** `Author | null` The user who created this val - **id:** `string` - **username:** `string | null` - **code:** `string | null` TypeScript code associated with this val - **createdAt:** `string` - **links:** `Links` - **module:** `string` The URL of this Val's source code as a module - **self:** `string` The URL of this val on this API - **versions:** `string` The endpoint to retrieve this val's versions - **endpoint:** `string` This val's web endpoint, where it serves a website or API - **name:** `string` The name of this val - **privacy:** `"public" | "unlisted" | "private"` This resource's privacy setting. Unlisted resources do not appear on profile pages or elsewhere, but you can link to them. - `"public"` - `"unlisted"` - `"private"` - **public:** `boolean` Whether this val is available publicly on Val Town - **type:** `"interval" | "http" | "express" | 4 more` The type of a val. HTTP can receive web requests, Email can receive emails, Cron runs periodically, and Script can be used for libraries or one-off calculations - `"interval"` - `"http"` - `"express"` - `"email"` - `"script"` - `"rpc"` - `"httpnext"` - **updatedAt:** `string` - **url:** `string` The URL of this resource on the Val Town website - **version:** `number` The version of this val, starting at zero ### Example ```node import ValTown from '@valtown/sdk'; const client = new ValTown(); // Automatically fetches more pages as needed. for await (const valListResponse of client.search.vals.list({ limit: 1, offset: 0, query: 'x' })) { console.log(valListResponse.id); } ```