Analytics
Promptwatch
API integration
Ship Analytics features without building the integration. Full Promptwatch API access via Proxy and 60+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Promptwatch
Common scenarios for SaaS companies building Promptwatch integrations for their customers.
Add a Generative Search Module to an SEO Platform
Traditional SEO tools need to track how brands appear in ChatGPT, Claude, Gemini, and Perplexity, not just Google. Embedding Promptwatch through Truto lets your platform offer AI visibility, citation ranking, and competitor heatmap data as a native GEO tier.
Power AI-Aware Content Workflows in a CMS
Content platforms want writers to publish drafts optimized for LLM citation, not just human readers. Promptwatch's content gap, query fanout, and optimization endpoints turn your CMS into a co-pilot that tells writers what to cover and rewrites drafts for better AI ingestion.
Monitor AI Sentiment and Hallucinations in Reputation Tools
PR and brand monitoring SaaS need to track what LLMs say about their customers' brands in real time. With Promptwatch, you can surface sentiment shifts, competitor mentions, and visibility drops across models as first-class signals alongside social and news monitoring.
Correlate AI Crawler Activity with Web Analytics
Web analytics and technical SEO platforms can ingest Promptwatch's AI crawler logs to show customers which pages GPTBot, ClaudeBot, and other agents are actually consuming. This closes the loop between bot scraping, citation appearances, and downstream referral traffic.
Build an Editorial Planning Tool Driven by Real LLM Prompts
Content strategy platforms can replace guesswork with the actual prompts users are asking AI models. Pulling content gap prompts and coverage scores from Promptwatch lets your tool auto-generate briefs targeted at topics where the customer's brand is currently invisible.
What You Can Build
Ship these features with Truto + Promptwatch
Concrete product features your team can ship faster by leveraging Truto’s Promptwatch integration instead of building from scratch.
AI Share of Voice Dashboard
Visualize brand vs. competitor visibility across LLMs using competitor heatmaps and visibility time series, refreshed on a schedule via Truto.
One-Click 'Optimize for AI Search' Action
Trigger Promptwatch's content creation endpoint in OPTIMIZE mode from your editor to rewrite an existing URL for higher LLM citation likelihood.
Citation Rank Tracker
Surface domain-level citation rank analysis and top-cited pages per LLM so customers can monitor whether they're gaining or losing source authority over time.
Content Gap Brief Generator
Pull content gap prompts with low coverage scores along with their query fanouts to auto-generate editorial briefs targeting unanswered LLM queries.
AI Crawler Traffic Reports
Ingest crawler events, trends, and top crawled pages to show customers which AI bots are hitting their site, how often, and on which URLs.
Real-Time Sentiment Alerting
Poll sentiment distribution and sentiment time series endpoints to fire alerts when LLM sentiment toward a tracked brand shifts negatively.
SuperAI
Promptwatch AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_promptwatch_auth_validates
Validate the API key and return associated project and organization details. For organization-level keys, optionally provide X-Project-Id header to validate access to a specific project.
list_all_promptwatch_brands
Get all brands for the project. Favicons are available from a separate public endpoint (not part of API v2). See Brand icons.
create_a_promptwatch_brand
Create or connect a brand to the project.
update_a_promptwatch_brand_by_id
Update brand relationship.
list_all_promptwatch_brands_visibility_over_times
Get brand visibility over time.
list_all_promptwatch_citations
Get citation analytics including top cited domains, URLs, and authority metrics
promptwatch_citations_list_domains_by_llm
Get domain citations grouped by LLM source
promptwatch_citations_list_domains_over_time
Get domain citation frequency over time for top domains
promptwatch_citations_list_llm_sources
Get top LLM sources with citation statistics
promptwatch_citations_list_rank_analysis
Get citation rank analysis for your domain over time
promptwatch_citations_list_self_frequency
Get self-citation frequency over time (citations pointing to your own domain)
promptwatch_citations_list_top_pages
Get top cited pages with average rank
list_all_promptwatch_competitor_heatmaps
Get competitor visibility heatmap data showing visibility percentages across different models and competitors. Returns a structured matrix ready for heatmap visualization.
list_all_promptwatch_content_gap_stats
Get aggregate content coverage statistics for the project
list_all_promptwatch_contents
Paginated list of content documents for the project. Filter by mode (CREATE or OPTIMIZE) and/or status (PENDING, IN_PROGRESS, COMPLETED, FAILED, STOPPED) to narrow results. Each row includes status, mode, title, linked prompt id/text, and timestamps but omits the full markdown content body — use GET /content/:id for the complete document. Pagination uses size (page length) with total/page/totalPages in the response, matching other v2 list endpoints.
get_single_promptwatch_content_by_id
Returns the full detail of a content document including its current generation status, content body (when available), linked prompt, and timestamps. Use this endpoint to poll after POST /content/create. Status progresses as: PENDING (queued) → IN_PROGRESS (AI generating) → COMPLETED | FAILED | STOPPED. During IN_PROGRESS, title and content fields may be present but are incomplete — content streams in progressively and should not be treated as final. Both fields are null while PENDING and only fully reliable once status reaches COMPLETED. STOPPED documents may retain partial content. The failedAt/failedReason fields are populated when status is FAILED; stoppedAt is set when STOPPED.
create_a_promptwatch_content
Starts asynchronous AI content generation in one of two modes: CREATE (generate new content from a prompt) or OPTIMIZE (rewrite an existing page URL for better AI visibility). Returns the document id and PENDING status immediately — the document then transitions through IN_PROGRESS while the AI generates content, and reaches a terminal state of COMPLETED (success), FAILED (error), or STOPPED (manually cancelled). Poll GET /content/:id to track progress. Requires project API key (or org key + X-Project-Id). Prerequisites: GET /prompts (promptId), GET /personas (personaId); optional recommendation ids from content-gap endpoints.
list_all_promptwatch_crawlers_events
List individual AI crawler HTTP requests (event log) for the project, with pagination and filters. Same data as the in-product crawler activity explorer.
list_all_promptwatch_crawlers_top_pages
Get top pages requested by crawlers
list_all_promptwatch_crawlers_trends
Get crawler activity trends over time. If the crawlers query parameter is omitted, the response includes all known AI crawler types that have data in the selected range (the server queries the full set of allowed crawler keys).
list_all_promptwatch_models
List all available LLM models supported by Promptwatch
list_all_promptwatch_monitors
Get all active monitors for the current project with average visibility and response counts in a date range
get_single_promptwatch_monitor_by_id
Get a single monitor by ID with full details
create_a_promptwatch_monitor
Create a new monitor
delete_a_promptwatch_monitor_by_id
Soft-delete a monitor
update_a_promptwatch_monitor_by_id
Update an existing monitor
create_a_promptwatch_persona
Create a new persona for the project
get_single_promptwatch_persona_by_id
Get a specific persona by ID
update_a_promptwatch_persona_by_id
Update an existing persona
list_all_promptwatch_personas
List all personas for the project.
delete_a_promptwatch_persona_by_id
Delete a persona by its ID.
list_all_promptwatch_projects
List all projects for the organization.
create_a_promptwatch_project
Create a new project (requires org-level API key, X-Project-Id header NOT required)
list_all_promptwatch_prompts
Get paginated list of prompts with search and filtering options
get_single_promptwatch_prompt_by_id
Get a single prompt by ID
update_a_promptwatch_prompt_by_id
Update a prompt's type and intent
delete_a_promptwatch_prompt_by_id
Soft-delete a prompt by ID
promptwatch_prompts_bulk_create
Create multiple prompts in a single request (max 100)
promptwatch_prompts_bulk_delete
Soft-delete multiple prompts by IDs
promptwatch_prompts_bulk_activate
Activate multiple prompts
promptwatch_prompts_bulk_deactivate
Deactivate multiple prompts
promptwatch_prompts_attach_tag
Attach tags to a prompt (creates tags if they don't exist)
promptwatch_prompts_bulk_tags
Attach tags to multiple prompts (creates tags if they don't exist)
create_a_promptwatch_prompt
Create a new prompt with specified text, type, and monitor association
list_all_promptwatch_query_fanouts
Get paginated list of prompts with extracted ChatGPT query fanout keywords
list_all_promptwatch_responses
Get paginated list of responses with search and filtering options
get_single_promptwatch_response_by_id
Get a single response by ID with full citations
promptwatch_responses_list_competitors
Get top competitor mentions from LLM responses
promptwatch_responses_list_mentions_time_series
Get brand and competitor mentions over time
promptwatch_responses_list_sentiment_distribution
Get sentiment distribution of LLM responses
promptwatch_responses_list_sentiment_time_series
Get sentiment changes over time for brand mentions
promptwatch_responses_list_summary
Get response summary including total responses and brand mentions
list_all_promptwatch_sentiment_time_series
Get brand sentiment time series data
list_all_promptwatch_sitemap_progreses
Get sitemap crawl progress with counts, percentage, HTTP status breakdown, and crawl health score.
list_all_promptwatch_tags
Get all tags for the project with prompt counts
create_a_promptwatch_tag
Create one or more tags for the project
delete_a_promptwatch_tag_by_id
Delete a tag and remove it from all prompts
update_a_promptwatch_tag_by_id
Rename an existing tag
list_all_promptwatch_visibility_time_series
Get brand visibility time series data
list_all_promptwatch_visitors_referrer_stats
Get referrer comparison stats with period-over-period changes
list_all_promptwatch_visitors_top_browsers
Get top browsers by visitor count
list_all_promptwatch_visitors_top_devices
Get top devices by visitor count
list_all_promptwatch_visitors_top_locations
Get top geographic locations by visitor count
list_all_promptwatch_visitors_top_pages
Get top pages by visitor count
list_all_promptwatch_visitors_top_sources
Get top referrer sources by visitor count
list_all_promptwatch_visitors_totals
Get total visitor counts over time
list_all_promptwatch_visitors_trends
Get visitor trends grouped by referrer
list_all_promptwatch_content_gap_prompts
List content_gap_prompts in Promptwatch. Returns id, prompt, type, intent, languageCode, createdAt, responseCount, and latestContentGap with score, date, and sitemap details. Date range cannot exceed 60 days.
list_all_promptwatch_latest_content_coverage
Get the latest content coverage for a prompt in Promptwatch. Requires prompt_id. Returns fields such as id, contentCoverageScore, explanation, report, sources, queryFanouts, sitemapTotalUrls, sitemapCrawledUrls, createdAt, and recommendations.
Why Truto
Why use Truto’s MCP server for Promptwatch
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Promptwatch in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Promptwatch account
Use Truto’s frontend SDK to connect your customer’s Promptwatch account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Promptwatch
Truto’s Proxy API is a 1-to-1 mapping of the Promptwatch API. You call us, we call Promptwatch, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Promptwatch’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Promptwatch on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users authenticate their Promptwatch account?
Truto handles the Promptwatch connection flow for your users, including credential validation via the auth validate endpoint. You don't need to build or store auth logic yourself — your users connect once and Truto manages the token lifecycle.
What entities can I read and write through this integration?
You can read brands, projects, prompts, personas, monitors, responses, citations, crawler events, visibility and sentiment time series, competitor heatmaps, content gap data, and visitor analytics. You can create and update brands, projects, prompts (including bulk create/delete/activate/tag operations), personas, monitors, tags, and content generation/optimization jobs.
How fresh is the data I get from Promptwatch?
Data freshness depends on Promptwatch's own monitor schedule for LLM querying and crawler log ingestion. Truto pulls on demand or on a polling cadence you configure, so the data your product surfaces is as current as the most recent Promptwatch run for that brand or monitor.
Is content generation synchronous or asynchronous?
The create content endpoint is asynchronous — it kicks off a CREATE or OPTIMIZE job. Your integration should submit the job, then poll the content endpoint by ID to retrieve the finished output once Promptwatch has completed processing.
Can I manage prompts in bulk?
Yes. Promptwatch supports bulk create, bulk delete, bulk activate/deactivate, and bulk tag operations on prompts, which is useful when onboarding a new customer's full prompt set or syncing large editorial calendars into monitors.
Does Truto normalize Promptwatch data into a unified schema?
There is no unified API for this category yet, so Promptwatch is exposed as a native integration with its own resource shapes. You get full access to Promptwatch-specific fields like citation rank, query fanouts, and content coverage scores without lossy normalization.
Promptwatch
Get Promptwatch integrated into your app
Our team understands what it takes to make a Promptwatch integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us