Model performance
Get performance breakdown by AI model. See which models mention your brand most and where you rank.
Code example
curl -X GET 'https://api.trakkr.ai/get-models?brand_id=00000000-0000-4000-8000-81f286d10c3c&days=30&include_trends=false' \
-H "Authorization: Bearer $TRAKKR_API_KEY"{
"models": [
{
"model": "ChatGPT",
"total_queries": 150,
"mentions": 68,
"visibility_rate": 45.3,
"average_position": 2.1,
"top_3_rate": 82.4,
"top_3_count": 56
},
{
"model": "Claude",
"total_queries": 150,
"mentions": 72,
"visibility_rate": 48.0,
"average_position": 1.9,
"top_3_rate": 88.9,
"top_3_count": 64
},
{
"model": "Gemini",
"total_queries": 150,
"mentions": 52,
"visibility_rate": 34.7,
"average_position": 2.8,
"top_3_rate": 71.2,
"top_3_count": 37
}
],
"summary": {
"total_results": 450,
"total_mentions": 192,
"overall_visibility_rate": 42.7,
"model_count": 3,
"period_days": 30
}
}Synthetic example. Values are made up.
API key required
60 req/minEndpoint
/get-modelsAuthenticate with Authorization: Bearer $TRAKKR_API_KEY. Key and access guide
Request parameters
brand_idstringqueryRequired
Brand UUID
Format: uuid
daysintegerqueryOptional
Analysis period in days
Default: 30 · Minimum: 7 · Maximum: 365
include_trendsbooleanqueryOptional
Include daily breakdown
Default: false
periodstring | nullqueryOptional
A frozen calendar period instead of a rolling window: a month as YYYY-MM (2026-08) or a quarter as YYYY-Qn (2026-Q3). A closed month is read from the archive frozen when it closed; the open month is computed to date. When period is given, days is ignored and the response carries a `period` block saying exactly what was resolved. Definitions: /get-metrics.
Responses and errors
200Successful Response
application/json
periodobject | nullOptional
Fields in period
PeriodMeta
keystringRequired
kindstringRequired
labelstringRequired
startstringRequired
endstringRequired
statusstringRequired
sourcestringRequired
frozen_atstring | nullOptional
pipeline_versionstring | nullOptional
restated_atstring | nullOptional
restatementsobject[]Optional
Default: []
Fields in restatements
Array of object. Default: []
object. Additional keys are allowed.
coverageobjectOptional
Default: {}
fields_computedstring[]Optional
Default: []
Fields in fields_computed
Array of string. Default: []
string.
fields_missingstring[]Optional
Default: []
Fields in fields_missing
Array of string. Default: []
string.
notesstring[]Optional
Default: []
Fields in notes
Array of string. Default: []
string.
monthsobject | nullOptional
rank_sourcestring | nullOptional
null
null.
modelsobject[]Required
Fields in models
Array of object.
modelstringRequired
total_queriesintegerRequired
Number of report observations for this model, not prompt requests
mentionsintegerRequired
Responses mentioning the tracked brand itself, excluding competitors
visibility_ratenumberRequired
presencenumber | nullOptional
average_positionnumber | nullOptional
top_3_ratenumber | nullOptional
top_3_countinteger | nullOptional
summaryobjectRequired
Models summary.
Fields in summary
total_resultsintegerRequired
total_mentionsintegerRequired
Mentions of the tracked brand itself across models, excluding competitors
overall_visibility_ratenumberRequired
model_countintegerRequired
period_daysintegerRequired
401Missing, malformed, or expired credentials
application/json
detailstring | object | nullOptional
errorstring | nullOptional
402The current plan does not fund this operation
application/json
detailstring | object | nullOptional
errorstring | nullOptional
403Invalid credentials, missing brand access, or insufficient role
application/json
detailstring | object | nullOptional
errorstring | nullOptional
422Validation Error
application/json
detailobject[]Optional
Fields in detail
Array of object.
locstring | integer[]Required
Fields in loc
Array of string | integer.
string
string.
integer
integer.
msgstringRequired
typestringRequired
429Rate limit exceeded
application/json
detailstring | object | nullOptional
errorstring | nullOptional
500The operation failed
application/json
detailstring | object | nullOptional
errorstring | nullOptional
503Authentication, entitlement, or a required dependency is temporarily unavailable
application/json
detailstring | object | nullOptional
errorstring | nullOptional
Returns visibility breakdown by AI model. Use this to understand which AI platforms are most likely to recommend your brand.
period=2026-08 (a month) or period=2026-Q3 (a quarter) to read this endpoint from the monthly archive instead of a rolling window. A closed month answers identically however later it is asked; the open month is computed to date and says status: open. When period is set, days is ignored and the response carries a period block. For a period, total_queries is the number of measured days for the model, presence is filled, and average_position, top_3_rate and top_3_count are null. See Periods.Try GET /get-models
AI Models Tracked
Trakkr tracks responses from these AI models:
| Model Name | Provider |
|---|---|
| ChatGPT | OpenAI |
| Claude | Anthropic |
| Gemini | |
| Perplexity | Perplexity AI |
| DeepSeek | DeepSeek AI |
| Grok | xAI |
| Meta AI | Meta |
| AI Overviews | Google Search |
Use Cases
- Identify which AI models recommend your brand most
- Track model-specific performance over time
- Optimize content for underperforming models
- Report on AI visibility by platform
