Ad rate for a domain
Share of prompt executions that rendered at least one sponsored ad, over the requested window, with a daily series and a per-model split. The denominator is every execution in scope, so the figure moves when the model mix changes. Accepts the full visibility filter set (date range, models, topic, prompt, tags). Also carries how widely advertisers spread across the prompt set, where the analysed brand itself stands among them, and the same counters over the equally long window immediately before this one, so deltas need no second call. That comparison window is derived from the requested one: ask for a different range and the baseline moves with it.
AuthorizationBearer <token>Session JWT signed with HS256. Verification pins the algorithm and rejects expired tokens, per RFC8725.
domainId*stringDomain under analysis
startDate?stringStart date for the report range (ISO 8601). On aggregated endpoints, omit to default to the last 6 months (there is no "all time"); an explicit start is honoured at any length.
endDate?stringEnd date for the report range (ISO 8601). Defaults to now when omitted.
models?array<string>Filter by specific models
topicId?stringFilter by specific topic ID
promptId?stringFilter raw results to a single prompt ID. Used by the sentiment heatmap drawer to lazy-load one cell's LLM response instead of bundling all responses in the aggregate.
includeVariation?booleanInclude variation calculation comparing to previous period
truepage?numberPage number for paginated responses
1 <= value1limit?numberItems per page for paginated responses
1 <= value <= 10050marketLanguageCodePairId?stringFilter by specific market/language pair ID
tagIds?array<string>Filter by tag IDs (visibility_result joined with prompt_tag)
Ad rate and its breakdowns
application/json- response
executions*numberPrompt executions in scope
executionsWithAds*numberExecutions that rendered at least one ad
totalAds*numberTotal ad cards rendered across those executions
adRate*numberexecutionsWithAds / executions, as a percentage with two decimals
uniqueAdvertisers*numberDistinct advertisers observed in scope
uniqueCreatives*numberDistinct ad creatives observed in scope
avgPromptsPerAdvertiser*numberMean number of distinct prompts a single advertiser bought, averaged over advertisers. High means broad campaigns, low means surgical bidding.
totalPrompts*numberPrompts that ran in scope, the denominator behind avgPromptsPerAdvertiser
ownBrand*Where the analysed brand stands
comparison*The same counters over the equally long window immediately before this one, for period-over-period deltas.
overTime*array<>Ad rate per UTC day, ascending
byModel*array<>Ad rate per model
curl -X GET 'https://api.getmint.ai/api/domains/3fa85f64-5717-4562-b3fc-2c963f66afa6/ads/overview'{ "executions": 4820, "executionsWithAds": 386, "totalAds": 1174, "adRate": 8.01, "uniqueAdvertisers": 42, "uniqueCreatives": 137, "avgPromptsPerAdvertiser": 4.6, "totalPrompts": 9, "ownBrand": { "isAdvertising": true, "adCount": 96, "creativeCount": 3, "promptCount": 3, "firstSeenAt": "2026-04-21T08:02:00.000Z" }, "comparison": { "adRate": 8.94, "uniqueAdvertisers": 40, "uniqueCreatives": 129, "startDate": "2026-04-27T00:00:00.000Z", "endDate": "2026-05-25T00:00:00.000Z" }, "overTime": [ { "executions": 4820, "executionsWithAds": 386, "totalAds": 1174, "adRate": 8.01, "key": "2026-05-25" } ], "byModel": [ { "executions": 4820, "executionsWithAds": 386, "totalAds": 1174, "adRate": 8.01, "key": "2026-05-25" } ]}