API Reference
Complete API reference for Sentry Analytics.
Base URL: https://sentryanalytic.com
Authentication
Most endpoints are public. Agent tool endpoints require API key:
curl -H "X-API-Key: your-api-key" https://sentryanalytic.com/api/agent/...
Company Endpoints
Search Companies
GET /api/company/search?q=QUERY
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | Yes | Search query |
| limit | int | No | Max results (default: 10) |
Response:
{
"companies": [
{
"company_name": "BMW",
"company_slug": "bmw",
"trust_score": 74,
"review_count": 5621
}
]
}
Get Company Details
GET /api/company/SLUG
Response:
{
"company_name": "BMW",
"company_slug": "bmw",
"trust_score": 74,
"risk_level": "MEDIUM",
"avg_rating": 3.97,
"review_count": 5621,
"sentiment": {
"positive": 50,
"negative": 40,
"neutral": 10
},
"data_freshness": "fresh",
"last_updated": "2025-12-27"
}
Smart Search
GET /api/search/smart?q=QUERY&auto_scrape=true
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
| q | string | required | Company name |
| country | string | "de" | Country code |
| auto_scrape | bool | true | Auto-trigger scraping |
Response:
{
"status": "found",
"company_name": "BMW",
"data_status": "fresh",
"review_count": 5621,
"scraping_jobs": []
}
AI Chat Endpoints
Chat with AI
POST /api/ai/chat
Request:
{
"message": "What's the Trust Score for BMW?",
"language": "auto",
"enable_grounding": false,
"enable_rag": true
}
Response:
{
"response": "BMW has a Trust Score of 74/100...",
"status": "ok",
"grounded": false,
"rag_used": true,
"tools_used": true,
"tool_calls": [
{"name": "search_company", "args": {"company_name": "BMW"}}
]
}
Health Check
GET /api/ai/chat/health
Response:
{
"status": "healthy",
"model": "gemini-2.5-flash",
"rag_corpus": "active"
}
Agent Tool Endpoints
⚠️ Requires API Key: X-API-Key header
Search Company
POST /api/agent/search-company
Request:
{
"company_name": "BMW",
"country": "de"
}
Get Trust Score
POST /api/agent/trust-score
Request:
{
"company_name": "BMW"
}
Response:
{
"company_name": "BMW",
"trust_score": 74,
"risk_level": "MEDIUM",
"breakdown": {
"rating_quality": 22.2,
"sentiment": 12.5,
"volume": 20.0,
"consistency": 9.0,
"recency": 10.0
}
}
List Companies
POST /api/agent/list-companies
Request:
{
"country": "de",
"limit": 10,
"sort_by": "trust_score"
}
Compare Companies
POST /api/agent/compare-companies
Request:
{
"company1": "BMW",
"company2": "Audi"
}
Run Analysis
POST /api/agent/run-analysis
Request:
{
"company_name": "Spotify",
"country": "de"
}
Response:
{
"action": "analysis_started",
"company_name": "Spotify",
"company_slug": "spotify-ab1",
"scraping_jobs": ["uuid1", "uuid2", "uuid3", "uuid4"],
"message": "🚀 Analysis started!"
}
Get Company Reviews
POST /api/agent/get-reviews
Request:
{
"company_name": "BMW",
"sentiment": "positive",
"limit": 5
}
Scraping Endpoints
Magic Search
POST /api/scraping/magic-search
Request:
{
"company_name": "Spotify",
"country": "de",
"months_back": 24
}
Get Job Status
GET /api/scraping/jobs/JOB_ID
Response:
{
"job_id": "uuid",
"status": "running",
"source": "kununu",
"company_name": "Spotify",
"reviews_collected": 156,
"progress_percent": 78
}
Crypto Endpoints
Search Crypto Projects
GET /api/v2/crypto/search?q=QUERY
Get Crypto Project
GET /api/v2/crypto/project/SLUG
Response:
{
"name": "Polkadot",
"symbol": "DOT",
"trust_score": 81,
"risk_level": "LOW",
"price_usd": 7.25,
"market_cap": 9500000000,
"tvl": 1200000000
}
Error Responses
All endpoints return errors in this format:
{
"detail": "Company not found",
"status_code": 404
}
Common Status Codes:
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request |
| 401 | Unauthorized (missing API key) |
| 404 | Not found |
| 429 | Rate limited |
| 500 | Server error |
API documentation is also available at /docs (Swagger UI).