curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/wechat_search/v2/fetch_search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"keyword": "See API documentation",
"business_type": "account",
"sort": "hot",
"publish_time": "week",
"offset": 0,
"cursor": "<string>",
"raw": true
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/wechat_search/v2/fetch_search"
payload = {
"keyword": "See API documentation",
"business_type": "account",
"sort": "hot",
"publish_time": "week",
"offset": 0,
"cursor": "<string>",
"raw": True
}
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({
keyword: 'See API documentation',
business_type: 'account',
sort: 'hot',
publish_time: 'week',
offset: 0,
cursor: '<string>',
raw: true
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/wechat_search/v2/fetch_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/tikhub/wechat_search/v2/fetch_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([
'keyword' => 'See API documentation',
'business_type' => 'account',
'sort' => 'hot',
'publish_time' => 'week',
'offset' => 0,
'cursor' => '<string>',
'raw' => true
]),
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/tikhub/wechat_search/v2/fetch_search"
payload := strings.NewReader("{\n \"keyword\": \"See API documentation\",\n \"business_type\": \"account\",\n \"sort\": \"hot\",\n \"publish_time\": \"week\",\n \"offset\": 0,\n \"cursor\": \"<string>\",\n \"raw\": true\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/tikhub/wechat_search/v2/fetch_search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"See API documentation\",\n \"business_type\": \"account\",\n \"sort\": \"hot\",\n \"publish_time\": \"week\",\n \"offset\": 0,\n \"cursor\": \"<string>\",\n \"raw\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/wechat_search/v2/fetch_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 \"keyword\": \"See API documentation\",\n \"business_type\": \"account\",\n \"sort\": \"hot\",\n \"publish_time\": \"week\",\n \"offset\": 0,\n \"cursor\": \"<string>\",\n \"raw\": true\n}"
response = http.request(request)
puts response.read_body微信综合搜索(搜一搜)
微信综合搜索(搜一搜)
curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/wechat_search/v2/fetch_search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"keyword": "See API documentation",
"business_type": "account",
"sort": "hot",
"publish_time": "week",
"offset": 0,
"cursor": "<string>",
"raw": true
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/wechat_search/v2/fetch_search"
payload = {
"keyword": "See API documentation",
"business_type": "account",
"sort": "hot",
"publish_time": "week",
"offset": 0,
"cursor": "<string>",
"raw": True
}
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({
keyword: 'See API documentation',
business_type: 'account',
sort: 'hot',
publish_time: 'week',
offset: 0,
cursor: '<string>',
raw: true
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/wechat_search/v2/fetch_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/tikhub/wechat_search/v2/fetch_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([
'keyword' => 'See API documentation',
'business_type' => 'account',
'sort' => 'hot',
'publish_time' => 'week',
'offset' => 0,
'cursor' => '<string>',
'raw' => true
]),
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/tikhub/wechat_search/v2/fetch_search"
payload := strings.NewReader("{\n \"keyword\": \"See API documentation\",\n \"business_type\": \"account\",\n \"sort\": \"hot\",\n \"publish_time\": \"week\",\n \"offset\": 0,\n \"cursor\": \"<string>\",\n \"raw\": true\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/tikhub/wechat_search/v2/fetch_search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"See API documentation\",\n \"business_type\": \"account\",\n \"sort\": \"hot\",\n \"publish_time\": \"week\",\n \"offset\": 0,\n \"cursor\": \"<string>\",\n \"raw\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/wechat_search/v2/fetch_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 \"keyword\": \"See API documentation\",\n \"business_type\": \"account\",\n \"sort\": \"hot\",\n \"publish_time\": \"week\",\n \"offset\": 0,\n \"cursor\": \"<string>\",\n \"raw\": true\n}"
response = http.request(request)
puts response.read_bodycode 为 200 时计费。
示例
curl -X POST "https://api.aisa.one/apis/v1/tikhub/wechat_search/v2/fetch_search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' # 请求体结构见下方 schema
授权
AIsa API key. Get yours at https://aisa.one
请求体
Search keyword (1-100 chars
1 - 100"See API documentation"
ai_search) are gated server-side per account & region and currently always come back empty (count=0 plus a no_more message — still billed as a normal call). Use the categories field of an all search for the authoritative per-account tab list. Values outside this list are rejected (422
all, account, article, video, sticker, underline, encyclopedia, live_stream, comment, listen, news, photos, book, moments, image, mini_game, weixin_index, ai_search "account"
hot/2 (most liked); string key or integer
"hot"
half_year/3; string key or integer
"week"
Pass 0 for the first page; use cursor to paginate (offset alone does not work — it returns the first page every time
x >= 0Pagination cursor: leave empty for the first page; for the next page pass back the cursor returned in the previous response
True=raw search response; False=simplified parsed structure
响应
Successful response. Response structure varies; refer to the actual API response.