curl --request POST \
--url https://api.lava.so/v1/search/sources \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"q": "GLP-1 cardiovascular outcomes meta-analyses 2026"
}
'{
"results": [
{
"source": "<string>",
"title": "<string>",
"url": "<string>",
"snippet": "<string>",
"published_at": "2023-11-07T05:31:56Z",
"score": 123,
"raw": {}
}
],
"sources_failed": [
{
"provider": "<string>",
"reason": "<string>"
}
],
"cost": {
"breakdown": {},
"markup": "<string>",
"total": "<string>"
}
}{
"error": {
"message": "Invalid authentication credentials",
"code": "forward_token_json_invalid",
"status": 400,
"issues": [
{
"path": [
"model"
],
"message": "Missing required field: model"
},
{
"path": [
"messages",
"0",
"content"
],
"message": "Invalid message content format"
}
]
}
}{
"error": {
"message": "Invalid authentication credentials",
"code": "forward_token_json_invalid",
"status": 400,
"issues": [
{
"path": [
"model"
],
"message": "Missing required field: model"
},
{
"path": [
"messages",
"0",
"content"
],
"message": "Invalid message content format"
}
]
}
}{
"error": {
"message": "Invalid authentication credentials",
"code": "forward_token_json_invalid",
"status": 400,
"issues": [
{
"path": [
"model"
],
"message": "Missing required field: model"
},
{
"path": [
"messages",
"0",
"content"
],
"message": "Invalid message content format"
}
]
}
}Aggregated search across all 9 providers
Fan out a single query across 9 search providers in parallel — Tavily, Exa, Jina, Parallel, Perplexity Sonar, Firecrawl, Lava News, Serper, Brave Search — and return a unified normalized result set with explicit per-provider failure surfacing. Charges sum of upstream provider costs plus a $0.005 lava-search markup. Use this when you want the raw evidence pile to reason over yourself; use /search/answer instead when you want an LLM-synthesized answer with citations.
curl --request POST \
--url https://api.lava.so/v1/search/sources \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"q": "GLP-1 cardiovascular outcomes meta-analyses 2026"
}
'{
"results": [
{
"source": "<string>",
"title": "<string>",
"url": "<string>",
"snippet": "<string>",
"published_at": "2023-11-07T05:31:56Z",
"score": 123,
"raw": {}
}
],
"sources_failed": [
{
"provider": "<string>",
"reason": "<string>"
}
],
"cost": {
"breakdown": {},
"markup": "<string>",
"total": "<string>"
}
}{
"error": {
"message": "Invalid authentication credentials",
"code": "forward_token_json_invalid",
"status": 400,
"issues": [
{
"path": [
"model"
],
"message": "Missing required field: model"
},
{
"path": [
"messages",
"0",
"content"
],
"message": "Invalid message content format"
}
]
}
}{
"error": {
"message": "Invalid authentication credentials",
"code": "forward_token_json_invalid",
"status": 400,
"issues": [
{
"path": [
"model"
],
"message": "Missing required field: model"
},
{
"path": [
"messages",
"0",
"content"
],
"message": "Invalid message content format"
}
]
}
}{
"error": {
"message": "Invalid authentication credentials",
"code": "forward_token_json_invalid",
"status": 400,
"issues": [
{
"path": [
"model"
],
"message": "Missing required field: model"
},
{
"path": [
"messages",
"0",
"content"
],
"message": "Invalid message content format"
}
]
}
}Authorizations
Bearer token authentication used for standard API calls. Format: 'Bearer YOUR_API_KEY'
Body
The search query
Optional subset of providers to query. Defaults to all 9. Valid ids: tavily, exa, jina, parallel, perplexity, firecrawl, lava_news, serper, brave_search.
Max results per provider (default 10, max 50)
1 <= x <= 50ISO 8601 timestamp; only results published after this date are returned (provider-dependent — not all upstream APIs honor this).