One raw-data contract for local agents
ChatSights routes managed AI scraper jobs and returns normalized records. Your code or local agent performs every analysis step.
Quickstart
Register the repository's local MCP server, then ask your agent to fetch a prompt from one or more AI surfaces.
claude mcp add chatsights -- node /absolute/path/to/try-chat-sights/mcp/index.mjs --api-url http://localhost:8080 --key cs_live_...Replace the example path with an absolute path to mcp/index.mjs. Local development uses explicit demo records until provider credentials and dataset IDs are configured on the server.
Fetch contract
The public endpoint accepts a prompt, surface list and locale. It does not accept brands, competitors or analysis settings.
curl -X POST http://localhost:8080/v1/fetches \
-H "Authorization: Bearer cs_live_..." \
-H "Content-Type: application/json" \
-d '{
"query": "best cold brew subscription",
"surfaces": ["chatgpt", "perplexity", "gemini"],
"country": "US",
"language": "en",
"web_search": true
}'queryRequired · up to 4,096 characters
surfacesRequired · one or more catalog keys
countryProvider targeting hint · default US
languageOutput-language hint · default en
web_searchPassed through on supported surfaces
Normalized response
Each delivered record preserves the answer, citations and selected provider metadata.
{
"id": "run_84c1...",
"provider": "managed_scraper",
"mode": "live",
"status": "completed",
"recordsDelivered": 3,
"creditsCharged": 3,
"answers": [{
"surfaceKey": "chatgpt",
"answerText": "...",
"sources": [{
"title": "...",
"url": "https://...",
"position": 1
}],
"providerRecordId": "bd_...",
"providerFields": {
"web_search_triggered": true
}
}]
}Product boundaries
The contract deliberately keeps data collection separate from interpretation.
ChatSights returns
Your agent produces
Provider setup
Provider secrets stay in the server environment. Dataset IDs come from each scraper's Configuration panel.
PROVIDER_API_KEY=...
PROVIDER_DATASET_CHATGPT=gd_...
PROVIDER_DATASET_PERPLEXITY=gd_...
PROVIDER_DATASET_GEMINI=gd_...
PROVIDER_DATASET_GOOGLE_AI_OVERVIEW=gd_...
PROVIDER_DATASET_GOOGLE_AI_MODE=gd_...
PROVIDER_DATASET_COPILOT=gd_...The token and dataset IDs are never returned to the MCP client or included in logs.
Delivery webhooks
Scheduled and async runs emit operational events, not semantic claims about the answer.
job.completedAll requested records delivered
job.partialSome surfaces failed
job.failedNo records delivered or billed
Credits
One successfully delivered provider record equals one ChatSights credit.
A single prompt requested from three surfaces costs at most three credits. Failed records cost zero.
Ready to inspect the contract?
The playground works in explicit demo mode before provider setup.
Open the playground