---
title: "List recommendations for a brand report"
method: GET
path: "/v1/reports/brand/{reportId}/recommendations"
tags: ["Brand Reports"]
---

# List recommendations for a brand report

`GET /v1/reports/brand/{reportId}/recommendations`

## Request

- Base URL: `https://data.otterly.ai`
- URL: `https://data.otterly.ai/v1/reports/brand/{reportId}/recommendations`
- Auth: HTTP bearer

## Path parameters

- `reportId` string, required: Brand report identifier.

## Query parameters

- `country` string, required: Country code to filter recommendations by. Lowercase ISO 3166-1 alpha-2; use `uk` for the United Kingdom.
- `engine` 'chatgpt' | 'google' | 'perplexity' | 'copilot' | 'google_ai_mode' | 'gemini' | 'claude': Optional. Filter results to a single AI engine.
- `cursor` string: Optional. Pagination cursor — pass back the `nextCursor` value from a previous response. Omit to fetch the first page.

## Response `200`

A list of recommendations for the brand report.

- PublicApiBrandReportRecommendationsList
  - `items` PublicApiBrandReportRecommendationItem[], required
    - `id` string, required
    - `engine` string
    - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Recommendation rule identifier. Determines the shape of `data`.
    - `checkerType` 'prompts_sufficiency' | 'prompt_diversity' | 'crawlability' | 'entity': Higher-level checker that produced the recommendation.
    - `group` 'general' | 'off_page' | 'on_page': Recommendation surface group.
    - `priority` union
      - string
      - number
    - `score` number
    - `state` 'suggested' | 'todo' | 'archived' | 'removed'
    - `status` 'notStarted' | 'inProgress' | 'complete'
    - `todoId` string
    - `data` union: Recommendation payload. Shape is determined by the parent `type` field (e.g. `content_partnership_opportunities` → `PublicApiBrandReportRecommendationContentPartnershipOpportunitiesData`). May also include `country` and `service` keys describing the scope.
      - PublicApiBrandReportRecommendationPromptsCountData
        - `totalPrompts` number, required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationCompetitorsCountData
        - `totalCompetitors` number, required
        - `reportUuid` string, required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationPromptDiversityBrandedPromptsData
        - `totalPrompts` number
        - `brandedCount` number, required
        - `brandedPrompts` object[], required
          - `promptId` string, required
          - `prompt` string: Optional. Full prompt text.
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationPromptDiversityTofuData
        - `totalPrompts` number, required
        - `tofuCount` number, required
        - `tofuPercentage` number, required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationCrawlabilityCheckData
        - `engines` string[], required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationBrandMentionCheckData
        - `engines` string[], required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationContentPartnershipOpportunitiesData
        - `url` string, required
        - `title` string
        - `domain` string, required
        - `domainCategory` string, required
        - `mentionedCompetitors` string[], required
        - `citations` number, required
        - `prompts` object[], required
          - `promptId` string, required
          - `prompt` string: Optional. Full prompt text.
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationRedditThreadOpportunitiesData
        - `url` string, required
        - `title` string
        - `subreddit` string
        - `mentionedCompetitors` string[], required
        - `prompts` object[], required
          - `promptId` string, required
          - `prompt` string: Optional. Full prompt text.
        - `citations` number, required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationGetMentionedOnExistingMediaPressReleaseData
        - `url` string, required
        - `title` string
        - `domain` string, required
        - `mentionedCompetitors` string[], required
        - `competitorMentionsTotal` number
        - `citations` number, required
        - `prompts` object[]
          - `promptId` string, required
          - `prompt` string: Optional. Full prompt text.
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationCreateYoutubeVideosData
        - `url` string, required
        - `title` string
        - `domain` string, required
        - `citations` number, required
        - `mentionedCompetitors` string[], required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationCollaborateWithYoutubersData
        - `url` string, required
        - `title` string
        - `channelTitle` string
        - `citations` number, required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationDriveConversationOnSocialMediaTopicsData
        - `url` string, required
        - `title` string
        - `domain` string, required
        - `citations` number, required
        - `mentionedCompetitors` string[], required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationImproveWikipediaPresenceData
        - `url` string, required
        - `title` string
        - `domain` string, required
        - `citations` number, required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationMediaPressReleaseSayThankYouData
        - `url` string, required
        - `title` string
        - `domain` string, required
        - `citations` number, required
        - `prompts` object[]
          - `promptId` string, required
          - `prompt` string: Optional. Full prompt text.
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationWritePressReleaseData
        - `promptId` string, required
        - `prompt` string
        - `competitorMentionsTotal` number, required
        - `headlineProposal` string
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationCreateContentOnPageData
        - `promptId` string, required
        - `prompt` string
        - `url` string, required
        - `title` string
        - `headlineSuggestion` string
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
      - PublicApiBrandReportRecommendationImproveExistingContentData
        - `promptId` string, required
        - `prompt` string
        - `intent` string, required
        - `urls` object[], required
          - `url` string, required
          - `title` string
        - `urlsWithCitations` object[], required
          - `url` string, required
          - `title` string
          - `citations` number, required
        - `country` string: Optional. ISO country scope (e.g. `us`).
        - `service` string: Optional. AI engine scope; `all` indicates cross-engine.
        - `type` 'competitors_count' | 'prompts_count' | 'prompt_diversity_branded_prompts' | 'prompt_diversity_tofu' | 'crawlability_check' | 'brand_mention_check' | 'content_partnership_opportunities' | 'reddit_thread_opportunities' | 'get_mentioned_on_existing_media_press_release' | 'create_youtube_videos' | 'collaborate_with_youtubers' | 'drive_conversation_on_social_media_topics' | 'improve_wikipedia_presence' | 'media_press_release_say_thank_you' | 'write_press_release' | 'create_content_on_page' | 'improve_existing_content': Optional. Duplicates the parent `type` for convenience.
    - `copy` PublicApiBrandReportRecommendationCopy: Optional. Absent for recommendation types that have no copy builder, such as `competitors_count`.
      - `title` string, required: Short action title for the recommendation itself, unrelated to `data.title` (the cited page).
      - `headline` string, required: One-line summary of the recommended action.
      - `reasoning` string, required: Why the recommendation was raised, formatted as Markdown.
      - `suggestions` string[], required: Suggested next steps, each entry formatted as Markdown.
  - `paging` PublicApiCursorPageInfo, required
    - `nextCursor` string, nullable, required
    - `hasMore` boolean, required

## Other responses

- `400`: Validation failed.
- `401`: Unauthorized.
- `403`: Forbidden.
- `404`: Report not found.

## Changes

- **2026-11-03** `b5dc4bea6d45`: 1 info
  - added the optional property `items/items/copy` to the response with the `200` status

[Operation history](https://skmtc.dev/otterly/apis/otterly-public-api/changes/v1/reports/brand/:reportId/recommendations/get.md)

---

[API](https://skmtc.dev/otterly/apis/otterly-public-api.md) - [All operations](https://skmtc.dev/otterly/apis/otterly-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/otterly/apis/otterly-public-api/revisions/333e3100f0b4?raw)
