Skip to main content

API & MCP Server

GEO.actor exposes a REST API and an MCP (Model Context Protocol) server for integrating with your own tools, automations, and AI agents. Both are available on Pro and Agency plans.

REST API

Base URL: https://app.geo-seo.platform/api/v1

The full OpenAPI specification is available at /api/v1/openapi.json.

Authentication

All API requests require a Bearer token. Generate an API key in Settings → API Keys.

curl https://app.geo-seo.platform/api/v1/brands \
  -H "Authorization: Bearer YOUR_API_KEY"

Key endpoints

Method Path Description
GET /brands List brands in your organisation
GET /brands/:id/som Share of Model metrics for a brand
GET /brands/:id/authority Authority Score history
POST /brands/:id/tracking/run Trigger a manual tracking run
GET /brands/:id/audit Latest technical audit results
GET /brands/:id/llmstxt Generated llms.txt content

Rate limits

  • 100 requests per minute per API key
  • Tracking runs count against your plan's monthly AI answer quota

Error responses

All errors follow a consistent shape:

{
  "error": {
    "code": "BRAND_NOT_FOUND",
    "message": "Brand not found",
    "status": 404
  }
}

MCP Server

The MCP server exposes GEO.actor data as tools and resources that AI agents (Claude, GPT-4, and others) can call directly via the Model Context Protocol.

Available tools

Tool Description
get_brand_som Retrieve Share of Model metrics for a brand
get_brand_authority Get the current Authority Score and component breakdown
run_tracking Trigger a tracking run and wait for results
get_technical_audit Fetch the latest technical audit findings
get_content_gaps List identified content gaps for a brand
get_llmstxt Retrieve the generated llms.txt

Connecting to the MCP server

The MCP server is available at https://app.geo-seo.platform/api/mcp. Use your API key as the authentication token.

In Claude Desktop, add to your claude_desktop_config.json:

{
  "mcpServers": {
    "geo-seo-platform": {
      "url": "https://app.geo-seo.platform/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Example usage with Claude

Once connected, you can ask Claude:

"What is my brand's Share of Model on Perplexity this week?"

Claude will call get_brand_som with the appropriate parameters and return the result in natural language.

Something missing? Let us know.