On this page · 6 sections
Indexing doesn't earn a citation, but a page Google hasn't indexed (stored in the index, the library Google's results and AI Overviews answer from) can't be cited in AI answers built on that index. This guide covers what Profound's MCP server and Answer Engine Insights API return, what they can't tell you, the workflow, setup for both servers per client, example prompts, and the limits and costs as of October 2026.
What does Profound tell you about cited pages?
Profound tells you which domains and pages AI engines cite for a category (Profound's unit for a tracked market or segment), how often, and how that changes by date, model, topic, region or persona. Its analytics tools give agents "read-only access to Profound's Answer Engine Optimization (AEO), brand visibility, citation, sentiment, shopping, prompt volume, and Agent Analytics data". AEO means making your pages easy for AI answer engines to find, trust and quote. Checked on October 17, 2026, the tools this workflow uses are:
Tool | What it returns |
|---|---|
| The signed-in user, organizations, regions and entitlements |
| IDs for the client and the category to report on |
| Tracked domains; "Domains are exact hostnames, so |
| Cited domains, pages or citation categories for a category and date range |
| "The raw text behind the visibility metrics" |
get_citations_report needs category_id, start_date and end_date. With entity: "page" it returns "one row per cited page URL", and page_filter narrows it to the URLs you name. Metrics are count, citation_share, rank and first_cited_at (pages only); limit goes up to 50 groups per page, with a cursor for the next. Two rules from the docs save failed calls: scope: "owned" and domain_filter work only with domain rows, and page_filter only with page rows. See our guide to AI visibility tracking for how to read citation share.
What can't Profound tell you about indexing?
Profound can't tell you whether Google has indexed a page. It reports citations for the prompts it runs, so a target page with no row could be unindexed, out of date in the index, or indexed and not chosen.
- It reports cited pages, not missing ones. You give the agent your target URLs, and the ones that come back with no row from
get_citations_reportare your uncited list. - Bot traffic isn't index status. Profound's
get_bots_reportshows "Which AI crawlers are visiting a domain, and how often". A crawl (a bot visiting the page) doesn't mean Google has it indexed.
FreshlyCited covers the Google side. It checks each URL and reports "Seen by Google" or "Invisible", and it doesn't track citations or check Bing's index. If you already know which pages Profound never shows as cited, check whether Google has indexed them with the free plan's 100 checks a month.
A Google check answers the question for Google's surfaces only: Google Search, AI Overviews and AI Mode, which draw on Google's index. The other engines a tracker watches work differently. "ChatGPT, Perplexity and other assistants use their own crawlers and search partners. We don't submit to them, and we don't claim to." So for an uncited page in ChatGPT or Perplexity, a Google result tells you about Google, not about them.
How does the Profound and FreshlyCited workflow run?
The workflow is one agent run with both servers connected: pull cited pages from Profound for your target URLs, check the uncited ones in FreshlyCited, and push only the ones Google hasn't indexed. Nothing starts it automatically; run it on demand or on a schedule, such as the first working day of each month.
- Confirm scope.
whoami, thenlist_organizationsandlist_categoriesfor the client.list_domainsshows the exact hostname Profound tracks. - Pull cited pages.
get_citations_reportwithentity: "page", the last 28 days, andpage_filterset to your target URLs. Match the tracked hostname exactly,wwwor not. - Find the uncited targets. Any target URL with no row is uncited for that window.
first_cited_aton the rows that do come back shows when each page was first cited. - Check indexing. FreshlyCited's
check_indexwith the uncited URLs. A standard check can take a few minutes, so the agent pollsget_job_status. Each URL comes back as "Seen by Google" or "Invisible". - Push only the invisible ones.
send_unindexed_to_indexeron the finished check starts a push with just the links Google can't see. Or usesubmit_index_jobwithsmart: true, which checks first and pushes only what Google hasn't seen (smart push explained). - Read the result later. FreshlyCited re-checks on days 1, 3 and 7.
get_job_statusshows the outcome;share_job_reportmakes a read-only client report link.
Uncited pages that are already "Seen by Google" need content and authority work instead. get_prompt_answers shows what the engines said and which sources they used for the prompts you care about; our guide on getting recommended by AI assistants covers what to change.
Using the API instead. The Answer Engine Insights API serves the same report at POST https://api.tryprofound.com/v2/reports/citations, with a /stream variant that returns rows as Server-Sent Events (Profound: Citations). The older Query Citations endpoint, POST /v1/reports/citations, is still active. Authenticate with an X-API-Key header (Profound API authentication). FreshlyCited's REST API comes with any pack or Agency plan, so a script can do the FreshlyCited half without MCP.
How do you set up both servers, per client?
Setup is two commands in Claude Code, or two URL entries in a shared config file. Both default to OAuth: Profound's MCP uses OAuth 2.1 and FreshlyCited supports OAuth 2.1 or an API key.
claude mcp add --transport http profound https://mcp.tryprofound.com/mcp
claude mcp add --transport http freshlycited https://freshlycited.com/mcpUse /mcp in Claude Code to sign in to each. Profound and FreshlyCited both document the same URL-only format for Cursor, so one .cursor/mcp.json holds both (connect FreshlyCited in Cursor):
{
"mcpServers": {
"profound": { "url": "https://mcp.tryprofound.com/mcp" },
"freshlycited": { "url": "https://freshlycited.com/mcp" }
}
}For a scheduled job that can't complete a browser sign-in, Profound supports "a long-lived Bearer token authentication based on an API key": create a key under Settings → Account → API Keys and enter it as Bearer <your_api_key> in the client's authentication settings (Profound MCP authentication). FreshlyCited takes an API key the same way; see the Claude Code setup guide.
Per client. Profound keys are personal: each one "belongs to the user who created it" and reaches data only in the organizations that user belongs to, and MCP calls return "only the data that user can access". Clients are separated by organization and category IDs, which the agent resolves with the discovery tools. In FreshlyCited each client is a workspace. The OAuth consent screen lets you pick the workspace and full or read-only access, and an API key sees only its own workspace and the clients under it. The agent can call list_tenants and pass the client's tenant_id so credits and results stay separate.
We checked Profound's endpoint on October 17, 2026 with an unauthenticated MCP initialize request. It returned a 401 that points the client to its OAuth metadata, the normal start of the sign-in:
curl -s -i https://mcp.tryprofound.com/mcp -X POST \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'
# HTTP/2 401
# www-authenticate: Bearer error="invalid_token", ... resource_metadata="https://mcp.tryprofound.com/.well-known/oauth-protected-resource/mcp"That metadata names https://auth.tryprofound.com/ as the authorization server.
What prompts can you give the agent?
These prompts work with both servers connected and name the tools so the agent doesn't guess. Replace the bracketed parts.
In Profound, find the category for [Client] with list_organizations and
list_categories, and the exact tracked hostname with list_domains. Then run
get_citations_report with entity "page", the last 28 days, and page_filter
set to the URLs in [target-pages.txt]. List the targets with no row.Run a FreshlyCited check_index on those uncited pages in the [Client]
workspace. When it finishes, use send_unindexed_to_indexer so only the
pages Google can't see are pushed. Give me Seen by Google vs Invisible.For uncited pages that are Seen by Google, use get_prompt_answers for the
prompts in topic [Topic] over the last 14 days. Which pages were cited
instead, and what do they cover that ours doesn't?A combined summary might look like this (illustrative, not from a real run):
Target page | Profound (28 days) | Google index | Action |
|---|---|---|---|
yoursite.com/pricing | Cited | Not checked | None |
yoursite.com/integrations/crm | No row | Invisible | Pushed |
yoursite.com/guides/security | No row | Seen by Google | Content review |
What are the limits and costs?
The two are billed separately, and Profound's MCP needs an Enterprise contract. As of October 2026:
| Profound | FreshlyCited |
|---|---|---|
MCP on | Enterprise (MCP overview) | Agency Pro ($199/month) and Agency Scale ($599/month) |
API on | Enterprise; the Trial plan lists API as "None" | Full API with any pack or Agency plan; read-only on the free tier |
Price | Enterprise is "Custom"; Trial is free for 7 days | Published on our pricing section |
Call limits | API: "600 requests per hour per API key" by default | Per-key limits (rate limits) |
Profound's plans are from its pricing page, where Enterprise tracks up to 9 answer engines and the trial runs 50 prompts daily on ChatGPT, Gemini and Google AI Overviews. The API rate limit is from its API introduction. Because get_citations_report pages at 50 groups, a long target list takes several calls.
On FreshlyCited, an index credit is reserved when you push and used only if the link is indexed; if it's still not indexed after the day-7 re-check, the credit comes back automatically (exclusions apply, such as pages that return an error or carry noindex). Check credits aren't refundable. Pages Google already has are skipped by default, and Refresh anyway sends an updated one for 1 index credit with no credit back. For sites you verify with an IndexNow key (an open "this page changed" notice that Bing and other participating engines accept; Google doesn't use it), pushes also go to Bing at no extra cost. Every parameter is in the FreshlyCited MCP tool reference, and the API and MCP feature page covers plans.
Neither tool can guarantee that Google indexes a page or that an AI engine cites it; citation still depends on quality, relevance and authority. The same workflow runs with Otterly.AI and FreshlyCited or Peec AI and FreshlyCited, and our guide to SEO MCP servers lists the other servers an agent can use. Our AI visibility tools compared page sets Profound's plans beside other trackers. The FreshlyCited developer docs cover install, auth and recipes.
Begin with the target pages Profound never shows as cited. Run a free index check: 10 free links to try, then 100 free checks a month, no card needed.

