Skip to main content
POST
https://api.aisa.one/apis/v1
/
scholar
/
search
/
web
Search the web
curl --request POST \
  --url https://api.aisa.one/apis/v1/scholar/search/web \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.aisa.one/apis/v1/scholar/search/web"

headers = {"Authorization": "Bearer <token>"}

response = requests.post(url, headers=headers)

print(response.text)
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.aisa.one/apis/v1/scholar/search/web', 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/scholar/search/web",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.aisa.one/apis/v1/scholar/search/web"

req, _ := http.NewRequest("POST", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

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/scholar/search/web")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.aisa.one/apis/v1/scholar/search/web")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "id": "<string>",
  "results": [
    {
      "title": "<string>",
      "link": "<string>",
      "snippet": "<string>",
      "display_url": "<string>",
      "published_date": "2023-11-07T05:31:56Z"
    }
  ]
}
{
"error": "<string>",
"code": 123,
"details": "<string>"
}
{
"error": "<string>",
"code": 123,
"details": "<string>"
}
{
"error": "<string>",
"code": 123,
"details": "<string>"
}
{
"error": "<string>",
"code": 123,
"details": "<string>"
}
Search the web and return structured results with titles, links, and snippets. Best for: Current web information, quick source discovery, and non-academic research context.
Scholar search endpoints use POST with parameters in the query string. Do not send query or max_num_results as a JSON or form body.

Example

curl -X POST "https://api.aisa.one/apis/v1/scholar/search/web?query=self-correcting%20agent%20frameworks&max_num_results=5" \
  -H "Authorization: Bearer ${AISA_API_KEY}"

Response

Returns a search id and a results array of web results. Use the returned id with Explain Search Results to generate an explanation over the results.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

query
string
required

Search query for scholarly materials

Example:

"machine learning"

max_num_results
integer
default:10

Maximum number of search results to return, up to 100

Required range: 1 <= x <= 100
as_ylo
integer | null

Year of publication lower bound

Required range: 1900 <= x <= 2030
as_yhi
integer | null

Year of publication upper bound

Required range: 1900 <= x <= 2030

Response

Successful search response

id
string
required

Unique identifier for the search request

results
object[]
required

List of web search results