How to read this changelog
This changelog documents all updates, improvements, and fixes to the Peec Customer API.
The API is currently in v0 (beta). During this phase, features and endpoints are subject to change, and breaking changes may occur. Once the API reaches v1, breaking changes will be minimized.
Changelog Categories
- Breaking Changes: API changes that may require updates to your integration.
- Added: New features or capabilities.
- Changed: Updates to existing functionality that aren’t breaking.
- Deprecated: Features still available but planned for removal.
- Removed: Features removed from the API.
- Fixed: Bug fixes and corrections.
- Security: Updates addressing vulnerabilities or improving security.
Changelog
Added
week and month dimensions on Report Endpoints The Get Brands Report, Get Domains Report, and Get URLs Report endpoints now accept week and month in the dimensions array, aggregating results into weekly or monthly time buckets instead of the daily breakdown provided by date. Results broken down by week include a week field containing the Monday that starts the ISO week; results broken down by month include a month field containing the first day of the month.
Added
having filter on Report Endpoints The Get Brands Report, Get Domains Report, and Get URLs Report endpoints now accept an optional having array of post-aggregation filters that select which aggregated results are returned without shrinking the denominators of ratio metrics. Unlike filters (which apply before aggregation), having lets you narrow to a single brand, domain, or URL while metrics like share_of_voice stay measured against the full in-scope population. Population fields (model_id, model_channel_id, country_code, prompt_id, tag_id, topic_id, chat_id) used in having require the matching value in dimensions, otherwise the request is rejected. Multiple having filters are AND’d together. See Filtering and dimensions for guidance on when to use filters vs having.
Fixed
share_of_voice denominator now scoped per dimension On the Get Brands Report, share_of_voice is now computed against total mentions within each result’s dimension grouping rather than a single project-wide total. When breaking down by prompt_id (or any other dimension), each brand’s share is now its mentions in that grouping divided by all brands’ mentions in the same grouping. Previously the same denominator was applied across every result, distorting share values in broken-down reports.
Removed
IMAGE removed from features The IMAGE value is no longer part of the features array returned by the List Chats and Get Chat endpoints, and is no longer accepted by the List Chats features filter. Remaining values: SHOPPING, PRODUCT_COMPARISON, AD, MAP, WEB_SEARCH.
Changed
- List Chats excludes archived and deleted prompts by default The List Chats endpoint now excludes chats whose prompt has been archived or deleted. To include chats for archived prompts (e.g. historical lookback for a prompt that is no longer tracked), pass
include_archived_prompts=true. Chats for deleted prompts are always excluded.
Fixed
features values on Get Chat The Get Chat endpoint now returns features using the same values accepted by the List Chats features filter: SHOPPING, PRODUCT_COMPARISON, IMAGE, AD, MAP, WEB_SEARCH. Previously it returned internal element names (e.g. PRODUCT_GALLERY, LOCAL_BUSINESS, SOURCES), which could not be passed back as filters.
Added
- List Bots Endpoint New List Bots endpoint returning every AI agent bot tracked by Peec Agent Analytics, with each bot’s
id (user agent), provider, and type (training, search, userQuery, other).
- Get Agent Visits Endpoint New Get Agent Visits endpoint aggregating AI bot visit counts from connected access logs over a date range. Supports
group_by across bot_id, response_status, request_host, and request_path, an optional bot_ids filter, and time_bucket (hour, day, week, month) for time-series breakdowns.
features field on Chat Endpoints The List Chats and Get Chat endpoints now return a features array — feature flags for special elements detected in the assistant response (shopping carousels, product comparisons, image galleries, ads, map widgets, web search).
features filter on List Chats The List Chats endpoint now accepts an optional features array parameter. Values: SHOPPING, PRODUCT_COMPARISON, IMAGE, AD, MAP, WEB_SEARCH. Multiple values are AND’d — a chat must contain every listed feature to match.
maps and ads fields on Get Chat The Get Chat endpoint now returns maps (local-business map cards with name and Google Maps directions URL) and ads (paid ad placements with brand, target URL, ad unit type, and card content).
Added
domain_classification filter for Domains and URLs reports New filter on the Get Domains Report and Get URLs Report endpoints to narrow results by domain classification. Operators: in, not_in. Values: array of CORPORATE, EDITORIAL, INSTITUTIONAL, OTHER, REFERENCE, UGC, COMPETITOR, OWN.
url_classification filter for URLs Report New filter on the Get URLs Report endpoint to narrow results by URL classification. Operators: in, not_in. Values: array of HOMEPAGE, CATEGORY_PAGE, PRODUCT_PAGE, LISTICLE, COMPARISON, PROFILE, ALTERNATIVE, DISCUSSION, HOW_TO_GUIDE, ARTICLE, OTHER.
Fixed
total_chat_count Now Respects Filters on Domains Report The Get Domains Report endpoint now applies request filters to total_chat_count, so the denominator used for retrieval_rate and retrieved_percentage reflects the filtered scope.
Added
- Project Profile Endpoints New Get Project Profile and Set Project Profile endpoints for retrieving and updating the profile of a project.
retrieved_chat_count and total_chat_count on Domains Report The Get Domains Report endpoint now returns retrieved_chat_count (distinct chats in which at least one URL from the domain was retrieved) and total_chat_count (total chats in scope for the result, used as the denominator for retrieval_rate and retrieved_percentage).
Added
order_by Parameter on Report Endpoints The Get Brands Report, Get Domains Report, and Get URLs Report endpoints now accept an optional order_by array to sort results by one or more fields. Each entry takes a field and a direction (asc or desc, defaults to desc); multiple entries create a multi-key sort.
- Brands report sortable fields:
visibility, visibility_count, mention_count, sentiment, position, share_of_voice.
- Domains report sortable fields:
citation_rate, retrieval_count, citation_count.
- URLs report sortable fields:
retrieval_count, retrievals, citation_count, citation_rate.
retrieval_count and citation_count on Domains Report The Get Domains Report endpoint now returns retrieval_count (total distinct URL retrievals from the domain across all chats) and citation_count (total citations from the domain).
retrieval_count on URLs Report The Get URLs Report endpoint now returns retrieval_count — the total number of distinct chats that retrieved the URL.
Deprecated
retrievals on URLs Report The retrievals field on Get URLs Report is deprecated. Use retrieval_count instead.
Added
- Get Brand Suggestions Endpoint New Get Brand Suggestions endpoint for listing AI-generated brand suggestions for your project.
- Accept Brand Suggestion Endpoint New Accept Brand Suggestion endpoint to accept a brand suggestion, converting it into a brand.
- Reject Brand Suggestion Endpoint New Reject Brand Suggestion endpoint to reject a brand suggestion, removing it from the project.
Deprecated
model_id filters and model.id in responses The model_id filter and the model.id field in responses are deprecated in favor of model channels. A model_id filter is now resolved to its channel (e.g. gpt-4o → openai) and matches every result on that channel, regardless of the underlying model version. The model.id field in responses now always reflects the channel’s current model, not the model that originally produced the result. Migrate to model_channel_id filters and the model_channel object in responses for stable behavior as model IDs are introduced and renamed.
Added
- List Model Channels Endpoint New List Model Channels endpoint returning all available model channels with their current model, description, and active status.
model_channels on List Models Endpoint The List Models endpoint now returns a model_channels array on each model, listing the channels it belongs to (a model can belong to more than one).
model_channel on Chat Endpoints The List Chats and Get Chat endpoints now return a model_channel object. List Chats also accepts an optional model_channel_id query parameter for filtering.
model_channel on Query Endpoints The List Fanout Search Queries and List Fanout Shopping Queries endpoints now return a model_channel object and support model_channel_id as a filter.
model_channel_id Dimension and Filter on Report Endpoints The Get Brands Report, Get Domains Report, and Get URLs Report endpoints now support model_channel_id as a dimension and filter, with an optional model_channel object in the response.
Added
name field on List Models endpoint Model objects returned by List Models now include a name field — a human-readable display name (e.g. ChatGPT, Perplexity).
channel_title field on URLs report The Get URLs Report response now includes an optional channel_title field (e.g. YouTube channel name, subreddit).
mentioned_brands field on Domains and URLs reports The Get Domains Report and Get URLs Report endpoints now return a mentioned_brands array on each row — a list of brand objects mentioned alongside each domain/URL.
mentioned_brand_id filter for Domains and URLs reports New filter on the Get Domains Report and Get URLs Report endpoints to narrow results by which brands were mentioned in sources. Operators: in, not_in. Values: array of brand ID strings.
mentioned_brand_count filter for Domains and URLs reports New filter on the Get Domains Report and Get URLs Report endpoints to narrow results by the number of distinct brands mentioned. Operators: gt, gte, lt, lte. Value: integer >= 0.
gap filter for Domains and URLs reports New filter on the Get Domains Report and Get URLs Report endpoints to find sources where competitors are mentioned but your own brand is not — useful for identifying content gaps. Operators: gt, gte, lt, lte. Value: integer >= 0 (minimum number of competitor mentions).
Added
- Get Topic Suggestions Endpoint New Get Topic Suggestions endpoint for listing AI-generated topic suggestions for your project.
- Get Prompt Suggestions Endpoint New Get Prompt Suggestions endpoint for listing AI-generated prompt suggestions, with optional filtering by
topic_id.
- Accept Topic Suggestion Endpoint New Accept Topic Suggestion endpoint to accept a topic suggestion, converting it into a regular topic.
- Reject Topic Suggestion Endpoint New Reject Topic Suggestion endpoint to reject a topic suggestion, removing it and its associated prompt suggestions.
- Accept Prompt Suggestion Endpoint New Accept Prompt Suggestion endpoint to accept a prompt suggestion, creating a new prompt from it.
- Reject Prompt Suggestion Endpoint New Reject Prompt Suggestion endpoint to reject a prompt suggestion, removing it from the suggestions list.
Added
- Update Prompt Endpoint New Update Prompt endpoint allowing you to assign tags and topics to prompts.
- Filter Parameters on Get Prompts Endpoint The Get Prompts endpoint now supports optional
topic_id and tag_id query parameters, allowing you to filter prompts by topic and tags.
Added
chat_id Dimension and Filter on Report Endpoints All report endpoints now support chat_id as a dimension and filter.
Added
- Filter Parameters on Get Chats Endpoint The Get Chats endpoint now supports optional
brand_id, model_id, and prompt_id query parameters, allowing you to filter chat results by brand, AI model, and prompt.
is_own Property on Get Brands Endpoint The Get Brands endpoint now returns an is_own property on each brand, allowing you to differentiate between your own brands and competitor brands.
Added
country_code Dimension and Filter on Report Endpoints All report endpoints now support country_code as a dimension and filter.
- Retrieval Metrics on Domains Report The Get Domains Report endpoint now returns
retrieved_percentage, retrieval_rate, and citation_rate metrics.
- Retrieval Metrics on URLs Report The Get URLs Report endpoint now returns
retrievals and citation_rate metrics.
Deprecated
citation_avg, usage_count, usage_rate on Report Endpoints These metrics are deprecated and will eventually be removed in a future version. Use the new retrieval metrics instead.
Added
- Get Fanout Search Queries Endpoint New Get Fanout Search Queries endpoint for retrieving expanded search queries generated during chat conversations, enabling analysis of how AI models fan out user prompts into multiple search queries.
- Get Fanout Shopping Queries Endpoint New Get Fanout Shopping Queries endpoint for retrieving shopping-related queries and product data captured in AI model responses, enabling insights into product recommendations and shopping search behavior.
Breaking Changes
normalizedUrl removed from URL Reports The normalizedUrl field has been removed from the Get URLs Report endpoint. URLs in the response are now returned already normalized, making this field redundant.
Changed
- Significant Performance Improvements Report endpoints have been optimized for significantly improved response times across all report queries.
- Zero-Visibility Datapoints Included in Brands Report The Get Brands Report endpoint now returns datapoints for brand + dimension combinations even when they have 0 visibility. Previously, these combinations were omitted from the response.
Added
- Filters on Report Endpoints The Get Brands Report, Get Domains Report, and Get URLs Report endpoints now support a
filters array, allowing you to filter results by model_id, tag_id, topic_id, prompt_id, brand_id, domain, and url using in and not_in operators.
share_of_voice and mention_count added to Brands Report The Get Brands Report endpoint now returns share_of_voice and mention_count fields, providing additional brand performance metrics.
Added
- Citation Position on Sources and Position on Brand Mentions in Get Chat API The Get Chat endpoint now returns
citationPosition on each source and position on each brand mention, providing precise ranking data for citations and brand references in chat responses.
Added
- Citation Count on Sources in Get Chat API The Get Chat endpoint now returns
citationCount on each source, providing visibility into how many times a source is cited in the chat response.
Added
- Fanout Search Queries in Get Chat API The Get Chat endpoint now returns fanout search queries, providing visibility into the expanded search queries generated during chat conversations.
- Shopping Products and Queries in Get Chat API The Get Chat endpoint now returns shopping products and their associated queries, enabling insights into product recommendations and shopping-related search behavior.
Added
- New aggregation attributes in Get Brands Report The Get Brands Report endpoint now returns additional attributes (
sentiment_sum, sentiment_count, position_count, position_sum, visibility_count, visibility_total) enabling more flexible aggregations and analytics calculations.
Added
- URL and Domain Classification field added The Get Domains Report and Get URLs Report endpoints now return a
classification field for each domain and URL, providing insights into content categories and types.
Added
- Project Status field added The Get Projects endpoint now returns a
status field for each project, enabling better visibility into project lifecycle and state.
Changed
- Pagination max limit increased The maximum pagination limit has been increased from 1,000 to 10,000 records per request, allowing for more efficient bulk retrieval.
Added
- Topics and Tags in Get Prompts API The Get Prompts endpoint now returns
tags and topics fields for each prompt, allowing for better categorization and filtering of prompts.
Added
- Topics and Tags as Report Dimensions Topics and tags are now available as report dimensions in the API, enabling more granular filtering and analysis of report data.
- Prompt Volume in Get Prompts API The Get Prompts endpoint now returns a
volume field, providing insight into prompt usage and frequency.
- Mentioned Brands in Get Chat API The Get Chat endpoint now returns a
brands_mentioned field, providing visibility into which brands are referenced in chat conversations.
Added
- Initial Release The Peec Customer API is now available.