Skip to content
Start here

Get multiple key-value pairs

client.KV.Namespaces.BulkGet(ctx, namespaceID, params) (*NamespaceBulkGetResponse, error)
POST/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/bulk/get

Retrieve up to 100 KV pairs from the namespace. Keys must contain text-based values. JSON values can optionally be parsed instead of being returned as a string value. Metadata can be included if withMetadata is true.

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

Namespace identifier tag.

maxLength32
params NamespaceBulkGetParams
AccountID param.Field[string]

Path param: Identifier.

maxLength32
Keys param.Field[[]string]

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

Type param.Field[NamespaceBulkGetParamsType]optional

Body param: Whether to parse JSON values in the response.

const NamespaceBulkGetParamsTypeText NamespaceBulkGetParamsType = "text"
const NamespaceBulkGetParamsTypeJson NamespaceBulkGetParamsType = "json"
WithMetadata param.Field[bool]optional

Body param: Whether to include metadata in the response.

ReturnsExpand Collapse
type NamespaceBulkGetResponse interface{…}
One of the following:
type NamespaceBulkGetResponseWorkersKVBulkGetResult struct{…}
Values map[string, NamespaceBulkGetResponseWorkersKVBulkGetResultValuesUnion]optional

Requested keys are paired with their values in an object.

One of the following:
UnionString
UnionFloat
UnionBool
type NamespaceBulkGetResponseWorkersKVBulkGetResultValuesMap map[string, unknown]
type NamespaceBulkGetResponseWorkersKVBulkGetResultWithMetadata struct{…}
Values map[string, NamespaceBulkGetResponseWorkersKVBulkGetResultWithMetadataValue]optional

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 float64optional

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

Get multiple key-value pairs

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/kv"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.KV.Namespaces.BulkGet(
    context.TODO(),
    "0f2ac74b498b48028cb68387c421e279",
    kv.NamespaceBulkGetParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      Keys: cloudflare.F([]string{"My-Key"}),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", 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"
    }
  }
}