Skip to content
Start here

Get multiple key-value pairs

client.kv.namespaces.bulkGet(stringnamespaceID, NamespaceBulkGetParams { account_id, keys, type, withMetadata } params, RequestOptionsoptions?): NamespaceBulkGetResponse | null
POST/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/bulk/get

Retrieves the text-based values of up to 100 keys from the specified Workers KV namespace. The result maps each requested key to its value. Set type to json to parse JSON values instead of returning strings, and set withMetadata to true to include metadata with each value. Binary values are not supported by this operation.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Workers KV Storage WriteWorkers KV Storage Read
ParametersExpand Collapse
namespaceID: string

ID of the Workers KV namespace.

maxLength32
params: NamespaceBulkGetParams { account_id, keys, type, withMetadata }
account_id: string

Path param: ID of the Cloudflare account that owns the Workers KV namespaces.

maxLength32
keys: Array<string>

Body param: Array of keys to retrieve (maximum of 100).

type?: "text" | "json"

Body param: Return values as strings with text, or parse stored JSON values with json.

One of the following:
"text"
"json"
withMetadata?: boolean

Body param: Whether to include metadata in the response.

ReturnsExpand Collapse
NamespaceBulkGetResponse = WorkersKVBulkGetResult { values } | WorkersKVBulkGetResultWithMetadata { values } | null
One of the following:
WorkersKVBulkGetResult { values }
values?: Record<string, string | number | boolean | Record<string, unknown>>

Requested keys are paired with their values in an object.

One of the following:
string
number
boolean
Record<string, unknown>
WorkersKVBulkGetResultWithMetadata { values }
values?: Record<string, Values | null>

Requested keys are paired with their values and metadata in an object.

metadata: unknown

The metadata associated with the key.

value: unknown

The value associated with the key.

expiration?: number

Expires the key at a certain time, measured in number of seconds since the UNIX epoch.

Get multiple key-value pairs

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const response = await client.kv.namespaces.bulkGet('0f2ac74b498b48028cb68387c421e279', {
  account_id: '023e105f4ecef8ad9ca31a8372d0c353',
  keys: ['My-Key'],
});

console.log(response);
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "values": {
      "key1": "value1",
      "key2": "value2"
    }
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "values": {
      "key1": "value1",
      "key2": "value2"
    }
  }
}