---
title: "Get raw table item"
method: POST
path: "/tables/{table_handle}/raw_item"
tags: ["Tables"]
---

# Get raw table item

`POST /tables/{table_handle}/raw_item`

Get a table item at a specific ledger version from the table identified by {table_handle}
in the path and the "key" (RawTableItemRequest) provided in the request body.

The `get_raw_table_item` requires only a serialized key comparing to the full move type information
comparing to the `get_table_item` api, and can only return the query in the bcs format.

The Aptos nodes prune account state history, via a configurable time window.
If the requested ledger version has been pruned, the server responds with a 410.

## Path parameters

- `table_handle` string, hex, required — A hex encoded 32 byte Aptos account address. This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x. For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.

## Query parameters

- `ledger_version` string, uint64 — A string containing a 64-bit unsigned integer. We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

## Request body

- RawTableItemRequest — Table Item request for the GetTableItemRaw API
  - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.

## Response `200`

- MoveValue — This is a JSON representation of some data within an account resource. More specifically, it is a map of strings to arbitrary JSON values / objects, where the keys are top level fields within the given resource. To clarify, you might query for 0x1::account::Account and see the example data. Move `bool` type value is serialized into `boolean`. Move `u8`, `u16`, `u32`, `i8`, `i16`, and `i32` type value is serialized into `integer`. Move `u64`, `u128`, `u256`, `i64`, `i128`, and `i256` type value is serialized into `string`. Move `address` type value (32 byte Aptos account address) is serialized into a HexEncodedBytes string. For example: - `0x1` - `0x1668f6be25668c1a17cd8caf6b8d2f25` Move `vector` type value is serialized into `array`, except `vector<u8>` which is serialized into a HexEncodedBytes string with `0x` prefix. For example: - `vector<u64>{255, 255}` => `["255", "255"]` - `vector<u8>{255, 255}` => `0xffff` Move `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section): ```json { field1_name: field1_value, field2_name: field2_value, ...... } ``` For example: `{ "created": "0xa550c18", "role_id": "0" }` **Special serialization for Move stdlib types**: - [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/third_party/move/move-stdlib/docs/ascii.md) is serialized into `string`. For example, struct value `0x1::string::String{bytes: b"Hello World!"}` is serialized as `"Hello World!"` in JSON.

## Other responses

- `400`
- `403`
- `404`
- `410`
- `500`
- `503`

## Changes

- **2026-03-23** `10ecd1005697` — 6 warning
  - added the new `rate_limited` enum value to the `error_code` response property for the response status `400`
  - added the new `rate_limited` enum value to the `error_code` response property for the response status `403`
  - added the new `rate_limited` enum value to the `error_code` response property for the response status `404`
  - added the new `rate_limited` enum value to the `error_code` response property for the response status `410`
  - …2 more
- **2025-10-14** `5510dfe434b5` — 1 info
  - added `#/components/schemas/I64, #/components/schemas/I128, #/components/schemas/I256, subschema #7, subschema #8, subschema #9` to the response body `anyOf` list for the response status `200`
- **2025-06-03** `6a8502f67ac1` — 6 warning
  - added the new `rejected_by_filter` enum value to the `error_code` response property for the response status `400`
  - added the new `rejected_by_filter` enum value to the `error_code` response property for the response status `403`
  - added the new `rejected_by_filter` enum value to the `error_code` response property for the response status `404`
  - added the new `rejected_by_filter` enum value to the `error_code` response property for the response status `410`
  - …2 more

[Change history](https://skmtc.dev/aptoslabs/apis/aptos-node-api/changes/tables/:table_handle/raw_item/post.md)

---

[API](https://skmtc.dev/aptoslabs/apis/aptos-node-api.md) · [All operations](https://skmtc.dev/aptoslabs/apis/aptos-node-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/aptoslabs/aptos-node-api/revisions/4a94534afca7/schema)
