Web Search
Search the web and return results directly. Returns structured search results including titles, URLs, content snippets, and dates.
Search providers:
brave(default) — Brave Search with Zero Data Retention (ZDR). Search queries are never stored or logged by the search provider.google— Google Search with anonymized queries. Searches are proxied through Venice’s infrastructure so that your identity is not associated with the search request sent to Google. Venice does not store or log search queries.
Authentication: This endpoint accepts either a Bearer API key or a SIGN-IN-WITH-X header for x402 wallet-based authentication. The legacy X-Sign-In-With-X header is also accepted during migration. When using x402, a 402 Payment Required response indicates insufficient balance and includes top-up instructions.
curl --request POST \
--url https://api.venice.ai/api/v1/augment/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "latest news about AI",
"limit": 10,
"search_provider": "brave"
}
'import requests
url = "https://api.venice.ai/api/v1/augment/search"
payload = {
"query": "latest news about AI",
"limit": 10,
"search_provider": "brave"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: 'latest news about AI', limit: 10, search_provider: 'brave'})
};
fetch('https://api.venice.ai/api/v1/augment/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.venice.ai/api/v1/augment/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => 'latest news about AI',
'limit' => 10,
'search_provider' => 'brave'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.venice.ai/api/v1/augment/search"
payload := strings.NewReader("{\n \"query\": \"latest news about AI\",\n \"limit\": 10,\n \"search_provider\": \"brave\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.venice.ai/api/v1/augment/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"latest news about AI\",\n \"limit\": 10,\n \"search_provider\": \"brave\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.venice.ai/api/v1/augment/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"latest news about AI\",\n \"limit\": 10,\n \"search_provider\": \"brave\"\n}"
response = http.request(request)
puts response.read_body{
"query": "<string>",
"results": [
{
"title": "<string>",
"url": "<string>",
"content": "<string>",
"date": "<string>"
}
]
}{
"error": "<string>",
"details": {
"_errors": [],
"field": {
"_errors": [
"Field is required"
]
}
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}query. L’API restituisce risultati strutturati che includono titoli, URL, frammenti di contenuto e date.
Provider di ricerca:
brave(predefinito) — Brave Search con Zero Data Retention (ZDR). Le query di ricerca non vengono mai memorizzate o registrate dal provider di ricerca.google— Google Search con query anonimizzate. Le ricerche vengono inoltrate tramite l’infrastruttura di Venice, in modo che la tua identità non sia associata alla richiesta di ricerca inviata a Google. Venice non memorizza né registra le query di ricerca.
Esempio (cURL)
curl -X POST https://api.venice.ai/api/v1/augment/search \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "latest news about AI"}'
Autorizzazioni
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Corpo
The search query
1 - 400"latest news about AI"
Maximum number of results to return (default: 10, max: 20)
1 <= x <= 2010
Search provider to use. "brave" uses Brave Search with Zero Data Retention (ZDR) for maximum privacy — search queries are never stored or logged. "google" uses Google Search with anonymized queries — searches are proxied through Venice's infrastructure so that your identity is not associated with the search request sent to Google. Venice does not store or log search queries. Defaults to "brave".
google, brave "brave"
Questa pagina è stata utile?
curl --request POST \
--url https://api.venice.ai/api/v1/augment/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "latest news about AI",
"limit": 10,
"search_provider": "brave"
}
'import requests
url = "https://api.venice.ai/api/v1/augment/search"
payload = {
"query": "latest news about AI",
"limit": 10,
"search_provider": "brave"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: 'latest news about AI', limit: 10, search_provider: 'brave'})
};
fetch('https://api.venice.ai/api/v1/augment/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.venice.ai/api/v1/augment/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => 'latest news about AI',
'limit' => 10,
'search_provider' => 'brave'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.venice.ai/api/v1/augment/search"
payload := strings.NewReader("{\n \"query\": \"latest news about AI\",\n \"limit\": 10,\n \"search_provider\": \"brave\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.venice.ai/api/v1/augment/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"latest news about AI\",\n \"limit\": 10,\n \"search_provider\": \"brave\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.venice.ai/api/v1/augment/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"latest news about AI\",\n \"limit\": 10,\n \"search_provider\": \"brave\"\n}"
response = http.request(request)
puts response.read_body{
"query": "<string>",
"results": [
{
"title": "<string>",
"url": "<string>",
"content": "<string>",
"date": "<string>"
}
]
}{
"error": "<string>",
"details": {
"_errors": [],
"field": {
"_errors": [
"Field is required"
]
}
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}