# Data export (IRPCDataExport)

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/

Reads objects, value list items and property value history in bulk, in batches ordered by ID,
for exporting vault data to another system.

- **gRPC service:** `MFiles.IRPCDataExport`
- **Book and level:** [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md), standard
- **Methods:** 5
- **Proto file:** [`mfiles/IRPCDataExport.proto`](https://developer.m-files.com/APIs/gRPC-API/downloads/proto/mfiles/IRPCDataExport.proto)

<a id="overview"></a>

## Overview

The methods are built for bulk reading with stable paging: each batch continues after the last
ID the caller received. M-Files Reporting uses them to fill reporting databases (see
[IRPCExportedDataSets](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExportedDataSets/index.md)), but they work for any session and
always apply the caller's permissions.

A typical export of one object type:

1. Page through the objects with
   [SearchExportedObjects](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/SearchExportedObjects/index.md): conditions that
   select one object type, `last_received_obj_id` 0 first, then the ID of the last object
   received, until a batch comes back empty.
2. Read the properties of each batch with
   [GetExportedObjectProperties](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/GetExportedObjectProperties/index.md).
3. Optionally read how a property changed over time with
   [GetPropertyValueHistory](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/GetPropertyValueHistory/index.md).
4. Page through the value lists that the properties refer to with
   [GetExportedValueListItems](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/GetExportedValueListItems/index.md), or fetch
   single items with
   [GetExportedValueListItemsByID](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/GetExportedValueListItemsByID/index.md).

All methods need a vault session and no special vault rights; objects, values and items the
user cannot see are left out. For interactive searches use
[SearchObjects](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSearch/SearchObjects/index.md) instead.

<a id="methods"></a>

## Methods

| Method | Summary | Facts |
|---|---|---|
| [GetExportedObjectProperties](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/GetExportedObjectProperties/index.md) | Gets the version information and property values of many objects in one call. | `read` `session` `idempotent` |
| [GetExportedValueListItems](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/GetExportedValueListItems/index.md) | Gets the items of a value list in batches ordered by item ID. | `read` `session` `idempotent` |
| [GetExportedValueListItemsByID](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/GetExportedValueListItemsByID/index.md) | Gets the given items of a value list. | `read` `session` `idempotent` |
| [GetPropertyValueHistory](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/GetPropertyValueHistory/index.md) | Gets how one property of each given object changed over the object's versions. | `read` `session` `idempotent` |
| [SearchExportedObjects](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/SearchExportedObjects/index.md) | Searches objects in batches ordered by object ID, for paging through all objects that match. | `read` `session` `idempotent` |
