---
title: "Retrieve GEO analyses summary"
method: GET
path: "/v1/geo/analyses/summary"
tags: ["GEO"]
---

# Retrieve GEO analyses summary

`GET /v1/geo/analyses/summary`

## Request

- Base URL: `https://api.jasper.ai`
- URL: `https://api.jasper.ai/v1/geo/analyses/summary`
- Auth: one of:
  - API key in header `X-API-Key`
  - OAuth 2
    - Authorization code: `https://api.jasper.ai/oauth2/authorize`
    - Token URL: `https://api.jasper.ai/oauth2/token` scopes: `user`

Each analysis carries its current run, scores (including brand share of voice), signed change versus the previous run, prompt count and recommendation count.

`range` defaults to `daily`: the newest completed run on or before yesterday in the analysis timezone, against the day before. Analyses without a completed run for the range are omitted.

Every filter is optional and narrows the result. The list is not paginated; pass `ids` to bound it.

`providers` recomputes scores, share of voice, and their changes from those AI providers only. Brand mention rate is the average of the selected providers; citation rate, sentiment, and share of voice pool their responses. Rows stay. A side that cannot be scored for the selection has no score and no share of voice.

## Query parameters

- `label` string
- `website` string
- `ids` string
- `regions` string[]
- `timezones` string
- `statuses` string[]
- `schedules` string[]
- `providers` string[]
- `range` 'daily' | '7d' | '30d' | '60d' | '90d' | 'all'
- `date` string

## Response `200`

- GeoAnalysisScoreSummariesResponseDto
  - `requestId` string, required
  - `resource` string, required
  - `data` GeoAnalysisScoreSummariesDto, required
    - `range` 'daily' | '7d' | '30d' | '60d' | '90d' | 'all', required: The range the deltas were computed over.
    - `providers` string[], nullable, required: The providers the scores were recomputed from, or null when every provider on each analysis counts.
    - `analyses` GeoAnalysisScoreSummaryDto[], required: Analyses with a completed run for the requested range. Analyses without one are omitted. Not paginated or sorted.
      - `configId` string, required
      - `label` string, required
      - `website` string, required
      - `timezone` string, required: IANA timezone the schedule and each runDate are anchored to.
      - `region` 'US' | 'GB' | 'AU' | 'CA' | 'NZ' | 'IE' | 'ZA' | 'HK' | 'AE', nullable, required: Country market provider web searches are localized to. `null` means provider defaults.
      - `schedule` 'daily' | 'weekly' | 'monthly' | 'one-off', required
      - `status` union, required: Schedule status. `null` when the analysis has never been scheduled.
        - GeoAnalysisActiveStatusDto
          - `type` 'active', required
        - GeoAnalysisPausedStatusDto
          - `type` 'paused', required
          - `reason` 'insufficient_credits' | 'user_requested', required: Why updates are paused. Only `user_requested` carries `pausedAt` and `pausedBy`.
          - `pausedAt` string: ISO 8601 timestamp. Present when reason is `user_requested`.
          - `pausedBy` string: ID of the user who paused. Present when reason is `user_requested`.
      - `currentRun` GeoAnalysisSummaryRunDto, required
        - `runId` string, required
        - `runDate` string, required: Calendar date the run reports on, in the analysis timezone. Not an instant.
        - `updatedAt` string, required: ISO 8601 timestamp
        - `settings` GeoAnalysisSummaryRunSettingsDto, required
          - `scopes` union[], required: What the run was permitted to cover.
            - union
              - …
      - `scores` GeoAnalysisScoresDto, required
        - `overall` number, required
        - `brandPresenceRate` number, required: Brand mention rate.
        - `citationRate` number, required
        - `brandSentiment` number, required
        - `shareOfVoice` number, nullable, required: Brand share of voice (0-1), for the selected providers when given. Null when it could not be read, the brand was never mentioned or cited, or the selected providers cannot be scored.
      - `deltas` GeoAnalysisScoreChangesDto, required
        - `overall` number, required: current - previous (positive = improvement).
        - `brandPresenceRate` number, required: current - previous (positive = improvement).
        - `citationRate` number, required: current - previous (positive = improvement).
        - `brandSentiment` number, required: current - previous (positive = improvement).
        - `shareOfVoice` number, nullable, required: Signed change in brand share of voice. Null when either value is missing.
      - `promptCount` number, required: Prompts tracked on the current run.
      - `recommendationCount` number, nullable, required: Recommendations on the current run. Null when the run report could not be read.

## Changes

- **2026-11-03** `3d5be7408661`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/jasper/apis/jasper-api/changes/v1/geo/analyses/summary/get.md)

---

[API](https://skmtc.dev/jasper/apis/jasper-api.md) - [All operations](https://skmtc.dev/jasper/apis/jasper-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jasper/apis/jasper-api/revisions/3d5be7408661?raw)
