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

# Quickstart: first Immoteur API request

> Create an API token and make a verified first request to the Immoteur public API

Use this guide to verify that your token works and to see the data access available to your integration.

<Steps>
  <Step title="Create an API token">
    In the Immoteur dashboard, open **Settings → API tokens** and create a token. Keep it outside your source code. See [API tokens and data access](./configuration) for the dashboard steps.
  </Step>

  <Step title="Store the token locally">
    Set `IMMOTEUR_TOKEN` in your shell or secret store before making requests.

    ```bash theme={null}
    export IMMOTEUR_TOKEN='YOUR_TOKEN'
    ```
  </Step>

  <Step title="Call the authentication endpoint">
    Send `GET /auth` with the Bearer token. The following requests are equivalent.

    <CodeGroup>
      ```bash cURL theme={null}
      curl --fail-with-body --show-error --silent \
        'https://api.immoteur.com/public/v1/auth' \
        -H "Authorization: Bearer $IMMOTEUR_TOKEN"
      ```

      ```javascript JavaScript theme={null}
      const response = await fetch('https://api.immoteur.com/public/v1/auth', {
        headers: { Authorization: `Bearer ${process.env.IMMOTEUR_TOKEN}` },
      });

      if (!response.ok) throw new Error(`HTTP ${response.status}`);
      const account = await response.json();
      ```

      ```python Python theme={null}
      import os
      import requests

      response = requests.get(
          "https://api.immoteur.com/public/v1/auth",
          headers={"Authorization": f"Bearer {os.environ['IMMOTEUR_TOKEN']}"},
          timeout=10,
      )
      response.raise_for_status()
      account = response.json()
      ```
    </CodeGroup>
  </Step>

  <Step title="Confirm the result and choose the next task">
    A successful response is `200 OK` and includes token metadata plus `meta.dataAccessLimit`. Next, [choose an API resource](./api-resources) to retrieve data or [configure webhooks](./webhook) to receive updates.
  </Step>
</Steps>

If the request does not return `200`, see [API reliability](./api-reliability) before changing your integration.
