# Get Key-Value Store Record — Apify

> Gets a record from a key-value store. See the documentation

- Key: `apify-get-kvs-record`
- Type: Action (Read-only)
- Version: 0.0.1
- App: Apify (`apify`) — https://pipedream.com/apps/apify.md
- This page (HTML): https://pipedream.com/apps/apify/actions/get-kvs-record
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/apify/actions/get-kvs-record/get-kvs-record.mjs

## Description

Gets a record from a key-value store. [See the documentation](https://docs.apify.com/api/v2/key-value-store-record-get)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `keyValueStoreId` | `string` | Yes | The ID of the key-value store Options are loaded from the connected account. |
| `key` | `string` | Yes | If the record is a valid JSON object, the output will include all parsed attributes as individual fields. If the record is any other file type (such as PDFs, images, or plain text), the output will instead be a file reference. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "apify",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "apify-get-kvs-record",
  arguments: {
    keyValueStoreId: "Key-Value Store ID",
    key: "Record Key",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "apify-get-kvs-record",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    apify: { authProvisionId: "apn_xxxxxxx" },
    keyValueStoreId: "Key-Value Store ID",
    key: "Record Key",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "apify-get-kvs-record",
    "configured_props": {
      "apify": { "authProvisionId": "apn_xxxxxxx" },
      "keyValueStoreId": "Key-Value Store ID",
      "key": "Record Key"
    }
  }'
```

---

- App: https://pipedream.com/apps/apify.md · All apps: https://pipedream.com/apps
