curl --request POST \
--url https://api.aisa.one/apis/v1/openai-websearch/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"input": "What are the three biggest AI announcements this week? Give one sentence each with sources.",
"max_output_tokens": 1024
}
'import requests
url = "https://api.aisa.one/apis/v1/openai-websearch/search"
payload = {
"input": "What are the three biggest AI announcements this week? Give one sentence each with sources.",
"max_output_tokens": 1024
}
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({
input: 'What are the three biggest AI announcements this week? Give one sentence each with sources.',
max_output_tokens: 1024
})
};
fetch('https://api.aisa.one/apis/v1/openai-websearch/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.aisa.one/apis/v1/openai-websearch/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([
'input' => 'What are the three biggest AI announcements this week? Give one sentence each with sources.',
'max_output_tokens' => 1024
]),
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.aisa.one/apis/v1/openai-websearch/search"
payload := strings.NewReader("{\n \"input\": \"What are the three biggest AI announcements this week? Give one sentence each with sources.\",\n \"max_output_tokens\": 1024\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.aisa.one/apis/v1/openai-websearch/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"input\": \"What are the three biggest AI announcements this week? Give one sentence each with sources.\",\n \"max_output_tokens\": 1024\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/openai-websearch/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 \"input\": \"What are the three biggest AI announcements this week? Give one sentence each with sources.\",\n \"max_output_tokens\": 1024\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "response",
"status": "completed",
"output": [
{}
],
"usage": {
"input_tokens": 123,
"output_tokens": 123,
"input_tokens_details": {
"cached_tokens": 123
}
}
}OpenAI Web Search
Ask a question and get an answer that an OpenAI model wrote after searching the live web. Send a Responses request — an input string (or message array) — and the endpoint injects a fixed, server-pinned model and the web_search tool for you; the model, tool and per-request search cap are server-controlled to keep cost bounded. The reply is a standard OpenAI Responses object: output[] contains web_search_call items (each a search that ran) and a message item with the answer text and URL citations, and the billed search count equals the number of web_search_call items. Billing is pay-as-you-go at exact cost: web_search_calls × $0.01 plus the model’s own token cost (fresh input = input_tokens − cached), with no markup. Use this when you want a written, cited answer grounded in current web content from an OpenAI model — for the Anthropic-model equivalent see post_anthropic_websearch_search, and for raw ranked links with extracted page text use post_tavily_search.
curl --request POST \
--url https://api.aisa.one/apis/v1/openai-websearch/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"input": "What are the three biggest AI announcements this week? Give one sentence each with sources.",
"max_output_tokens": 1024
}
'import requests
url = "https://api.aisa.one/apis/v1/openai-websearch/search"
payload = {
"input": "What are the three biggest AI announcements this week? Give one sentence each with sources.",
"max_output_tokens": 1024
}
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({
input: 'What are the three biggest AI announcements this week? Give one sentence each with sources.',
max_output_tokens: 1024
})
};
fetch('https://api.aisa.one/apis/v1/openai-websearch/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.aisa.one/apis/v1/openai-websearch/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([
'input' => 'What are the three biggest AI announcements this week? Give one sentence each with sources.',
'max_output_tokens' => 1024
]),
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.aisa.one/apis/v1/openai-websearch/search"
payload := strings.NewReader("{\n \"input\": \"What are the three biggest AI announcements this week? Give one sentence each with sources.\",\n \"max_output_tokens\": 1024\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.aisa.one/apis/v1/openai-websearch/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"input\": \"What are the three biggest AI announcements this week? Give one sentence each with sources.\",\n \"max_output_tokens\": 1024\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/openai-websearch/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 \"input\": \"What are the three biggest AI announcements this week? Give one sentence each with sources.\",\n \"max_output_tokens\": 1024\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "response",
"status": "completed",
"output": [
{}
],
"usage": {
"input_tokens": 123,
"output_tokens": 123,
"input_tokens_details": {
"cached_tokens": 123
}
}
}授权
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
请求体
Your question or instruction, same format as the OpenAI Responses API input. A message array is also accepted.
"What are the three biggest AI announcements this week? Give one sentence each with sources."
Optional cap on the number of tokens generated in the answer.
1024
Optional high-level instructions to steer the answer's tone or format.
响应
A standard OpenAI Responses object. output[] interleaves web_search_call items and the cited answer message; the number of web_search_call items is the billed search count.