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

How far back you can look up visit history through the Dashboard and the Server API depends on your plan:

| Plan | Lookup window |
| - | - |
| Free | **7 days** |
| Pro Plus and other paid self-serve plans | **30 days** |
| Enterprise | **90 days** or longer, depending on your enterprise contract |

When you upgrade from the Free plan to a paid plan, your lookup window increases to 30 days.

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.
