Developers

Build on AgenticSEO

Every capability in the product is also a callable function. 64 functions are exposed identically over an MCP server — so any LLM or agent framework can drive them as tools — and as plain HTTP/JSON endpoints. Same token, same scopes, same rate limits, same audit log.

Back to home

Two transports, one surface

MCP server — point an MCP-capable client (Claude Desktop, Cursor, an OpenAI-compatible agent runtime, your own orchestrator) at the server URL and it discovers the tool list, schemas, and descriptions automatically.

{
  "mcpServers": {
    "agenticseo": {
      "url": "https://hbzbbsodddymrhmreqkd.supabase.co/functions/v1/mcp",
      "headers": { "Authorization": "Bearer $AGENTICSEO_TOKEN" }
    }
  }
}

REST API — the same functions as ordinary endpoints for backends and scripts that do not speak MCP.

MCP  https://hbzbbsodddymrhmreqkd.supabase.co/functions/v1/mcp
REST https://hbzbbsodddymrhmreqkd.supabase.co/functions/v1/api

Function catalog

Each function below is one MCP tool and one REST endpoint. Parameter schemas, response shapes, examples, and per-call credit metering are documented in the full integrator reference.

1. Site discovery & analysis

Enumerate a site, enqueue an analysis over a chosen subset, poll the job, and read the finished report. This is the core "one-time audit" flow that produces every AgenticSEO output (Layers 1–6).

discover_sitePOST /v1/discoveryscope: read

Enumerate every reachable page on a site before spending an analyze.

analyze_sitePOST /v1/reportsscope: analyze

Enqueue an AgenticSEO analysis over a discovered subset.

get_job_statusGET /v1/jobs/{id}scope: read

Poll job status; response carries report_id when done.

get_reportGET /v1/reports/{id}scope: read

Fetch a full report (metadata + per-page outputs across all 6 layers, plus Annex A when enabled).

list_reportsGET /v1/reportsscope: read

List recent reports visible to this token.

get_llms_txtGET /v1/reports/{id}/llms-txtscope: read

Return the site-wide llms.txt for a completed report.

2. AI Visibility (prompts, citations, competitors)

Measure whether real AI engines (ChatGPT, Gemini, Perplexity, Claude) cite your customer for the prompts their buyers actually type. Cold-start from a URL, or read rolled-up scores + trends once monitoring is on.

analyze_ai_visibilityPOST /v1/visibility/analyzescope: analyze

Cold-start: URL → prompt set → per-prompt rank + share-of-voice in one call.

get_visibility_scoresGET /v1/visibilityscope: read

Latest AI Visibility rollup + diagnostics block.

get_retrieval_pipelineGET /v1/pipelinescope: read

Verdict per stage of the retrieval chain, and the first stage that blocks the rest.

get_authority_signalsGET /v1/authorityscope: read

Standing off the client's own website: citation share, corroboration, search standing, reviews, links.

get_source_ecosystemGET /v1/source-ecosystemscope: read

Which kinds of source the engines cite, where the client is absent, and the original asset that would fix it.

enable_visibility_monitoringPOST /v1/visibility/monitorscope: analyze

Turn on scheduled recomputes for a company.

get_visibility_trendGET /v1/visibility/trendscope: read

Time-series scores + deltas + new/lost competitors.

list_promptsGET /v1/promptsscope: read

Tracking prompts + latest run per prompt.

get_prompt_historyGET /v1/prompts/{id}/historyscope: read

Per-prompt run history for charting change over time.

run_prompts_nowPOST /v1/visibility/runscope: analyze

Headless re-score: fan out every enabled tracked prompt and compute a fresh visibility_scores row.

get_run_statusGET /v1/visibility/status

Poll latest score, enabled prompts, complete runs (30d), and in-flight runs.

get_competitor_breakdownGET /v1/benchmarks/breakdownscope: read

Per-brand rollup: cited_count, voice_share, avg_position, is_user_brand.

suggest_benchmark_promptsPOST /v1/benchmarks/suggest-promptsscope: analyze

AI-generated new tracked prompts targeting competitor-dominated territory.

3. AI crawler access

Standalone Layer 3 audit — cheap, no prior report or discovery needed.

get_ai_crawler_accessGET /v1/crawler-access?url=<site-url>scope: read

/robots.txt allow/deny for every tracked AI crawler + copy-paste fix snippet.

4. FAQ drafting & publishing

Convert every tracked content gap (a prompt no page on the site answers) into copy-paste FAQ Q&A pairs, then optionally forward those cached drafts to a connected downstream target (Quid today; webhook / WordPress / HubSpot adapters slot in server-side).

