Visibility

Get visibility summary

Changed on

AI visibility score + platform breakdown. Pass unbranded=true or branded=true to restrict every metric (score, mentions, citations) by prompt brand state. topicId narrows every metric, the trend and the compare window to one topic's prompts, and country / locationId to the answers from those tracked markets — the topics and countries availableFilters lists. A country the project does not track returns zeroed figures, never the whole project's; an unknown country code is a 400 invalid_country, and a topicId or locationId that is not a UUID a 400 invalid_argument. days defaults to 30, max 365.

get/api/mcp/projects/{projectId}/visibility

Request

  • Base URL
    https://app.searchable.com
  • Auth
    HTTP bearer

Path parameters

projectIdstring uuid required

The project id.

Query parameters

daysinteger

Lookback window in days. Default and maximum vary by endpoint — see the operation description.

unbranded'true'

Pass true to restrict every metric to non-branded prompts only.

branded'true'

Pass true to restrict every metric to branded prompts only.

topicIdstring uuid

Restrict to a single topic id.

countrystring

Comma-separated ISO 3166-1 country codes (e.g. US,GB) or country names.

locationIdstring

Comma-separated tracked-location ids.

compare'previous_period' | 'previous_year'

Period comparison. previous_period re-runs the same metrics over the window immediately before the current one (same length); previous_year over the same window shifted back exactly 365 days. The response gains an additive comparison block: { mode, dateRange, previous, delta } — delta is current minus previous for every shared numeric metric (on /visibility/topics, per-topic deltas ride inline on each topic row instead). Invalid values return 400 invalid_argument.

fromstring
Example:2026-03-01

Start of an absolute window (inclusive, UTC). Accepts YYYY-MM-DD or a full ISO timestamp. Requires to, and is mutually exclusive with days — sending both returns 400 invalid_argument. A range longer than the endpoint's maximum is rejected rather than clamped.

tostring
Example:2026-03-31

End of an absolute window (inclusive, UTC). Accepts YYYY-MM-DD or a full ISO timestamp. Requires from.

include'industry_ranking'

Set to industry_ranking to attach the competitive leaderboard (every tracked entity ranked by visibility, plus the brand's own rank) to the response.

Response

Visibility summary.

reportsAnalyzedinteger

Example response

{
  "summary": {
    "scoreChangePeriod": "30d"
  },
  "trend": [
    {
      "date": "2026-07-23"
    }
  ]
}

Changes

    • breaking

      the response property / became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • info

      added the optional property / to the response with the status

    • warning

      added the new duplicate_scope enum value to the response property for the response status

    • warning

      added the new duplicate_scope enum value to the response property for the response status

    • warning

      added the new duplicate_scope enum value to the response property for the response status

    • warning

      added the new duplicate_scope enum value to the response property for the response status

    • warning

      added the new duplicate_scope enum value to the response property for the response status

    • warning

      added the new duplicate_scope enum value to the response property for the response status

    • warning

      added the new host_outside_domain enum value to the response property for the response status

    • warning

      added the new host_outside_domain enum value to the response property for the response status

    • warning

      added the new host_outside_domain enum value to the response property for the response status

    • warning

      added the new host_outside_domain enum value to the response property for the response status

    • warning

      added the new host_outside_domain enum value to the response property for the response status

    • warning

      added the new host_outside_domain enum value to the response property for the response status

    • warning

      added the new idempotency_conflict enum value to the response property for the response status

    • warning

      added the new idempotency_conflict enum value to the response property for the response status

    • warning

      added the new idempotency_conflict enum value to the response property for the response status

    • warning

      added the new idempotency_conflict enum value to the response property for the response status

    • warning

      added the new idempotency_conflict enum value to the response property for the response status

    • warning

      added the new idempotency_conflict enum value to the response property for the response status

    • warning

      added the new invalid_citation_type enum value to the response property for the response status

    • warning

      added the new invalid_citation_type enum value to the response property for the response status

    • warning

      added the new invalid_citation_type enum value to the response property for the response status

    • warning

      added the new invalid_citation_type enum value to the response property for the response status

    • warning

      added the new invalid_citation_type enum value to the response property for the response status

    • warning

      added the new invalid_citation_type enum value to the response property for the response status

    • warning

      added the new invalid_scope enum value to the response property for the response status

    • warning

      added the new invalid_scope enum value to the response property for the response status

    • warning

      added the new invalid_scope enum value to the response property for the response status

    • warning

      added the new invalid_scope enum value to the response property for the response status

    • warning

      added the new invalid_scope enum value to the response property for the response status

    • warning

      added the new invalid_scope enum value to the response property for the response status

    • warning

      added the new missing_competitor enum value to the response property for the response status

    • warning

      added the new missing_competitor enum value to the response property for the response status

    • warning

      added the new missing_competitor enum value to the response property for the response status

    • warning

      added the new missing_competitor enum value to the response property for the response status

    • warning

      added the new missing_competitor enum value to the response property for the response status

    • warning

      added the new missing_competitor enum value to the response property for the response status

    • warning

      added the new rule_limit enum value to the response property for the response status

    • warning

      added the new rule_limit enum value to the response property for the response status

    • warning

      added the new rule_limit enum value to the response property for the response status

    • warning

      added the new rule_limit enum value to the response property for the response status

    • warning

      added the new rule_limit enum value to the response property for the response status

    • warning

      added the new rule_limit enum value to the response property for the response status

    • warning

      added the new security_policy_denied enum value to the response property for the response status

    • warning

      added the new security_policy_denied enum value to the response property for the response status

    • warning

      added the new security_policy_denied enum value to the response property for the response status

    • warning

      added the new security_policy_denied enum value to the response property for the response status

    • warning

      added the new security_policy_denied enum value to the response property for the response status

    • warning

      added the new security_policy_denied enum value to the response property for the response status

    • warning

      added the new unknown_competitor enum value to the response property for the response status

    • warning

      added the new unknown_competitor enum value to the response property for the response status

    • warning

      added the new unknown_competitor enum value to the response property for the response status

    • warning

      added the new unknown_competitor enum value to the response property for the response status

    • warning

      added the new unknown_competitor enum value to the response property for the response status

    • warning

      added the new unknown_competitor enum value to the response property for the response status

    • info

      added the new optional query request parameter compare

    • info

      added the new optional query request parameter country

    • info

      added the new optional query request parameter from

    • info

      added the new optional query request parameter include

    • info

      added the new optional query request parameter locationId

    • info

      added the new optional query request parameter to

    • info

      added the new optional query request parameter topicId

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property to the response with the status

    • info

      response property summary/mentionRate deprecated