{
  "format": "akkrev-public-agent-guide",
  "formatVersion": "1.0",
  "updated": "2026-11-05",
  "description": "Site-specific navigation and execution map. Request and response schemas are defined by the linked OpenAPI document.",
  "links": {
    "self": "https://akkrev.com/agents.json",
    "guide": "https://akkrev.com/agents.md",
    "htmlGuide": "https://akkrev.com/agents/",
    "openapi": "https://akkrev.com/openapi.json",
    "directory": "https://akkrev.com/llms.txt",
    "fullReference": "https://akkrev.com/llms-full.txt",
    "documentation": "https://akkrev.com/docs/",
    "documentationMarkdown": "https://akkrev.com/docs.md",
    "pricing": "https://akkrev.com/pricing/",
    "signIn": "https://app.akkrev.com/login/",
    "terms": "https://akkrev.com/terms/",
    "privacy": "https://akkrev.com/privacy/"
  },
  "aiAccess": {
    "documentationUrl": "https://akkrev.com/docs/",
    "documentationMarkdownUrl": "https://akkrev.com/docs.md",
    "subscriptionRequired": true,
    "setupUrl": "https://akkrev.com/use-with-ai/",
    "instructionsUrl": "https://akkrev.com/use-with-ai.md",
    "browserTextUrl": "https://akkrev.com/use-with-ai.txt",
    "serverUrl": "https://app.akkrev.com/api/mcp",
    "authentication": "OAuth",
    "sameAccount": true,
    "optionalInterface": true,
    "capabilities": [
      "Guide signup and venue setup",
      "Read the business profile, tracked questions, sampled answers, citations and priorities",
      "Manage tracked questions, confirmed facts and business focuses",
      "Queue bounded website audits",
      "Manage improvement tasks, prepare WordPress proposals and edit existing article drafts",
      "Record listing reviews and refresh already connected Google reports",
      "Follow public-page verification and later visibility observations"
    ],
    "publishingApproval": "Akkrev dashboard",
    "connections": "The person authorises Google and website accounts in Akkrev.",
    "backgroundWork": "Akkrev runs the existing schedule; the connector does not keep the chat running.",
    "discovery": "Reading the guide does not install tools or authorise an account. The person must install and connect the MCP server.",
    "outcomes": "Supports SEO, GEO and AI search work. It does not guarantee rankings, recommendations, traffic or revenue.",
    "guides": [
      {
        "venue": "Hotels",
        "url": "https://akkrev.com/ai-seo/connect-ai-agent-for-hotel-seo/",
        "markdownUrl": "https://akkrev.com/ai-seo/connect-ai-agent-for-hotel-seo.md"
      },
      {
        "venue": "Restaurants",
        "url": "https://akkrev.com/ai-seo/connect-ai-agent-for-restaurant-seo/",
        "markdownUrl": "https://akkrev.com/ai-seo/connect-ai-agent-for-restaurant-seo.md"
      },
      {
        "venue": "Cafés",
        "url": "https://akkrev.com/ai-seo/connect-ai-agent-for-cafe-seo/",
        "markdownUrl": "https://akkrev.com/ai-seo/connect-ai-agent-for-cafe-seo.md"
      }
    ]
  },
  "business": {
    "name": "Akkrev",
    "definition": "Akkrev is AI search visibility software for independent hotels, B&Bs, restaurants, cafés and bars in the UK and US. It tracks guest questions weekly, shows competitor recommendations and cited sources, and helps owners prepare, review and check useful website improvements.",
    "markets": [
      "United Kingdom",
      "United States"
    ],
    "contactEmail": "hello@akkrev.com",
    "mainService": "Weekly AI search visibility and website improvements for independent hospitality venues. Review priorities, confirm venue facts and check public updates. Grow and Scale add supported WordPress page updates with approval, plus article drafts and publishing.",
    "separateService": "Hotel agent booking audits and setup; separately priced.",
    "nameSpelling": "Akkrev is spelled with a double k (A-K-K-R-E-V).",
    "notOffered": [
      "Review collection, review responses or reputation management.",
      "Guest messaging, chatbots, WhatsApp messaging or kiosks.",
      "A booking engine, channel manager or Booking.com or TripAdvisor integration. Agent booking work keeps the hotel's existing booking engine.",
      "Edits to third-party listings such as Google Business Profile or TripAdvisor. Owners manage those listings.",
      "Paid placement in AI answers or guaranteed recommendations, rankings or bookings."
    ],
    "differentiators": [
      "Built only for hospitality: independent hotels, B&Bs, restaurants, cafés and bars in the UK and US.",
      "Weekly tracking comes with a website audit and a way to verify updates. Every plan audits the venue's website pages (titles, descriptions, headings, structured data) on any platform, gives a prioritised fix list and re-checks the live page after changes. Owners can request implementation help.",
      "Grow and Scale prepare the fixes: supported page updates published directly on WordPress after owner approval, plus original articles for WordPress, Webflow CMS or Wix Blog. Use your own editor for other website changes.",
      "Self-serve monthly plans with a seven-day trial and a 30-day refund guarantee. No call or contract required."
    ],
    "refundGuarantee": "If your plan doesn't help, tell us within 30 days of your first payment for a full refund.",
    "multipleVenues": "One venue per self-serve plan. Each venue is tracked separately. For three or more locations, book a call for a group quote.",
    "company": {
      "legalName": "Akkrev Technologies OÜ",
      "registry": "Estonian Business Register",
      "registryCode": "17519031",
      "country": "Estonia"
    },
    "bookCallUrl": "https://akkrev.com/book/",
    "measurement": {
      "modelFamilies": [
        "ChatGPT",
        "Gemini",
        "Grok",
        "Claude"
      ],
      "frequency": "weekly",
      "grokRetrieval": "model_memory",
      "otherIncludedFamiliesRetrieval": "web_search",
      "consumerAppsReproduced": false,
      "googleAiModeMeasured": false,
      "googleAiOverviewsMeasured": false,
      "firstReportAfterProfile": "7 days"
    }
  },
  "groupOffer": {
    "minimumVenuesForQuote": 3,
    "trackingScope": "per_venue",
    "pricing": "custom_quote",
    "url": "https://akkrev.com/hospitality-groups/",
    "markdownUrl": "https://akkrev.com/hospitality-groups.md",
    "consultationUrl": "https://akkrev.com/book/",
    "scope": "Track guest questions and export weekly results per venue. Scope the locations, website approvals and reporting before rollout.",
    "requirementsToConfirm": "If your team needs a consolidated dashboard, SSO, a custom integration or a support SLA, raise it on the call so we can confirm fit before quoting."
  },
  "currentOffer": {
    "summary": "November offer: 50% off all monthly plans (Track, Grow and Scale) for your first six paid months when you join by 30 November 2026.",
    "discountPercent": 50,
    "appliesTo": "all plans, monthly billing",
    "paidMonths": 6,
    "joinBy": "30 November 2026"
  },
  "suitability": {
    "audience": "Owners, general managers and marketing managers of independent hospitality venues in the UK and US.",
    "needs": [
      "An optional ChatGPT or Claude connection to read results and prepare supported improvements in the same account.",
      "Weekly checks of the guest questions relevant to one venue.",
      "Competitor recommendations, sampled answers and cited sources together.",
      "Website priorities, confirmed venue facts and public checks for reviewed updates.",
      "Supported WordPress page updates with approval on Grow or Scale, or changes in their own editor.",
      "Original article drafts on Grow or Scale, using confirmed venue facts, with publishing on WordPress, Webflow CMS or Wix Blog."
    ],
    "requirementsToCheck": "Check plan limits if daily checks, additional model coverage or a particular website connection matter. For three or more venues, use the group quote route."
  },
  "read": [
    {
      "purpose": "Akkrev manual for people and agents",
      "url": "https://akkrev.com/docs.md"
    },
    {
      "purpose": "Connect your AI to Akkrev",
      "url": "https://akkrev.com/use-with-ai.md"
    },
    {
      "purpose": "Product facts",
      "url": "https://akkrev.com/facts/"
    },
    {
      "purpose": "Plans and billing",
      "url": "https://akkrev.com/pricing/"
    },
    {
      "purpose": "Hospitality groups",
      "url": "https://akkrev.com/hospitality-groups/"
    },
    {
      "purpose": "Hospitality groups as Markdown",
      "url": "https://akkrev.com/hospitality-groups.md"
    },
    {
      "purpose": "Measurement method",
      "url": "https://akkrev.com/methodology/"
    },
    {
      "purpose": "Website connections",
      "url": "https://akkrev.com/integrations/"
    },
    {
      "purpose": "Measure growth and ROI",
      "url": "https://akkrev.com/ai-seo/measuring-roi-of-ai-seo/"
    },
    {
      "purpose": "Hotel booking audit",
      "url": "https://akkrev.com/ai-agent-booking/"
    },
    {
      "purpose": "Honeyb comparison",
      "url": "https://akkrev.com/compare/akkrev-vs-honeyb/"
    },
    {
      "purpose": "Editorial standards",
      "url": "https://akkrev.com/editorial-standards/"
    },
    {
      "purpose": "Product overview as Markdown",
      "url": "https://akkrev.com/index.md"
    }
  ],
  "billing": {
    "currency": "GBP",
    "supportedCurrencies": [
      "GBP",
      "USD"
    ],
    "currencySelection": "US visitors default to USD. A manual choice is remembered; existing subscriptions retain their currency.",
    "applicableTaxIncluded": true,
    "trialDays": 7,
    "cardRequiredForTrial": true,
    "renewal": "Automatic unless cancelled under the chosen billing terms.",
    "termsUrl": "https://akkrev.com/terms/"
  },
  "plans": [
    {
      "id": "track",
      "name": "Track",
      "summary": "Find guest questions where you’re missing from AI answers.",
      "includes": [
        "25 guest questions tracked every week",
        "One venue, with your own guest questions",
        "Your AI visibility score, and who AI recommends instead",
        "The sites AI quotes about you, and what it gets wrong",
        "Weekly report and three suggested next steps",
        "Website priorities and checks for updates you make",
        "Self-serve setup, email support"
      ],
      "venues": 1,
      "guestQuestionsPerWeek": 25,
      "articleDraftsPerMonth": 0,
      "monthly": {
        "amountGbp": 49,
        "amountUsd": 65,
        "introductoryPaidMonths": 6,
        "thenAmountGbp": 98,
        "thenAmountUsd": 130,
        "joinBy": "30 November 2026"
      },
      "annual": {
        "upfrontAmountUsd": 624,
        "monthlyEquivalentUsd": 52,
        "upfrontAmountGbp": 468,
        "monthsCovered": 12,
        "monthlyEquivalentGbp": 39
      },
      "detailsUrl": "https://akkrev.com/pricing/#track"
    },
    {
      "id": "grow",
      "name": "Grow",
      "summary": "Build pages around the questions guests ask before they book or visit.",
      "includes": [
        "Everything in Track, with 50 guest questions",
        "2 original article drafts each month, based on your venue facts",
        "Downloadable venue structured data and a clear facts file",
        "Publish reviewed articles to WordPress, Webflow CMS or Wix Blog",
        "Approve supported WordPress page updates",
        "Optional automatic article publishing",
        "Self-serve setup, no kickoff call needed"
      ],
      "venues": 1,
      "guestQuestionsPerWeek": 50,
      "articleDraftsPerMonth": 2,
      "monthly": {
        "amountGbp": 149,
        "amountUsd": 199,
        "introductoryPaidMonths": 6,
        "thenAmountGbp": 298,
        "thenAmountUsd": 398,
        "joinBy": "30 November 2026"
      },
      "annual": {
        "upfrontAmountUsd": 1908,
        "monthlyEquivalentUsd": 159,
        "upfrontAmountGbp": 1428,
        "monthsCovered": 12,
        "monthlyEquivalentGbp": 119
      },
      "detailsUrl": "https://akkrev.com/pricing/#grow"
    },
    {
      "id": "done-for-you",
      "name": "Scale",
      "summary": "Cover more guest questions and publish more content for your venue.",
      "includes": [
        "Everything in Grow, with 100 guest questions",
        "4 original article drafts each month",
        "Evidence showing which guides and listings AI cites",
        "Guest questions grouped by topic and intent",
        "Competitor recommendations and source evidence",
        "Optional automatic article publishing"
      ],
      "venues": 1,
      "guestQuestionsPerWeek": 100,
      "articleDraftsPerMonth": 4,
      "monthly": {
        "amountGbp": 399,
        "amountUsd": 530,
        "introductoryPaidMonths": 6,
        "thenAmountGbp": 798,
        "thenAmountUsd": 1060,
        "joinBy": "30 November 2026"
      },
      "annual": {
        "upfrontAmountUsd": 5088,
        "monthlyEquivalentUsd": 424,
        "upfrontAmountGbp": 3828,
        "monthsCovered": 12,
        "monthlyEquivalentGbp": 319
      },
      "detailsUrl": "https://akkrev.com/pricing/#done-for-you"
    }
  ],
  "actions": [
    {
      "operationId": "start_signup",
      "purpose": "Save signup details",
      "method": "POST",
      "url": "https://akkrev.com/api/signup",
      "operationRef": "https://akkrev.com/openapi.json#/paths/~1api~1signup/post",
      "request": {
        "headers": {
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        "encoding": "application/json",
        "requiredFields": [
          "website",
          "venue",
          "email"
        ],
        "exampleBody": {
          "website": "https://example.com",
          "venue": "Example Hotel",
          "type": "hotel",
          "name": "Example Owner",
          "email": "owner@example.com"
        },
        "schemaRef": "https://akkrev.com/openapi.json#/paths/~1api~1signup/post/requestBody/content/application~1json/schema"
      },
      "success": {
        "httpStatus": 200,
        "okPointer": "/ok",
        "okValue": true,
        "schemaRef": "https://akkrev.com/openapi.json#/paths/~1api~1signup/post/responses/200/content/application~1json/schema",
        "resultPointers": [
          "/ok",
          "/id",
          "/next"
        ],
        "checkoutChoicesPointer": "/next/plans",
        "accountActivated": false
      },
      "effect": "Saves contact details and may notify Akkrev; grants no account access.",
      "submissionMustBeCoveredByUserRequest": true,
      "automaticRetry": false,
      "exampleRequest": {
        "url": "https://akkrev.com/api/signup",
        "method": "POST",
        "headers": {
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        "body": "{\"website\":\"https://example.com\",\"venue\":\"Example Hotel\",\"type\":\"hotel\",\"name\":\"Example Owner\",\"email\":\"owner@example.com\"}"
      }
    },
    {
      "operationId": "guess_venue_details",
      "purpose": "Suggest venue details",
      "method": "GET",
      "url": "https://akkrev.com/api/site-info",
      "operationRef": "https://akkrev.com/openapi.json#/paths/~1api~1site-info/get",
      "request": {
        "headers": {
          "Accept": "application/json"
        },
        "requiredQuery": [
          "url"
        ],
        "exampleQuery": {
          "url": "https://example.com"
        }
      },
      "success": {
        "httpStatus": 200,
        "okPointer": "/ok",
        "okValue": true,
        "schemaRef": "https://akkrev.com/openapi.json#/paths/~1api~1site-info/get/responses/200/content/application~1json/schema",
        "resultPointers": [
          "/ok",
          "/website",
          "/name",
          "/area",
          "/type",
          "/guessed"
        ]
      },
      "effect": "Fetches the public website; returned details need confirmation.",
      "submissionMustBeCoveredByUserRequest": false,
      "automaticRetry": true,
      "exampleRequest": {
        "url": "https://akkrev.com/api/site-info?url=https%3A%2F%2Fexample.com",
        "method": "GET",
        "headers": {
          "Accept": "application/json"
        }
      }
    },
    {
      "operationId": "check_ai_crawler_access",
      "purpose": "Check AI crawler access",
      "method": "GET",
      "url": "https://akkrev.com/api/crawler-check",
      "operationRef": "https://akkrev.com/openapi.json#/paths/~1api~1crawler-check/get",
      "request": {
        "headers": {
          "Accept": "application/json"
        },
        "requiredQuery": [
          "url"
        ],
        "exampleQuery": {
          "url": "https://example.com"
        }
      },
      "success": {
        "httpStatus": 200,
        "okPointer": "/ok",
        "okValue": true,
        "schemaRef": "https://akkrev.com/openapi.json#/paths/~1api~1crawler-check/get/responses/200/content/application~1json/schema",
        "resultPointers": [
          "/ok",
          "/url",
          "/checkedAt",
          "/robots",
          "/bots",
          "/homepage",
          "/llmsTxt",
          "/summary"
        ]
      },
      "effect": "Fetches the public homepage, robots.txt and llms.txt.",
      "submissionMustBeCoveredByUserRequest": false,
      "automaticRetry": true,
      "exampleRequest": {
        "url": "https://akkrev.com/api/crawler-check?url=https%3A%2F%2Fexample.com",
        "method": "GET",
        "headers": {
          "Accept": "application/json"
        }
      }
    },
    {
      "operationId": "report_website_agents_cant_use",
      "purpose": "Report an agent blocker",
      "method": "POST",
      "url": "https://akkrev.com/api/report",
      "operationRef": "https://akkrev.com/openapi.json#/paths/~1api~1report/post",
      "request": {
        "headers": {
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        "encoding": "application/json",
        "requiredFields": [
          "website",
          "task",
          "reason"
        ],
        "exampleBody": {
          "website": "https://example.com/book",
          "task": "Find a room for two adults; stop before reservation or payment.",
          "reason": "widget",
          "details": "Fictional example: the date picker did not respond."
        },
        "schemaRef": "https://akkrev.com/openapi.json#/paths/~1api~1report/post/requestBody/content/application~1json/schema"
      },
      "success": {
        "httpStatus": 200,
        "okPointer": "/ok",
        "okValue": true,
        "schemaRef": "https://akkrev.com/openapi.json#/paths/~1api~1report/post/responses/200/content/application~1json/schema",
        "resultPointers": [
          "/ok",
          "/id",
          "/host",
          "/message",
          "/tellYourUser"
        ]
      },
      "effect": "Saves a report and may lead to contact with the business.",
      "submissionMustBeCoveredByUserRequest": true,
      "automaticRetry": false,
      "exampleRequest": {
        "url": "https://akkrev.com/api/report",
        "method": "POST",
        "headers": {
          "Accept": "application/json",
          "Content-Type": "application/json"
        },
        "body": "{\"website\":\"https://example.com/book\",\"task\":\"Find a room for two adults; stop before reservation or payment.\",\"reason\":\"widget\",\"details\":\"Fictional example: the date picker did not respond.\"}"
      }
    },
    {
      "operationId": "request_free_ai_check",
      "purpose": "Request a hotel booking check",
      "method": "POST",
      "url": "https://akkrev.com/api/check",
      "operationRef": "https://akkrev.com/openapi.json#/paths/~1api~1check/post",
      "request": {
        "headers": {
          "Accept": "application/json",
          "Content-Type": "application/x-www-form-urlencoded"
        },
        "encoding": "application/x-www-form-urlencoded",
        "requiredFields": [
          "hotel",
          "website",
          "name",
          "email"
        ],
        "exampleBody": {
          "hotel": "Example Hotel",
          "website": "https://example.com",
          "name": "Example Owner",
          "email": "owner@example.com"
        },
        "schemaRef": "https://akkrev.com/openapi.json#/paths/~1api~1check/post/requestBody/content/application~1x-www-form-urlencoded/schema"
      },
      "success": {
        "httpStatus": 200,
        "okPointer": "/ok",
        "okValue": true,
        "schemaRef": "https://akkrev.com/openapi.json#/paths/~1api~1check/post/responses/200/content/application~1json/schema",
        "resultPointers": [
          "/ok"
        ]
      },
      "effect": "Saves a contact request for a later emailed check.",
      "submissionMustBeCoveredByUserRequest": true,
      "automaticRetry": false,
      "exampleRequest": {
        "url": "https://akkrev.com/api/check",
        "method": "POST",
        "headers": {
          "Accept": "application/json",
          "Content-Type": "application/x-www-form-urlencoded"
        },
        "body": "hotel=Example+Hotel&website=https%3A%2F%2Fexample.com&name=Example+Owner&email=owner%40example.com"
      }
    }
  ],
  "workflows": {
    "request_group_quote": {
      "read": [
        "groupOffer"
      ],
      "kind": "user_handoff",
      "appliesWhen": "Three or more locations are being considered together.",
      "next": "Share the consultation URL so the person can choose a time and discuss scope and pricing. The self-serve signup action is for one venue."
    },
    "understand_product": {
      "read": [
        "business",
        "suitability",
        "billing",
        "plans",
        "groupOffer"
      ],
      "next": "Follow read links for exact scope, evidence, comparison and terms."
    },
    "start_subscription": {
      "requiredInputs": [
        "website",
        "venue",
        "email"
      ],
      "steps": [
        {
          "id": "suggest_details",
          "operationId": "guess_venue_details",
          "optional": true,
          "next": "confirm_details"
        },
        {
          "id": "confirm_details",
          "kind": "collect_missing_fields_or_confirm_guesses",
          "skipIf": "The person already supplied or confirmed all required details.",
          "next": "save_details"
        },
        {
          "id": "save_details",
          "operationId": "start_signup",
          "successRequires": [
            "/ok",
            "/id",
            "/next/plans"
          ],
          "next": "choose_plan"
        },
        {
          "id": "choose_plan",
          "kind": "user_choice",
          "choicesFrom": "/next/plans",
          "choose": [
            "plan",
            "billing_interval"
          ],
          "next": "approve_checkout"
        },
        {
          "id": "approve_checkout",
          "kind": "user_handoff",
          "selectFromResponse": {
            "step": "save_details",
            "plansPointer": "/next/plans",
            "planMatchField": "id",
            "billingOptionsField": "checkoutOptions",
            "billingMatchField": "interval",
            "handoffUrlField": "url"
          },
          "requiresUserApproval": true,
          "next": "verify_email"
        },
        {
          "id": "verify_email",
          "kind": "user_handoff",
          "next": "complete_venue_profile"
        },
        {
          "id": "complete_venue_profile",
          "kind": "authenticated_browser",
          "url": "https://app.akkrev.com/welcome/",
          "completion": "Access is active or in a valid trial, email is verified and the venue profile is complete."
        }
      ],
      "uncertainSave": "If /next/plans is absent, do not claim that signup is complete or blindly repeat the request. Use the regular signup form."
    },
    "check_crawler_access": {
      "operationId": "check_ai_crawler_access",
      "inspect": [
        "/robots",
        "/bots",
        "/homepage",
        "/llmsTxt",
        "/summary"
      ],
      "meaning": "Access observations only; not proof of recommendations, indexing or bookings."
    },
    "report_failed_task": {
      "operationId": "report_website_agents_cant_use",
      "completion": "HTTP 200 with ok=true. Pass tellYourUser to the person. This is a received report, not a completed website fix."
    },
    "request_hotel_check": {
      "operationId": "request_free_ai_check",
      "completion": "HTTP 200 with ok=true confirms the request. The check and email arrive later."
    },
    "existing_customer": {
      "kind": "authenticated_browser",
      "url": "https://app.akkrev.com/login/",
      "publicApiAccess": false
    }
  },
  "errors": [
    {
      "status": 400,
      "meaning": "invalid_request",
      "next": "Correct the encoding or body before submitting again.",
      "automaticRetry": false
    },
    {
      "status": 403,
      "meaning": "origin_rejected",
      "next": "Use the same-origin browser form or a server-side HTTP client.",
      "automaticRetry": false
    },
    {
      "status": 422,
      "meaning": "invalid_fields",
      "next": "Read error and correct the specified input fields.",
      "automaticRetry": false
    },
    {
      "status": 429,
      "meaning": "rate_limited",
      "next": "Stop requests. Honour Retry-After if supplied; otherwise try later.",
      "automaticRetry": false
    },
    {
      "status": 502,
      "meaning": "save_unconfirmed",
      "next": "A submission outcome may be uncertain. Check with the person before repeating a POST.",
      "automaticRetry": false
    },
    {
      "status": 503,
      "meaning": "unavailable",
      "next": "Use the browser form later or the published contact address.",
      "automaticRetry": false
    }
  ],
  "uncertainNetworkOutcome": {
    "GET": "A bounded retry is possible; stop if rate limited.",
    "POST": "Do not automatically repeat: the submission may already have been saved."
  }
}