draft_faqs_for_gapsPOST /v1/faqs/draftscope: faq:draft

Draft copy-paste FAQ Q&A pairs for tracked-prompt content gaps.

publish_faq_to_targetPOST /v1/faqs/publishscope: faq:publish

Forward cached FAQ drafts to a connected downstream target.

resolve_gapsPOST /v1/gaps/resolvescope: faq:publish

Record that content gaps are handled on your side (completes workflow step 4).

list_publish_targetsGET /v1/faqs/targets

List downstream targets available to publish_faq_to_target.

5. Competitor set management

Inspect and curate the competitor set that powers Citation Presence and share-of-voice comparisons. analyze_ai_visibility seeds an initial auto-discovered list; these tools let a partner UI (Quid, etc.) show it, add missing competitors, and prune ones the user rejects — without touching AgenticSEO's own UI.

list_competitorsGET /v1/competitors

List tracked competitors (source = auto | manual).

discover_competitorsPOST /v1/competitors/discoverscope: competitors:write

Re-run auto-discovery. Preview by default; persist=true writes new suggestions.

add_competitorsPOST /v1/competitorsscope: competitors:write

Add manual competitors (source = "manual", never auto-swept).

remove_competitorsPOST /v1/competitors/removescope: competitors:write

Soft-delete competitors by id or name.

9. Health

Unauthenticated probes for uptime checks.

—GET /v1/health

Returns { status: "ok" }.

6. Gap pages (persisted briefs → live URLs)

The Prompt Audit report drafts brand-new pages for tracked prompts that no existing page on the site answers. Those briefs are now persisted in `public.gap_pages` and can be flipped to "published" — at which point they render at https://agenticseo.live/g/<slug>, appear in the sitemap on the next build, and become readable by every AI crawler. This group is the partner-facing surface for listing, reading, publishing, and unpublishing them without touching the AgenticSEO UI.

list_gap_pagesGET /v1/gap-pagesscope: gap_pages:read

List drafted + published gap pages for a company.

get_gap_pageGET /v1/gap-pages/{id_or_slug}scope: gap_pages:read

Fetch one gap page (all 6-layer fields + outline + rationale).

publish_gap_pagesPOST /v1/gap-pages/publishscope: gap_pages:publish

Flip drafted gap pages to published (live at /g/<slug>).

unpublish_gap_pagePOST /v1/gap-pages/unpublishscope: gap_pages:publish

Return a published gap page to draft status.

7. Google Search performance (Search Console)

Real, measured Google Search data for a company — clicks, impressions, CTR, impression-weighted average position, a daily trend, and the top 25 queries and pages ranked by impressions. Sourced live from Google Search Console via the connected Google account for that client, so these are actuals, not a vendor estimate. This is the classical-search counterpart to get_visibility_scores (Share of AI Voice): pair them to show a customer both halves of discoverability in one view. Included on every tier and metered at zero credits, because Search Console is a free first-party connection.

get_gsc_performanceGET /v1/gsc/performance

Clicks, impressions, CTR, average position + top queries/pages.

list_gsc_propertiesGET /v1/gsc/properties

Verified properties covering this company’s site + the bound one.

select_gsc_propertyPOST /v1/gsc/propertyscope: analyze

Bind one property to the company for all later reads.

7. Prompt-to-page mapping, engines & PR narrative

The mirror image of gap pages: which existing page best answers each tracked question, which answer engines a company can be measured across, and which publishers and authors the engines actually cite when they describe the brand. All read-only.

get_analyze_visibility_statusGET /v1/visibility/statusscope: read

Poll an async analyze_ai_visibility job until it finishes.

list_prompt_page_mappingsGET /v1/prompts/pagesscope: read

For every tracked question, the best existing page that answers it plus a relevance score.

get_prompt_page_mappingGET /v1/prompts/:id/pagesscope: read

Best and second-best page for a single tracked question.

list_enginesGET /v1/engines

Answer engines this company can be measured across, and which its plan includes.

list_citation_sourcesGET /v1/pr/sources

Publishers and domains the engines cite about this brand and category.

list_cited_authorsGET /v1/pr/authors

Journalists and analysts whose bylined articles the engines cite.

get_narrative_analysisGET /v1/pr/narrative

Trailing-window narrative view with reinforce and respond action lists.

8. Attribution, projects, workflow & idea generation

Tie visibility work to real traffic, segment an OEM footprint into projects, check how fresh a client's data is, and generate grounded recommendations for a weak benchmark metric.

