Skip to search

API Documentation

Integrate multi-model AI search with verification into your product

Authentication

All API requests require a session token. Get one by logging in:

POST /api/auth/login
Content-Type: application/json

{
  "email": "you@example.com",
  "password": "your-password"
}

→ Sets session cookie (httpOnly)Or use: Authorization: Bearer {token}

Search

POST /api/search

Send a query to multiple AI models with web search. Returns NDJSON stream.

Request Body

ParameterTypeDescription
query requiredstringSearch query (max 500 chars)
modelsstring[]Models: openai, gemini, perplexity, grok, claude (default: all)
modestringlite (Lite), standard (Standard), deep (Deep). Default: standard
moderatorModelstringModerator: grok (default), openai, gemini, perplexity, claude, deepseek, llama
imagesarrayUp to 3 images: [{mimeType, data(base64)}]

Credit Cost

ModeFormulaExample (5 models)
Lite (minimal)1 × model count5 credits
Standard (basic)models + 27 credits
Deep (advanced)models × 2 + 313 credits

Response (NDJSON stream)

{"type":"answer","modelId":"openai","modelName":"ChatGPT","text":"..."}
{"type":"answer","modelId":"gemini","modelName":"Gemini","text":"..."}
{"type":"error","modelId":"grok","modelName":"Grok","message":"..."}
{"type":"confidence","score":4,"total":5,"label":"high"}
{"type":"summary","text":"...","moderatorName":"Grok"}
{"type":"complete","queryId":42}

Example (curl)

curl -X POST https://neuroverdict.com/api/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "query": "React vs Vue для SEO",
    "models": ["openai", "gemini", "perplexity"],
    "mode": "standard"
  }'

Query Classification

GET /api/search/classify?q={query}

Analyze query complexity and get suggested model count.

GET /api/search/classify?q=столица+Бразилии

→ {"complexity":"simple","suggestedModels":2,"reason":"factual"}

Balance & Plans

GET /api/payments/balanceCredit balance

GET /api/payments/plansList available plans (public)

GET /api/payments/subscriptionCurrent subscription

Query History

GET /api/historyList past searches

GET /api/history/:idGet result with model responses

POST /api/history/:id/shareGenerate public share link

GET /api/history/shared/:tokenGet shared result (no auth)

Rate Limits

EndpointLimit
/api/search20 requests/min
/api/auth/*15 requests/15 min
/api/* (other)60 requests/min

Error Codes

CodeDescription
400Invalid request (missing query, too long, invalid mode)
401Not authenticated
402Insufficient credits
429Rate limit exceeded or concurrent search in progress
500Server error
Need higher limits or custom integration? Contact us for Enterprise plans with dedicated support, SLA, and custom API keys.
Get Started — Free

10 free credits on signup

Follow us on socials

Subscribe where convenient: Telegram bot and channel or VKontakte community