> ## Documentation Index
> Fetch the complete documentation index at: https://www.meilisearch.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrating to Meilisearch Cloud

> Meilisearch Cloud is the recommended way of using Meilisearch. This guide walks you through migrating Meilisearch from a self-hosted installation to Meilisearch Cloud.

## Requirements

* A running Meilisearch instance
* A command-line terminal
* A Meilisearch Cloud account and project

***

## Export API

The export API pushes your data directly from your self-hosted instance to a remote Meilisearch instance without creating any intermediate files.

### 1. Create a Meilisearch Cloud project

Navigate to [Meilisearch Cloud](https://cloud.meilisearch.com) and create a new project. Once it is ready, note down your project URL and API key from the project overview.

### 2. Run the export

On your self-hosted instance, send a `POST /export` request pointing to your Cloud project:

```bash cURL theme={null}
curl \
  -X POST 'MEILISEARCH_URL/export' \
  -H 'Authorization: Bearer API_KEY' \
  -H 'Content-Type: application/json' \
  --data-binary '{
    "url": "TARGET_INSTANCE_URL",
    "indexes": {
      "*": {
        "overrideSettings": true
      }
    }
  }'
```

```python Python theme={null}
client.export(
  url='https://remote-meilisearch-instance.com',
  api_key='masterKey',
  payload_size='50 MiB',
  indexes={
    'movies*': {},
    'books*': {},
  },
)
```

```java Java theme={null}
Map<String, ExportIndexFilter> indexes = new HashMap<>();
indexes.put("*", ExportIndexFilter.builder().overrideSettings(true).build());
ExportRequest request = ExportRequest.builder().url("TARGET_INSTANCE_URL").indexes(indexes).build();
client.export(request);
```

```dart Dart theme={null}
await client.export(
  ExportQuery(
    url: exportSinkUrl,
    apiKey: 'new_instance_api_key',
    payloadSize: "100 MiB",
  ),
);
```

Replace `TARGET_INSTANCE_URL` with your Cloud project URL and add your Cloud API key via the `apiKey` field or an `Authorization` header.

Meilisearch returns a task object. [Use the `taskUid` to monitor its progress.](https://www.meilisearch.com/docs/capabilities/indexing/tasks_and_batches/async_operations)

### 3. Verify the migration

Once the task status is `succeeded`, open your Cloud project and run a few searches to confirm all data transferred correctly.

> [!WARNING]
>
> Meilisearch Cloud automatically generates a new master key during project creation. If you are using [security keys](https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security.md), update your application to use the newly generated Meilisearch Cloud API keys.

***

Congratulations, you have migrated to Meilisearch Cloud. If you encounter any problems, reach out to our support team on [Discord](https://discord.meilisearch.com).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.