sync_ai_referralsPOST /v1/attribution/syncscope: analyze

Pull AI-referred sessions from Google Analytics 4.

get_ai_referral_summaryGET /v1/attribution/summary

Before-and-after AI referral traffic around a pivot date.

list_projectsGET /v1/projectsscope: projects:read

OEM only — list projects under the calling partner token.

create_projectPOST /v1/projectsscope: projects:write

OEM only — create a project.

assign_company_to_projectPOST /v1/projects/assignscope: projects:write

OEM only — map a company into one of the partner's projects.

resolve_companyGET /v1/company/resolvescope: read

Resolve a company visible to this token by url, host, brand name or id.

get_workflow_statusGET /v1/workflow/statusscope: read

Freshness snapshot for a client, with a green/amber/red staleness verdict.

generate_benchmark_ideasPOST /v1/visibility/ideas

Grounded recommendations for a weak benchmark metric.

8. Commerce — product / SKU visibility

Classic AI visibility answers "do the engines know this brand?". Commerce answers the harder retail question: for each individual product, does ChatGPT / Gemini / Perplexity mention it, does it actually recommend it, where does it place it in a list, and which competitor products get named instead. The flow is: sync a catalog once (Shopify, WooCommerce, a Google Merchant / RSS feed, CSV, or a raw products[] payload), then scan on a schedule and read the rollup. Scans deliberately score a ROTATING, priority-weighted sample of the catalog rather than every SKU every cycle — thousands of engine calls per cycle would be unaffordable and the answers barely move day to day. High-priority SKUs are revisited often, the long tail is covered less frequently, so seeing fewer data points for a tail SKU is normal and not an error to retry around. Driving commerce headlessly over MCP / REST requires the Enterprise plan or an OEM agreement with commerce access switched on (in-app SKU monitoring is available on Pro and Agency). Unentitled calls return 403 plan_required; an agreed monthly SKU-check ceiling returns 429 commerce_cap_reached.

sync_product_catalogPOST /v1/commerce/catalog/syncscope: analyze

Import or refresh a product catalog so its SKUs can be monitored.

list_productsGET /v1/commerce/productsscope: read

List monitored SKUs, highest priority first, with their last scan result.

scan_product_visibilityPOST /v1/commerce/scanscope: analyze

Score this cycle’s rotating SKU sample across the answer engines.

get_product_visibilityGET /v1/commerce/visibilityscope: read

Commerce rollup + the invisible-SKU work queue.

10. Work log, go-live dates, connect links & new pages

Read and record the work: what was found and when it went live, Visibility recommendations, client connect links, and publishing new pages one at a time.

get_work_logGET /v1/work/log

Each finding with its status, work rounds, went-live dates and the 14-day measurement wait.

get_reading_scheduleGET /v1/readings/schedule

When AI-answer readings were last taken and the next is due.

get_connect_link_statusGET /v1/connect-links

Status of client connect links.

record_went_live_datePOST /v1/work/went-livescope: work:write

Record the date changes went live.

list_visibility_recommendationsGET /v1/visibility/recommendations

Recommended next changes from stored readings, each with a key.

send_recommendation_to_opportunitiesPOST /v1/visibility/recommendations/sendscope: work:write

Send one recommendation to Opportunities.

send_client_connect_linkPOST /v1/connect-linksscope: connect_links:send

Email the client a single-use 14-day connect link.

publish_new_pagePOST /v1/pages/publishscope: pages:publish

Publish ONE approved new page to the connected website.

unpublish_new_pagePOST /v1/pages/unpublishscope: pages:publish

Undo: take an app-published page off the website.

Quick start (REST)

Authentication is a bearer token on every request. The typical audit flow is discover → analyze → poll → read.

# 1. Enumerate the pages on a site
curl -X POST "https://hbzbbsodddymrhmreqkd.supabase.co/functions/v1/api/v1/discovery" \
  -H "Authorization: Bearer $AGENTICSEO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'

# 2. Queue an analysis over the pages you care about
curl -X POST "https://hbzbbsodddymrhmreqkd.supabase.co/functions/v1/api/v1/reports" \
  -H "Authorization: Bearer $AGENTICSEO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","pages":["/","/pricing","/product"]}'

# 3. Poll the job, then read the finished report
curl "https://hbzbbsodddymrhmreqkd.supabase.co/functions/v1/api/v1/jobs/JOB_ID" -H "Authorization: Bearer $AGENTICSEO_TOKEN"
curl "https://hbzbbsodddymrhmreqkd.supabase.co/functions/v1/api/v1/reports/REPORT_ID" -H "Authorization: Bearer $AGENTICSEO_TOKEN"

