> ## 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:

<CodeGroup>
  ```bash cURL theme={null}
  curl \
    -X POST 'MEILISEARCH_URL/export' \
    -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",
    ),
  );
  ```
</CodeGroup>

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.](/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](/resources/self_hosting/security/basic_security), update your application to use the newly generated Meilisearch Cloud API keys.
</Warning>

***

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