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

# Get an analysis

> Retrieve the status and outputs of a previously submitted analysis.

Retrieve an analysis by its id. Because analyses are processed asynchronously, poll this endpoint until `status` is `success` or `failed`. Output URLs are time-limited — download and store them promptly. See [Result expiry](/concepts/result-expiry).

Which keys appear under `outputs` depends on the predictions you requested. See the [Predictions model](/concepts/predictions-model).

<Note>
  **`id` vs `_internal_exposed_id`** — `id` is the screenshot id (the same id returned by [Create an analysis](/api-reference/create-analysis) and used to request this analysis). `_internal_exposed_id` is the analysis id, which you need to [update metadata](/api-reference/update-analysis-meta) or request a [summary](/api-reference/get-summary) or [recommendations](/api-reference/get-recommendations).
</Note>

<ParamField path="analysis-id" type="string" required>
  The screenshot id returned by Create an analysis.
</ParamField>

<ResponseField name="id" type="string">
  The screenshot id.
</ResponseField>

<ResponseField name="_internal_exposed_id" type="string">
  The analysis id. Use this when updating analysis metadata or requesting generated summaries and recommendations. Present on success.
</ResponseField>

<ResponseField name="status" type="string">
  The current state of the analysis: `pending`, `success`, or `failed`.
</ResponseField>

<ResponseField name="outputs" type="object">
  Present when `status` is `success`. The keys depend on the predictions requested.

  <Expandable title="outputs">
    <ResponseField name="attention" type="object">
      `attentionMap`, `perceptionMap`, `hotspotsMap`, and `roiMap` (when regions of interest are defined) image URLs.
    </ResponseField>

    <ResponseField name="clarity" type="object">
      The clarity `score` (0–100) and `map` image URL.
    </ResponseField>

    <ResponseField name="excitingness" type="object">
      The excitingness `score` (0–100) and `map` image URL.
    </ResponseField>

    <ResponseField name="input" type="object">
      The analyzed input `image` URL.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="error" type="object">
  Present when `status` is `failed`. Contains an error `code` and `message`.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl \
    -H "Authorization: Bearer $apikey" \
    -H "Content-Type: application/json" \
    -X GET \
    https://api.eyequant.com/v2/analyses/611457618c1d4283a830d10a9ad4f8ae
  ```
</RequestExample>

<ResponseExample>
  ```json success theme={null}
  {
    "id": "611457618c1d4283a830d10a9ad4f8ae",
    "_internal_exposed_id": "0b9c2e7a1f4d4a9e8c2b6d5f3a1e7c90",
    "status": "success",
    "outputs": {
      "attention": {
        "attentionMap": "https://s3.amazonaws.com/api-eyequant/...",
        "perceptionMap": "https://s3.amazonaws.com/api-eyequant/...",
        "hotspotsMap": "https://s3.amazonaws.com/api-eyequant/..."
      },
      "clarity": {
        "score": 71,
        "map": "https://s3.amazonaws.com/api-eyequant/..."
      },
      "excitingness": {
        "score": 64,
        "map": "https://s3.amazonaws.com/api-eyequant/..."
      },
      "input": {
        "image": "https://s3.amazonaws.com/api-eyequant/..."
      }
    }
  }
  ```

  ```json pending theme={null}
  {
    "id": "611457618c1d4283a830d10a9ad4f8ae",
    "status": "pending"
  }
  ```

  ```json failed theme={null}
  {
    "id": "611457618c1d4283a830d10a9ad4f8ae",
    "status": "failed",
    "error": {
      "code": "unreadable_input_image",
      "message": "We were unable to read the input image, either because the format is not supported, or because the image is truncated or corrupted."
    }
  }
  ```

  ```json 410 theme={null}
  {
    "error": {
      "code": "resource_gone",
      "message": "This resource is no longer available."
    }
  }
  ```
</ResponseExample>
