FAQ

Frequently asked questions about Searchkeep: cost, data ownership, GEO, history, AI clients and upgrades.

Questions

What is Searchkeep?

Searchkeep is open-source SEO and GEO (generative engine optimization) analytics that you deploy to your own Cloudflare account. It keeps syncing Google Search Console, Bing Webmaster Tools and Cloudflare data into a D1 database, then lets you explore it in a dashboard or ask about it from any MCP client such as Claude, Cursor or ChatGPT.

How much does it cost?

Searchkeep is free and MIT licensed. You pay only for the Cloudflare resources it uses: one Worker, one D1 database and a cron trigger, which fit within Cloudflare’s free plans for typical sites. The history backfill is paced to stay under D1’s free limit of 100,000 rows written per day. Cloudflare Access is part of Zero Trust, which has a free plan for small teams.

Does my data leave my Cloudflare account?

No. Searchkeep has no backend of its own and sends no telemetry. Data flows from Google, Bing and Cloudflare APIs into your D1 database and is served only to you, through Cloudflare Access. When you ask a question over MCP, the tool results go to the AI client you chose to connect, just like any other MCP server.

What is the GEO funnel?

It follows each page through three steps of AI visibility: Crawled (AI crawlers fetched it, from Cloudflare), Cited (an AI answer referenced it, from the Bing AI Performance report, which has no API yet, so you import its CSV export from the dashboard) and Clicked (people arrived from an AI assistant, from Web Analytics referrers, alongside classic GSC and Bing clicks). Gaps between steps tell you what to fix.

How far back does the history go?

After you deploy, Searchkeep backfills as much as Google provides, which is 16 months, one day at a time. On the free D1 write quota the full backfill takes days to weeks. It never deletes anything, so your history keeps growing past the point where Search Console forgets it. The earlier you deploy, the more you keep.

By design. Searchkeep only uses first-party data you already have access to for sites you own. Backlink indexes and rank trackers depend on large-scale crawling or SERP scraping, which needs a vendor and is outside the project’s charter. Pair Searchkeep with a dedicated tool if you need them.

Do I need a paid Cloudflare plan?

No. AI crawler data requires the site to be proxied through Cloudflare (orange-clouded), which works on the free plan; Searchkeep identifies crawlers by user agent. AI referrals come from Web Analytics referrer hosts. Workers Free allows 10 ms of CPU per invocation, so the sync works in small batches; if sync units keep getting skipped, lower GSC_ROWS_PER_DAY or move to Workers Paid.

Can an AI agent deploy it for me?

Yes. The deploy guide is written as an idempotent runbook with a verification for every step. An agent with GitHub and Cloudflare MCP access can fork the repo, create the Worker, configure Access and set Secrets. A few steps need a human: authorizing the Cloudflare GitHub App, creating the Zero Trust organization, adding the service account in Search Console, generating the Bing API key and signing in through Access.

Which AI clients can connect?

Any MCP client that supports Streamable HTTP with OAuth, including Claude, Claude Code, Cursor and ChatGPT. Cloudflare Access acts as the OAuth server with dynamic client registration and PKCE, so there is no client ID to paste: the client opens a browser, you sign in, and it is connected.

How do I upgrade?

Open your fork on GitHub and click “Sync fork”. Workers Builds notices the new commit, builds and deploys, and the Worker applies any new D1 migrations itself on its next request. Your configuration lives in Worker Secrets, never in the repo, so upstream changes do not conflict with it.

Didn’t find your answer? Open an issue on GitHub.