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

# Regions and data retention

> Learn more about where and how we store the identification data of your visitors.

## Regions

When creating your Fingerprint workspace, you can choose the region in which your data will be stored. Pick the one that best suits your infrastructure, latency, and regulatory compliance requirements. Your data never leaves the chosen region. Once chosen, your workspace region cannot be changed.

Fingerprint supports the following regions. The Global (US) region is used by default.

| Region      | Server location        | Code identifier                | Base API URL             |
| :---------- | :--------------------- | :----------------------------- | :----------------------- |
| Global (US) | Northern Virginia, USA | `us` (default, can be omitted) | `https://api.fpjs.io`    |
| EU          | Frankfurt, Germany     | `eu`                           | `https://eu.api.fpjs.io` |
| Asia        | Mumbai, India          | `ap`                           | `https://ap.api.fpjs.io` |

### Specifying region for the JavaScript agent

If you choose a non-default region (EU or Asia), you need to specify it when initializing the JavaScript agent. See the [JavaScript agent Reference > `region`](/reference/v3/js-agent-load-function#region) for more details.

<CodeGroup>
  ```ts CDN theme={"theme":"github-dark-dimmed"}
  <script>
    const fpPromise = import('https://fpjscdn.net/v3/PUBLIC_API_KEY')
      .then(FingerprintJS => FingerprintJS.load({
        // Specify "region" as "eu" or "ap" if you don't use the default region
        region: 'eu' // [!code ++]
      }));
  </script>
  ```

  ```javascript NPM theme={"theme":"github-dark-dimmed"}
  import FingerprintJS from '@fingerprintjs/fingerprintjs-pro'

  const fpPromise = FingerprintJS.load({
    apiKey: 'PUBLIC_API_KEY',
    // Specify "region" as "eu" or "ap" if you don't use the default region
    region: 'eu' // [!code ++]
  })
  ```
</CodeGroup>

### Specifying region for the Server API

If you choose a non-default region (EU or Asia), you need to use a corresponding base API URL (`eu.api.fpjs.io` or `ap.api.fpjs.io`) when interacting with Fingerprint Server API. See the [Server API Reference](/reference/v3/server-api#regions) for more details.

<CodeGroup>
  ````bash EU curl --request GET --url https://api.fpjs.io/events/YOUR_REQUEST_ID # [!code --] --url theme={"theme":"github-dark-dimmed"}
  https://eu.api.fpjs.io/events/YOUR_REQUEST_ID #[!code ++] --header 'Auth-API-Key: YOUR_API_KEY'
  --header 'accept: application/json' ``` ```bash Asia curl --request GET --url
  https://api.fpjs.io/events/YOUR_REQUEST_ID # [!code --] --url
  https://ap.api.fpjs.io/events/YOUR_REQUEST_ID #[!code ++] --header 'Auth-API-Key: YOUR_API_KEY'
  --header 'accept: application/json' 
  ````
</CodeGroup>

## Data retention

For most plans, visit history is available through the Server API for the past **30 days**. For Enterprise plans, the data is kept for **90 days** or longer depending on the enterprise contract.

If you need to store data for longer than your plan allows or prefer a custom storage solution, you can use [Webhooks](/docs/v3/webhooks). Webhooks allow you to automatically receive each identification response at your custom server endpoint and save them in your database.

## Data deletion

As a data processor that complies with several Data Processing Addendums (i.e., GDPR, CCPA, etc) Fingerprint, upon request from a data controller, will delete information belonging to a browser or a device. Please [contact support](https://fingerprint.com/support/?_gl=1*jrp5dd*_gcl_aw*R0NMLjE3NDc5MzQ1NjEuQ2owS0NRandscnZCQmhEbkFSSXNBSEVRZ09SNlJBQkJiMU9TbkNvcmx2bnpqaW1UTmJFUGEyaDFJd3NNWmlNcUtYWFI1cmdxLUNoYlpjb2FBdmk4RUFMd193Y0I.*_gcl_au*MjA5NzI4MTM3OS4xNzQ0NTQ3ODYwLjIxMjc2MTA3ODYuMTc1MDA4NTI1Ni4xNzUwMDg1MjU3*_ga*NDA5OTM0Mzc2LjE3MTA1NDE5NjU.*_ga_XVKDT0L5WV*czE3NTEyODc2NTEkbzE0OCRnMSR0MTc1MTI4NzkwMyRqNjAkbDAkaDk4NzgxODAxMg..) for more information.