Scopes

Tokens are least-privilege: read-only by default, with write and spend capability granted per scope.

  • read — All GET endpoints (list_reports, get_report, get_visibility_scores, list_prompts, get_prompt_history, get_ai_crawler_access, list_publish_targets, get_llms_txt, get_gsc_performance, list_gsc_properties, list_products, get_product_visibility).
  • analyze — Write / enqueue endpoints (analyze_site, analyze_ai_visibility, enable_visibility_monitoring, sync_product_catalog, scan_product_visibility).
  • faq:draft — draft_faqs_for_gaps · POST /v1/faqs/draft.
  • faq:publish — publish_faq_to_target · POST /v1/faqs/publish · resolve_gaps · POST /v1/gaps/resolve.
  • competitors:write — add_competitors · remove_competitors · discover_competitors (persist=true). GET list_competitors and preview discover_competitors do NOT require this scope.
  • gap_pages:read — list_gap_pages · get_gap_page (MCP) · GET /v1/gap-pages · GET /v1/gap-pages/{id_or_slug}.
  • gap_pages:publish — publish_gap_pages · unpublish_gap_page (MCP) · POST /v1/gap-pages/publish · POST /v1/gap-pages/unpublish.
  • work:write — record_went_live_date · send_recommendation_to_opportunities · POST /v1/work/went-live · POST /v1/visibility/recommendations/send.
  • connect_links:send — send_client_connect_link · POST /v1/connect-links.
  • pages:publish — publish_new_page · unpublish_new_page · POST /v1/pages/publish · POST /v1/pages/unpublish.
  • commerce (account entitlement, not a token scope) — Headless product / SKU visibility: sync_product_catalog · scan_product_visibility · list_products · get_product_visibility, over both transports.

Getting a token

Tokens are issued by Traction Gap Partners; there is no self-serve key page. Email support@tractiongappartners.com with your company, the websites or brands the token should see, whether you need MCP, REST, or both, the scopes you need, and the technical owner of the integration. Tokens are scoped to your account and its clients, rate-limited per hour, and every call is attributed in the audit log. Headless commerce (product/SKU) functions require an Enterprise or OEM entitlement.

Programmatic access is available on Enterprise and OEM agreements. See pricing or write to info@tractiongappartners.com.

Quickstart you can send to a developer

The public /docs/quickstart page needs no sign-in. It covers both endpoints, the rule that the key stays on the server, every supported function with its permission, the audit sequence, and a paste-ready brief for an AI coding engine. A Word version downloads from the page.

Full reference

The complete integrator reference — parameter schemas, response bodies, MCP system prompt, calling flows, error envelope, rate limits, credit metering, and a downloadable Word version — lives at /docs/api. It is behind sign-in because it covers token handling and account-specific detail; ask support for access alongside your token request.

Related

AI visibility resources

The guides, comparisons, and free tools behind AgenticSEO.

Best AEO tools (2026)Buyer's guide comparing nine answer-engine optimization vendors on tracking, execution, publishing, and pricing transparency.AI Visibility Tools MatrixMaintained matrix of measurement-only versus execution-layer platforms across twelve capabilities, with sources and a last-updated date.Profound alternativeWhere Profound stops at measurement and what an execution layer adds: generated schema, FAQ drafts, and approved publishing.Semrush AI Visibility alternativeSemrush reports AI mentions; AgenticSEO fixes the pages behind them. Feature-by-feature comparison with pricing notes.AgenticSEO alternativesAn honest list of alternatives to AgenticSEO and TGP Agentic SEO, with the buyer profile each one actually fits.AI visibility platform for agenciesClient-scoped websites, white-label AI visibility reports, per-client audit schedules, and API access for agency teams.Best AI visibility tools for agenciesWhat agencies should require: multi-client scoping, white-label output, publishing rights, and defensible measurement.AI visibility trackingHow to measure Share of AI Voice on a weekly cadence, with the formula, competitor set, and per-engine rollup.Auto-publishing SEO updatesHow approved SEO and schema fixes reach WordPress, HubSpot, Webflow, and GitHub-hosted sites without manual copy-paste.Fix AI visibility automaticallyThe seven-step audit-to-publish loop, what the agent does unattended, and which steps still need a human decision.Agentic SEO architectureWhitepaper on the six components of an agentic SEO system, from crawl diagnostics to publish verification.FAQ schema generatorPaste your questions and answers, get valid FAQPage JSON-LD you can drop straight into a page head.