Advanced Features
GraphQL API

GraphQL API

GrackerAI's visibility data - responses, mentions, citations, scores, and aggregates - is queryable through GraphQL. There's no separate public API for direct developer or curl access: the GraphQL layer is reached through MCP, inside an MCP-connected AI assistant like Claude Desktop or Cursor.


How it works

  • Read-only: queries only, no mutations or subscriptions. Nothing in your workspace can be changed through it.
  • Brand-scoped: every result is automatically limited to the brands you selected when you connected. A query can't widen its own scope.
  • Self-describing: the schema is introspectable, so an AI assistant can look up the available types and fields before it writes a query.

Accessing it

You don't request a token or write curl commands against a GrackerAI endpoint. Instead, you connect an MCP client to your GrackerAI account (a standard OAuth sign-in, done once per client), and the client gets two tools:

  • get_visibility_schema - introspects the schema
  • query_visibility_data - runs a read-only query and returns the result

The AI assistant handles writing and running the GraphQL queries for you - you ask questions in natural language. See MCP for how to connect a client and how the connection is authenticated.


What the data looks like

The schema covers types like brand visibility scores, mentions, and citations. For example, a query run through query_visibility_data might ask for something shaped like:

query ($brandId: String!, $days: Int!) {
  visibility(brandId: $brandId, days: $days) {
    visibilityScore
    presenceRate
    shareOfVoice
    sentiment
  }
  topCitations(brandId: $brandId, days: $days, limit: 10) {
    domain
    isBrandDomain
    count
  }
}
Field names above are illustrative - your AI assistant introspects the live schema for the exact types and fields available in your workspace.

Errors

  • Malformed input, or any operation that isn't a read query, is rejected before it runs.
  • A response containing an errors array means the query was understood but something failed (for example an unknown field) - your assistant can re-introspect the schema and retry.

Availability & limits

Access is through MCP and is subject to a monthly request quota per plan - it isn't available on the Free plan. Only query_visibility_data calls count against the quota; schema introspection doesn't. See Plans & Pricing for plan details.


Next Steps