Skip to main content
Two related but distinct identifiers travel with every prompt and every history row.

engine — which AI assistant

This is the AI you queried. Lowercase. One of:
ValueMeaning
chatgptOpenAI ChatGPT
geminiGoogle Gemini
grokxAI Grok
claudeAnthropic Claude
This is the value you pass to ?engine= query parameters on every endpoint. Match exactly — values are case-sensitive.

engine_account — which scraper produced the row

Only on the prompts table (not history). Tells you which pipeline captured the data:
ValuePipeline
BD_chatgptBright Data scraper for ChatGPT (current default)
BD_geminiBright Data scraper for Gemini
BD_grokBright Data scraper for Grok
BD_perplexityBright Data scraper for Perplexity
empty / nullLegacy in-process Cloro consumer
You’d typically only look at engine_account if you’re debugging a specific scrape (e.g. cross-referencing a snapshot_id in the Bright Data console).

Filtering examples

# Just ChatGPT data
GET /universes/<id>/history?engine=chatgpt

# Compare Gemini vs Claude on the same day
GET /universes/<id>/metrics/ai_avg_trust_position?day=2026-04-27&engine=gemini
GET /universes/<id>/metrics/ai_avg_trust_position?day=2026-04-27&engine=claude

What if you don’t pass ?engine=?

The endpoint returns rows for every engine the universe has data for, ordered by day DESC, engine. If you only run ChatGPT, you’ll only see ChatGPT rows — there’s no implicit join with engines that have no data.