---
title: "Get Opportunities"
method: GET
path: "/get-opportunities"
tags: ["public-api"]
---

# Get Opportunities

`GET /get-opportunities`

## Request

- Base URL: `https://api.trakkr.ai`
- URL: `https://api.trakkr.ai/get-opportunities`
- Auth: HTTP bearer

Find gaps where your brand should be appearing but isn't.

Returns legacy citation outreach targets plus current saved recommendations
in suggestions. suggestion_total counts the current saved set; days filters
only the legacy targets. Suggestion IDs must use commit_opportunity after
approval, not manage_action. This read never accepts or generates work.

The legacy targets are a current set, not a time series. Omit days to
include the full current set; archived targets are excluded.

## Query parameters

- `brand_id` string, uuid, required: Brand UUID
- `days` integer, nullable: Optional. Only return opportunities first found in the last N days. Omit for the brand's current opportunity set, which is what the app shows.
- `limit` integer: Max opportunities to return

## Response `200`

Successful Response

- OpportunitiesResponse: GET /get-opportunities response.
  - `opportunities` OpportunityItem[], required
    - `result_id` string, required
    - `prompt_text` string, required
    - `llm` string, required
    - `date` string, required
    - `competitors` CompetitorPosition[], required
      - `name` string, required
      - `position` integer, required
    - `opportunity_type` string, required
    - `priority` string, required
    - `reason` string, required
  - `summary` OpportunitiesSummary, required: Opportunities summary.
    - `total_opportunities` integer, required
    - `not_mentioned_count` integer, required
    - `uncited_count` integer, required
    - `low_position_count` integer, required
    - `period_days` integer, nullable
  - `brand` object, required
  - `note` string, nullable
  - `suggestions` SuggestedAction[]
    - `opportunity_id` string, required
    - `title` string, required
    - `status` string, required
    - `family` string, required
    - `action_type` string, nullable
    - `description` string, nullable
    - `detail` string, nullable
    - `first_step` string, nullable
    - `impact` string, required
    - `effort` string, required
    - `source` string, nullable
    - `deep_link` string, required
  - `suggestion_total` integer

## Other responses

- `401`: Missing, malformed, or expired credentials
- `402`: The current plan does not fund this operation
- `403`: Invalid credentials, missing brand access, or insufficient role
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: The operation failed
- `503`: Authentication, entitlement, or a required dependency is temporarily unavailable

---

[API](https://skmtc.dev/trakkr/apis/trakkr-api.md) · [All operations](https://skmtc.dev/trakkr/apis/trakkr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trakkr/apis/trakkr-api/revisions/189a9e76b8d5?raw)
