Get Search AI Businesses
curl --request POST \
--url https://api.birdeye.com/resources/v1/listing/searchAi/public/business \
--header 'Content-Type: application/json' \
--data '
{
"businessNumbers": [
67348934989,
327349434334,
278237892323
],
"aiModel": "CHATGPT",
"theme": "Dental implants",
"pageNo": 1,
"pageSize": 25,
"startDate": "03/01/2026",
"endDate": "03/31/2026",
"viewReportType": "LOCATION_LEVEL"
}
'import requests
url = "https://api.birdeye.com/resources/v1/listing/searchAi/public/business"
payload = {
"businessNumbers": [67348934989, 327349434334, 278237892323],
"aiModel": "CHATGPT",
"theme": "Dental implants",
"pageNo": 1,
"pageSize": 25,
"startDate": "03/01/2026",
"endDate": "03/31/2026",
"viewReportType": "LOCATION_LEVEL"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
businessNumbers: [67348934989, 327349434334, 278237892323],
aiModel: 'CHATGPT',
theme: 'Dental implants',
pageNo: 1,
pageSize: 25,
startDate: '03/01/2026',
endDate: '03/31/2026',
viewReportType: 'LOCATION_LEVEL'
})
};
fetch('https://api.birdeye.com/resources/v1/listing/searchAi/public/business', 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.birdeye.com/resources/v1/listing/searchAi/public/business",
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([
'businessNumbers' => [
67348934989,
327349434334,
278237892323
],
'aiModel' => 'CHATGPT',
'theme' => 'Dental implants',
'pageNo' => 1,
'pageSize' => 25,
'startDate' => '03/01/2026',
'endDate' => '03/31/2026',
'viewReportType' => 'LOCATION_LEVEL'
]),
CURLOPT_HTTPHEADER => [
"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.birdeye.com/resources/v1/listing/searchAi/public/business"
payload := strings.NewReader("{\n \"businessNumbers\": [\n 67348934989,\n 327349434334,\n 278237892323\n ],\n \"aiModel\": \"CHATGPT\",\n \"theme\": \"Dental implants\",\n \"pageNo\": 1,\n \"pageSize\": 25,\n \"startDate\": \"03/01/2026\",\n \"endDate\": \"03/31/2026\",\n \"viewReportType\": \"LOCATION_LEVEL\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.birdeye.com/resources/v1/listing/searchAi/public/business")
.header("Content-Type", "application/json")
.body("{\n \"businessNumbers\": [\n 67348934989,\n 327349434334,\n 278237892323\n ],\n \"aiModel\": \"CHATGPT\",\n \"theme\": \"Dental implants\",\n \"pageNo\": 1,\n \"pageSize\": 25,\n \"startDate\": \"03/01/2026\",\n \"endDate\": \"03/31/2026\",\n \"viewReportType\": \"LOCATION_LEVEL\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/listing/searchAi/public/business")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"businessNumbers\": [\n 67348934989,\n 327349434334,\n 278237892323\n ],\n \"aiModel\": \"CHATGPT\",\n \"theme\": \"Dental implants\",\n \"pageNo\": 1,\n \"pageSize\": 25,\n \"startDate\": \"03/01/2026\",\n \"endDate\": \"03/31/2026\",\n \"viewReportType\": \"LOCATION_LEVEL\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"theme": "Dental implants",
"prompt": "Best dental implant clinics near me",
"aiModel": "CHATGPT",
"businessNumber": 67348934989,
"processedDate": "13-Mar-2026",
"businesses": [
{
"name": "SmileCare Dental Clinic",
"phone": "+91-9876543210",
"postalCode": "700091",
"address": "Salt Lake Sector V, Bidhannagar",
"city": "Kolkata",
"websiteUrl": "https://www.smilecaredental.in"
},
{
"name": "Apollo Dental Clinic",
"phone": "+91-9831123456",
"postalCode": "700020",
"address": "Park Street, Near Metro Station",
"city": "Kolkata",
"websiteUrl": "https://www.apollodentalclinics.com"
}
]
},
{
"theme": "Dental implants",
"prompt": "Affordable dental implants in India",
"aiModel": "GEMINI",
"businessNumber": 327349434334,
"processedDate": "23-Mar-2026",
"businesses": [
{
"name": "Clove Dental",
"phone": "+91-9999030303",
"postalCode": "110001",
"address": "Connaught Place, Block A",
"city": "New Delhi",
"websiteUrl": "https://www.clovedental.in"
},
{
"name": "32 Smile Dental Clinic",
"phone": "+91-9823456789",
"postalCode": "411001",
"address": "MG Road, Camp Area",
"city": "Pune",
"websiteUrl": "https://www.32smile.in"
}
]
},
{
"theme": "Dental implants",
"prompt": "Top rated dental implant specialists",
"aiModel": "CHATGPT",
"businessNumber": 278237892323,
"processedDate": "25-Mar-2026",
"businesses": [
{
"name": "Axiss Dental Clinic",
"phone": "+91-9619944444",
"postalCode": "400050",
"address": "Linking Road, Bandra West",
"city": "Mumbai",
"websiteUrl": "https://www.axissdental.com"
}
]
}
],
"total": 3
}{
"code": 1161,
"message": "Invalid API key"
}{
"code": 89,
"message": "Rate limit exceeded"
}Search AI
Get Search AI Businesses
POST
/
v1
/
listing
/
searchAi
/
public
/
business
Get Search AI Businesses
curl --request POST \
--url https://api.birdeye.com/resources/v1/listing/searchAi/public/business \
--header 'Content-Type: application/json' \
--data '
{
"businessNumbers": [
67348934989,
327349434334,
278237892323
],
"aiModel": "CHATGPT",
"theme": "Dental implants",
"pageNo": 1,
"pageSize": 25,
"startDate": "03/01/2026",
"endDate": "03/31/2026",
"viewReportType": "LOCATION_LEVEL"
}
'import requests
url = "https://api.birdeye.com/resources/v1/listing/searchAi/public/business"
payload = {
"businessNumbers": [67348934989, 327349434334, 278237892323],
"aiModel": "CHATGPT",
"theme": "Dental implants",
"pageNo": 1,
"pageSize": 25,
"startDate": "03/01/2026",
"endDate": "03/31/2026",
"viewReportType": "LOCATION_LEVEL"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
businessNumbers: [67348934989, 327349434334, 278237892323],
aiModel: 'CHATGPT',
theme: 'Dental implants',
pageNo: 1,
pageSize: 25,
startDate: '03/01/2026',
endDate: '03/31/2026',
viewReportType: 'LOCATION_LEVEL'
})
};
fetch('https://api.birdeye.com/resources/v1/listing/searchAi/public/business', 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.birdeye.com/resources/v1/listing/searchAi/public/business",
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([
'businessNumbers' => [
67348934989,
327349434334,
278237892323
],
'aiModel' => 'CHATGPT',
'theme' => 'Dental implants',
'pageNo' => 1,
'pageSize' => 25,
'startDate' => '03/01/2026',
'endDate' => '03/31/2026',
'viewReportType' => 'LOCATION_LEVEL'
]),
CURLOPT_HTTPHEADER => [
"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.birdeye.com/resources/v1/listing/searchAi/public/business"
payload := strings.NewReader("{\n \"businessNumbers\": [\n 67348934989,\n 327349434334,\n 278237892323\n ],\n \"aiModel\": \"CHATGPT\",\n \"theme\": \"Dental implants\",\n \"pageNo\": 1,\n \"pageSize\": 25,\n \"startDate\": \"03/01/2026\",\n \"endDate\": \"03/31/2026\",\n \"viewReportType\": \"LOCATION_LEVEL\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.birdeye.com/resources/v1/listing/searchAi/public/business")
.header("Content-Type", "application/json")
.body("{\n \"businessNumbers\": [\n 67348934989,\n 327349434334,\n 278237892323\n ],\n \"aiModel\": \"CHATGPT\",\n \"theme\": \"Dental implants\",\n \"pageNo\": 1,\n \"pageSize\": 25,\n \"startDate\": \"03/01/2026\",\n \"endDate\": \"03/31/2026\",\n \"viewReportType\": \"LOCATION_LEVEL\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/listing/searchAi/public/business")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"businessNumbers\": [\n 67348934989,\n 327349434334,\n 278237892323\n ],\n \"aiModel\": \"CHATGPT\",\n \"theme\": \"Dental implants\",\n \"pageNo\": 1,\n \"pageSize\": 25,\n \"startDate\": \"03/01/2026\",\n \"endDate\": \"03/31/2026\",\n \"viewReportType\": \"LOCATION_LEVEL\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"theme": "Dental implants",
"prompt": "Best dental implant clinics near me",
"aiModel": "CHATGPT",
"businessNumber": 67348934989,
"processedDate": "13-Mar-2026",
"businesses": [
{
"name": "SmileCare Dental Clinic",
"phone": "+91-9876543210",
"postalCode": "700091",
"address": "Salt Lake Sector V, Bidhannagar",
"city": "Kolkata",
"websiteUrl": "https://www.smilecaredental.in"
},
{
"name": "Apollo Dental Clinic",
"phone": "+91-9831123456",
"postalCode": "700020",
"address": "Park Street, Near Metro Station",
"city": "Kolkata",
"websiteUrl": "https://www.apollodentalclinics.com"
}
]
},
{
"theme": "Dental implants",
"prompt": "Affordable dental implants in India",
"aiModel": "GEMINI",
"businessNumber": 327349434334,
"processedDate": "23-Mar-2026",
"businesses": [
{
"name": "Clove Dental",
"phone": "+91-9999030303",
"postalCode": "110001",
"address": "Connaught Place, Block A",
"city": "New Delhi",
"websiteUrl": "https://www.clovedental.in"
},
{
"name": "32 Smile Dental Clinic",
"phone": "+91-9823456789",
"postalCode": "411001",
"address": "MG Road, Camp Area",
"city": "Pune",
"websiteUrl": "https://www.32smile.in"
}
]
},
{
"theme": "Dental implants",
"prompt": "Top rated dental implant specialists",
"aiModel": "CHATGPT",
"businessNumber": 278237892323,
"processedDate": "25-Mar-2026",
"businesses": [
{
"name": "Axiss Dental Clinic",
"phone": "+91-9619944444",
"postalCode": "400050",
"address": "Linking Road, Bandra West",
"city": "Mumbai",
"websiteUrl": "https://www.axissdental.com"
}
]
}
],
"total": 3
}{
"code": 1161,
"message": "Invalid API key"
}{
"code": 89,
"message": "Rate limit exceeded"
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
e.g. [Required] User associated businessNumber
Body
application/json
Comma-separated list of business numbers to retrieve the report for.
Possible values are [CHATGPT, GEMINI, PERPLEXITY]
Specifies the theme or category used to filter the report data.
Specifies the page number for paginated results. Defaults to 1.
Defines the number of records to be returned per page. Defaults to 25.
Start date for the report range (format: mm/dd/yyyy).
End date for the report range (format: mm/dd/yyyy).
Defines the level at which the report is generated. Allowed values: LOCATION_LEVEL, ACCOUNT_LEVEL

