- Brand
- LLM Pulse
- Category
- Marketing
- Primary Subcategory
- AI Search & LLM Visibility (AEO/GEO)
Integration details
Description
LLM Pulse helps teams monitor how their brands, competitors, prompts, and sources appear across AI answers. Use it to explore visibility, mentions, citations, sentiment, recommendations, and traffic signals from your LLM Pulse workspace directly in ChatGPT.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- AI Search & LLM Visibility (AEO/GEO)
- Secondary Subcategories
- None listed
- Brand
- LLM Pulse
- Access
- Account required
- First tracked
- 2026-09-16
- Tool count
- 131
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for LLM Pulse
Get updates when LLM Pulse’s Discoverability Score or category rank changes.
Competing in ChatGPT AI Search & LLM Visibility (AEO/GEO)
View Category131 tools agents can invoke
Accept suggested prompts: track up to 100 pending suggestions from the Suggested prompts queue as prompts, each in its own country and language, optionally tagged with one tag (tag_ids or tag_names; create_missing=true creates a missing name). The prompt limits are checked first: when the new prompts would exceed the plan nothing is accepted (ERR_LIMIT_REACHED). Suggestions that are no longer pending come back in skipped. In the response, prompts_available=null means unlimited.
accept_suggested_prompts
Ask the LLM Pulse support assistant a product question. The question and account plan are processed by AI providers against the official LLM Pulse knowledge base. The full question and answer, user identity, and plan are stored for support review and improvement, and a shortened copy is sent to the support team. Limited to 20 questions per user per day and excludes account-specific billing or invoice support.
ask_support
Assign prompt tags: attach tags (collections) to existing prompts in bulk. Accepts up to 500 prompt_ids and 50 tags per request. Tags can be supplied as ids or case-insensitive names, and create_missing=true creates names that do not exist. The operation is idempotent and does not duplicate assignments.
assign_prompt_tags
Compare two runs of a GEO audit check by check: what is new, fixed, changed, appeared or disappeared, plus the score and metric deltas. Defaults to the latest completed run against the one before it.
compare_geo_audit_runs
Create an annotation: mark a date in the project timeseries with a title + description. Useful when the agent detects a notable change (campaign launch, product update, news event) and wants to flag it. Annotations are scoped to the project and visible to all members.
create_annotation
Create a tag (Collection) in a project. Optionally attach existing prompts in the same call. Tag name is unique per project (case-insensitive).
create_collection
Create a competitor in a project. Validates against the max competitor limit of the plan. Triggers async association recalculation: the competitor row returns processing=true immediately, and mentions/SOV/dashboards include it once the recalculation finishes (typically minutes, longer on large projects). competitors_remaining=null in the response means unlimited.
create_competitor
Create GEO audits for a domain or URL: one audit per audit type, each starting its first run at once. cadence weekly or monthly makes it recurring (only for types whose checks are tracked run to run; others run once) and counts against the plan limit of recurring audits.
create_geo_audit
Create a GEO Writer (formerly Content Intelligence) task. task_type selects a content brief, full draft, existing-content update, PR/media analysis, or custom output. update requires existing_content or existing_content_url. A task can reference an existing prompt_id or use custom_topic or user_instructions. Returns the task id and initial status.
create_intelligence_task
Create a new project (a brand or website to track) in one call, with its prompts, competitors, collections (prompt tags) and weekly email subscription; no wizard draft is needed. Prompts are queued for execution, so a first baseline arrives within minutes. Enforces the same plan gates and quotas as the in-app wizard. The response lists same_domain_projects, the projects already tracking the same domain; a second project for a domain is never blocked. external_identifier makes creation idempotent for embed accounts.
create_project
Create prompts: add them to a project in bulk. Validates against available prompt limits and skips duplicates. New prompts run once within minutes of creation and then join the weekly schedule. brand_kind and prompt_type are classified asynchronously and become available after creation. In the response, prompts_available=null means unlimited, and tracked=false (with untracked_reason and a warning) means the project does not run on the schedule, so the new prompts will not run until that changes.
create_prompts
Create a technical GEO report for a URL and country, run as a bundle of analyses: crawlability, schema, content readiness, discoverability, site structure, robots.txt, llms.txt, agent readiness, and AI visibility. This quota-consuming action starts multiple scraping and AI analysis jobs and typically takes 3-10 minutes. Each successfully created report consumes one daily report unit, so this 9-report bundle needs 9 units available before launch. The in-app chat requests confirmation before execution. Returns the batch id, created report ids, and any launch failures.
create_technical_geo_report
Create a webhook subscription: subscribe a public HTTPS URL to a project event. We will POST a signed JSON payload to the URL every time the event occurs (new mention, new citation, execution completed, negative sentiment detected, recommendation or intelligence task completed). Available on Scale and above plans. Deliveries are signed: the X-LLMPulse-Signature header carries sha256=<HMAC-SHA256 hex of the raw body> using the whsec_ secret this call returns (store it; rotating requires delete + recreate). Idempotent for the same project + event + URL: calling again returns the existing subscription, unless the API key or OAuth connection that created it was revoked, or that API key no longer covers the project; then it is replaced by a new subscription with a new secret. The secret of an existing subscription is returned again only to the API key or OAuth connection that created it; any other credential gets the subscription without the secret field. A subscription created over an MCP OAuth connection before API 1.58.0 has no recorded creator, so it never returns its secret again: delete it and create it again for a new one. X-LLMPulse-Event and X-LLMPulse-Delivery headers identify the event and delivery.
create_webhook_subscription
Delete a user-created timeline annotation from a project. Non-admin users can delete only their own annotations; admins can delete any user-created annotation. System annotations are protected. Requires the exact annotation id. The in-app chat requests confirmation before execution. Available on every plan.
delete_annotation
Delete a tag/collection from a project. The tag is removed irreversibly, but its prompts remain and only the grouping disappears. Requires the exact collection id. The in-app chat requests confirmation before execution.
delete_collection
Delete a competitor from a project. This irreversible action removes the competitor immediately, frees a competitor slot, and purges its mentions, citations, sentiment, and share-of-voice history in a background job. Its ads, shopping products, local businesses and brand entities are kept and move to the project or another competitor they match, or stay unattributed. Requires the exact competitor id. The in-app chat requests confirmation before execution.
delete_competitor
Delete (archive) a GEO audit: it stops running and leaves the list. Creating the same audit again restores it with its history.
delete_geo_audit
Delete a whole project. This irreversible action hides the project immediately, frees a project slot, and purges all of its prompts, answers, mentions, citations, sentiment, competitors and metrics history in a background job. Nothing can be restored afterwards. Requires the exact project; call it only when the user explicitly asked to delete that project. The in-app chat requests confirmation before execution.
delete_project
Delete a prompt from a project. This irreversible action removes the prompt immediately, frees a prompt slot, and purges its executions, mentions, citations, sentiment, and related GEO Writer tasks in a background job. Requires the exact prompt id. The in-app chat requests confirmation before execution.
delete_prompt
Delete a webhook subscription by ID. The target URL stops receiving events immediately. Works on every plan, so a subscription paused below Scale can still be removed.
delete_webhook_subscription
Finalize a project draft: create the project from a completed wizard draft. The operation revalidates every plan gate and quota. It is idempotent, and an already-finalized draft returns its existing project.
finalize_project_draft
Generate prompt suggestions with the same generators as the app's Add prompts wizards and save them to the project's Suggested prompts queue. Sources: website (from the scraped website, 80% non-brand / 20% brand), keyword (from a keyword or the project profile, optional competitor angle), topic, reddit (from Reddit discussions of a topic or brand), paa (Google People Also Ask for up to 5 keywords), reputational (brand reputation questions), translate (the project's prompts of another locale) and search_console (the property's top queries; Growth plan or above). Runs asynchronously: returns a run with status processing and the id to poll. The suggestions wait in the queue and nothing is tracked until they are accepted. country_code and language_code default to the project's.
generate_prompt_suggestions
Get the AI Model Insights position distribution for the project brand and an optional competitor. brand_kind=non_brand matches the in-app default and excludes brand-focused prompts. When brand2 is omitted (or equals brand1) it defaults to the largest other competitor by mentions. Weekly and monthly buckets cover full calendar periods, including the complete first period containing the range start.
get_ai_model_position_distribution
Get an AI model summary: a per-AI-model breakdown of mentions, citations, sentiment, and weighted visibility for the brand and competitors. All models are returned in one response. brand_kind=non_brand matches the in-app AI Model Insights default and excludes brand-focused prompts. mentions_market_share is the independent mention rate of each actor within a model, so values can overlap and do not form a 100% share partition.
get_ai_model_summary
Get aggregate Google AI Overview result availability over time plus per-prompt breakdowns.
get_ai_overview_results
Get AI traffic for a project: the human visits arriving from AI assistants (ChatGPT, Perplexity, Gemini, Claude, Copilot, Grok, Mistral, Meta AI, DeepSeek), measured from the connected web analytics provider (Google Analytics 4, Adobe Analytics, PostHog, Plausible, Matomo or Piano). Returns per-day users, sessions and conversions grouped by AI source, plus totals and conversion rate. Requires a connected web analytics provider. Available on Growth and above plans.
get_ai_traffic
Get the account plan, usage, remaining quotas (prompts, projects, competitors, tasks) and API rate limits for the authenticated account. plan is the internal key and plan_name its display name (e.g. Scale++). The response includes the remaining capacity for quota-consuming creation and analysis actions. An unlimited quota returns limit and remaining as null with unlimited=true. The subscription block is only present for callers who may access Billing & Plans. For an API key limited to some projects, plan, plan_name, subscription and team_members are absent, and prompts and intelligence_tasks show only the capacity left (prompts.used counts those projects' prompts).
get_account_usage
Get agent traffic: aggregated AI bot traffic for a project from Cloudflare or uploaded server logs. Returns per-day request counts grouped by bot or by company. Available on Scale and above plans.
get_agent_traffic
Get detailed information about a single AI answer/response including full response text, mentions, citations, sentiments, and sources. Sentiments need the Growth plan or above and shopping products the Scale plan or above; below those plans the fields are left out and plan_required_fields lists them (empty when none is left out).
get_answer
Get sanitized cached page content plus page-cache metadata and mention snippets for one cited URL. Text longer than 15,000 characters is truncated (content.text_truncated=true, full length in content.text_total_chars); use max_chars to shrink the slice and offset to page through the rest.
get_cited_url_content
Get cited URL details: URL-level citation intelligence for one cited URL, including page-cache metadata and mention evidence. Pass include_series=true to also get citation_series: the answers citing the URL by AI model and per period of the account tracking cadence, dated by execution time in Europe/Madrid.
get_cited_url_details
Get competitor details: matching names, mobile app IDs, and icon URLs.
get_competitor_details
Get one custom report: its configuration (date range, model, tag, brand type and competitor filters, schedule, layout) and the data of every widget as the report page shows it today (KPIs, time series, donuts, per-model bars and tables). Read-only. Requires the Scale plan or above.
get_custom_report
Get one GEO audit: its type, target, cadence and schedule, status, latest run (score and new, fixed and regressed issues) and open issue counts.
get_geo_audit
Get one run of a GEO audit with its score, metrics and full result_data (the same report the app shows for that run).
get_geo_audit_run
Get a GEO Writer (formerly Content Intelligence) task by ID, including status and result data when completed.
get_intelligence_task
Get mentions by citing domain: for responses where a given source domain is cited, the share of those responses that mention the brand vs each competitor (brand + competitors sum to 100% per domain). Accepts a list of domains so the whole matrix is one call. Answers questions like "when gmac.com is cited, which brands get mentioned?".
get_mentions_by_citing_domain
Get the owned-media profiles a project claims, per platform (YouTube, app stores, Instagram, Facebook, TikTok, LinkedIn, Reddit): each profile URL, handle, name, avatar and profile scrape status, the main profile and the extra ones, the claimed subreddits and Reddit usernames, and whether the platform is connected. Also returns settings, the current value of every field the update accepts. Available on Growth and above plans.
get_owned_media_profiles
Get the summary of one Owned Media tab: how often AI answers cite a platform, how many of those citations are the account own profile and content, and its share, with the previous period of the same length and the change against it (percent for counts, percentage points for share_pct). Also returns the weekly series (yours against everyone else), the breakdown by AI model and by country, the content type (reel, post, Shorts, live) and content age buckets. provider=overview returns the per-platform rollup across every connected platform; provider=mobile_apps adds the per-store totals. provider=youtube also needs the YouTube Intelligence permission for team members. Defaults to the last 30 days. Available on Growth and above plans.
get_owned_media_summary
Get project details: tracked (false when the project does not run on the schedule; untracked_reason says why: paused or project_limit), matching names, additional owned domains, industry, business model, primary products, target audience, prompt counts per brand focus (brand / brand_other / non_brand), prompt_limit (the project's own prompt limit, null without one), stats.prompts_available (how many prompts can still be added to the project now: the lower of its free slots under prompt_limit and the account's remaining prompts, null when neither caps it), data_coverage for the AI models, countries, and languages that have data, and the data connections behind the Search Console, AI traffic and web analytics, and agent traffic tools: search_console (status, the primary property and properties_count, how many properties Google still accepts), ai_traffic and agent_traffic (status and provider). status is connected, reconnect_required (access refused: web analytics reads and Search Console reads without property fail, synced AI and agent traffic still answer) or not_connected; agent_traffic is imported when only imported logs answer. Each carries connect_url, the page where the user connects or reconnects it.
get_project_details
Get a project wizard draft: state, current step, accumulated data. include_suggestions returns cached suggestions for the current step (never triggers AI).
get_project_draft
Get a prompt generation run: its status (processing, completed or failed), the suggestions it saved to the Suggested prompts queue (id, prompt, locale, status) and, when it failed, an error with code and message. Runs are kept for 24 hours; their suggestions stay in the queue.
get_prompt_generation
Get a prompt summary: per-prompt aggregated metrics (responses, mentions, citations, mention_rate, citation_rate, avg_mention_position, avg_position, brand sentiment) with pagination and sorting. mention_rate (also accepted as visibility) is the percentage of responses mentioning the brand. Returns brand-only metrics broken down by individual prompt. Supports breakdown=model to get per-prompt per-model metrics. Field notes: visibility and mention_rate are the same value (historical alias, both kept for compatibility); avg_mention_position is the average rank of the brand among the brands named WITHIN the answers that mention it, and it is the position behind ai_visibility_score; avg_position is a different thing, the average rank of the brand cited URL among the URLs an answer cited (background citations excluded). Each row also carries the prompt classification (country_code, language_code, prompt_type, brand_kind, tags). sentiment_responses counts the responses with a brand sentiment verdict; the five sentiment_* fields are percentages of that count and net_sentiment is positive minus negative (-100 to 100), all null when the count is 0.
get_prompt_summary
Get full details for one recommendation run, including items, source references, and report data. Each item carries source_refs codes (e.g. P1, C2); resolve them against the report_data indices (prompts_index, citations_index, own_content_index), which are always included once per response.
get_recommendation
Get the scores of one reputation report as flat rows: one row per (analyst model, brand, dimension, attribute) with its 0-100 score and the reasoning the model gave. The report id comes from the project reputation-report history. Scores remain separate for each analyst model, and the model filter selects a single analyst view. Requires reputation monitoring to be enabled on the account.
get_reputation_report
Get top Google Search Console landing pages for a project over a date range, ranked by impressions, clicks, CTR, or average position, with pagination. Supports filters, non-web search types, and data_state=all for recent incomplete days. Lists at most 25,000 pages per request (truncated: true when reached; start_row reads the next block) and counts each page separately rather than per property, so the rows are not a complete set and can differ from the property or filter totals. Requires a Search Console connection.
get_search_console_pages
Get top Google Search Console search queries for a project over a date range, ranked by impressions, clicks, CTR, or average position, with pagination. Supports filters, non-web search types, and data_state=all for recent incomplete days. Lists at most 25,000 queries per request (truncated: true when reached; start_row reads the next block) and excludes anonymized queries, so the rows are not a complete set and add up to less than the property or filter totals. Requires a Search Console connection.
get_search_console_queries
Get Google Search Console rows for a combination of up to 3 dimensions over a date range (for example page and query, or date and page), each row carrying impressions, clicks, CTR and average position, ranked by impressions, clicks, CTR or position, with pagination. Each dimension is its own field in the row; property groups by Search Console property when several are read. Supports filters, non-web search types, aggregation_type and data_state=all for recent incomplete days. Lists at most 25,000 rows per request (truncated: true when reached; start_row reads the next block), and query rows exclude anonymized queries, so the rows add up to less than the property or filter totals. Requires a Search Console connection.
get_search_console_rows
Get a Search Console summary: Google Search Console headline totals (impressions, clicks, CTR, average position) for a project over a date range. Pass dimension to also get a breakdown aggregated over the range: country, device, page, query, searchAppearance or property (one row per property read, with property=all) (country values are lowercase ISO alpha-3 as returned by Google, e.g. usa, gbr, plus the zzz unknown-country sentinel; page and query keep the casing Google returns). Pass search_type to measure a surface other than web, filters to narrow the query, and data_state=all to include the most recent still incomplete days. With filters and no dimension, the totals are the complete figure Google reports for that filter (for example every page whose URL contains /blog/), matching Search Console. Breakdown rows are capped by limit, query rows exclude anonymized queries, and page and searchAppearance rows are counted per page rather than per property, so the rows can differ from the totals. The response data_through field reports the latest synced date in stored mode or the latest finalized date detected from Google in live mode. Recent days without rows should not be treated as zero. Requires the project to have a Search Console connection.
get_search_console_summary
Get a Search Console time series: property-wide Google Search Console impressions, clicks, CTR and average position, bucketed by day, week or month. Pass search_type to measure a surface other than web, filters to narrow the series, and data_state=all to include the most recent still incomplete days. The response data_through field reports the latest synced date in stored mode or the latest finalized date detected from Google in live mode. Recent days without rows should not be treated as zero. Requires the project to have a Search Console connection.
get_search_console_timeseries
LLM Pulse ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve LLM Pulse's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are LLM Pulse alternatives on ChatGPT?
As of 2026-10-31, LLM Pulse competes with 3RD, 8ight SEO & GEO, Actionbase, AEO/GEO by VibeSEO, Agent Ready, Agent Ready Checker, Agenticaso, AI Interpretation Layer Audit™ and 92 more in ChatGPT AI Search & LLM Visibility (AEO/GEO), ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.