curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music", {
method: "GET",
headers: {
"Authorization": `Bearer ${API_KEY}`
}
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
headers = {'Authorization': 'Bearer API_KEY'}
r = requests.get('https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music', headers=headers)
print(r.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer API_KEY"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer API_KEY");
var response = await client.GetAsync("https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music", nil)
req.Header.Add("Authorization", "Bearer API_KEY")
resp, _ := client.Do(req)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class GetAdInterests {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music"))
.header("Authorization", "Bearer API_KEY")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
require 'net/http'
require 'json'
uri = URI('https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer API_KEY'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
http.request(req)
}
puts res.body
{
"status": "success",
"interests": [
{
"id": "6003195554098",
"name": "Rhythm and blues music",
"topic": "News and entertainment",
"audienceSizeLowerBound": 669180255,
"audienceSizeUpperBound": 786955980
},
{
"id": "6003470511564",
"name": "Do it yourself (DIY)",
"topic": "Hobbies and activities",
"audienceSizeLowerBound": 418387661, // 受众规模下限
"audienceSizeUpperBound": 492023890 // 受众规模上限
},
{
"id": "6002926036121",
"name": "Italy",
"topic": "Travel, places and events",
"audienceSizeLowerBound": 279313350, // 受众规模下限
"audienceSizeUpperBound": 328472500 // 受众规模上限
}
],
"count": 3,
"lastUpdated": "2025-03-27T01:01:38.547Z",
"nextUpdate": "2025-03-27T01:12:38.547Z"
}
{
"status": "success",
"interests": [
{
"id": "6003269553527",
"name": "Nursing",
"audienceSizeLowerBound": 91340120,
"audienceSizeUpperBound": 107420310
},
{
"id": "6003204427551",
"name": "Health care",
"audienceSizeLowerBound": 412880440,
"audienceSizeUpperBound": 485610770
}
],
"count": 2,
"specialAdCategories": ["EMPLOYMENT"],
"lastUpdated": "2026-09-11T01:01:38.547Z",
"nextUpdate": "2026-09-11T01:12:38.547Z"
}
{
"action": "get ad interests",
"status": "error",
"code": 368,
"message": "Error getting ad interests. Please try again or contact us if the issue persists."
}
Facebook Ads
興趣
獲取 Facebook 廣告興趣
GET
/
ads
/
facebook
/
interests
curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music", {
method: "GET",
headers: {
"Authorization": `Bearer ${API_KEY}`
}
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
headers = {'Authorization': 'Bearer API_KEY'}
r = requests.get('https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music', headers=headers)
print(r.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer API_KEY"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer API_KEY");
var response = await client.GetAsync("https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music", nil)
req.Header.Add("Authorization", "Bearer API_KEY")
resp, _ := client.Do(req)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class GetAdInterests {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music"))
.header("Authorization", "Bearer API_KEY")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
require 'net/http'
require 'json'
uri = URI('https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer API_KEY'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
http.request(req)
}
puts res.body
{
"status": "success",
"interests": [
{
"id": "6003195554098",
"name": "Rhythm and blues music",
"topic": "News and entertainment",
"audienceSizeLowerBound": 669180255,
"audienceSizeUpperBound": 786955980
},
{
"id": "6003470511564",
"name": "Do it yourself (DIY)",
"topic": "Hobbies and activities",
"audienceSizeLowerBound": 418387661, // 受众规模下限
"audienceSizeUpperBound": 492023890 // 受众规模上限
},
{
"id": "6002926036121",
"name": "Italy",
"topic": "Travel, places and events",
"audienceSizeLowerBound": 279313350, // 受众规模下限
"audienceSizeUpperBound": 328472500 // 受众规模上限
}
],
"count": 3,
"lastUpdated": "2025-03-27T01:01:38.547Z",
"nextUpdate": "2025-03-27T01:12:38.547Z"
}
{
"status": "success",
"interests": [
{
"id": "6003269553527",
"name": "Nursing",
"audienceSizeLowerBound": 91340120,
"audienceSizeUpperBound": 107420310
},
{
"id": "6003204427551",
"name": "Health care",
"audienceSizeLowerBound": 412880440,
"audienceSizeUpperBound": 485610770
}
],
"count": 2,
"specialAdCategories": ["EMPLOYMENT"],
"lastUpdated": "2026-09-11T01:01:38.547Z",
"nextUpdate": "2026-09-11T01:12:38.547Z"
}
{
"action": "get ad interests",
"status": "error",
"code": 368,
"message": "Error getting ad interests. Please try again or contact us if the issue persists."
}
按關鍵字搜索可用的 Facebook 廣告定位興趣。
使用此端點為 Boost Post 端點查找興趣 ID。
此端點可幫助您發現 Facebook 廣告的基於興趣的定位選項,並附帶受眾規模的估算。
- 推廣貼文時,興趣 ID 可用於
interests陣列中。 - 結果緩存 10 分鐘。
- 為獲得最佳結果,請使用具體且相關的搜索關鍵詞。
- Facebook 可能會根據您廣告帳戶所在的行業與地區返回不同的結果。
- JSON 響應中的
audienceSizeLowerBound和audienceSizeUpperBound欄位提供了 該興趣的受眾規模估算范圍,可用於定位參考。 - 使用
specialAdCategories可以只返回 Meta 允許 特殊廣告類別 活動定位的興趣。經過濾的請求還需要提供accountId。
請求頭參數
查詢參數
string
必填
用於獲取 Facebook 廣告興趣的搜索查詢。請務必對搜索查詢進行轉義,例如
Rhythm%20and%20blues%20music。array
將結果限制為 Meta 允許 特殊廣告類別 活動定位的興趣。在推廣住房、就業、金融或政治類貼文之前使用它,以便挑選廣告實際能夠獲得批准使用的興趣 ID。支援以下取值,與 Boost Post 的同名參數一致:
housingemploymentfinancial_product_services——financial_products_services和credit被接受為 等效寫法,並解析為同一類別issues_elections_politicsnone——為了與 Boost Post 保持對稱而接受,在那裡它表示「不屬於特殊廣告類別」。它會以regulated_categories=["NONE"]的形式發送給 Meta:此時accountId為必填,成功的響應會原樣返回["NONE"]。這並不保證得到與未過濾搜索相同的結果;Meta 拒絕時會返回code: 368。如果您想要普通的未過濾搜索,請完全省略specialAdCategories,而不要發送none。
400 及 code: 101,其中列出可接受的取值。該訊息以 Meta 的大寫形式書寫,並同時列出上述替代拼寫,因此其內容為 NONE, HOUSING, FINANCIAL_PRODUCTS_SERVICES, EMPLOYMENT, ISSUES_ELECTIONS_POLITICS, FINANCIAL_PRODUCT_SERVICES, CREDIT——與此處列出的類別相同,並非額外的類別。Boost Post 會返回完全相同的訊息。空值(如 ?specialAdCategories=)會以相同方式被拒絕。若要傳入多個類別,請重複該參數,例如 ?search=nursing&specialAdCategories=employment&specialAdCategories=housing。帶方括號的形式 ?specialAdCategories[]=employment&specialAdCategories[]=housing 同樣有效。逗號分隔的字串(如 ?specialAdCategories=employment,housing)不受支援,會被拒絕並返回 400 及 code: 101。所有請求的類別會在一次搜索中發送給 Meta。Ayrshare 返回 Meta 的結果,不會計算或保證各自獨立符合條件的興趣的交集。重複同一類別,或發送同一類別的兩種拼寫,會合併為單一類別。當您提供多個類別時,響應中返回的 specialAdCategories 欄位會按字母順序排序,而不是按照您發送的順序返回。完全省略 specialAdCategories 時,此端點的行為與以前完全相同:未過濾的搜索、無需 accountId,且響應結構不變。string
當提供
specialAdCategories 時必填,否則會被忽略。搜索興趣所針對的 Facebook 廣告帳戶
ID,不帶 act_ 前綴——與 Boost Post 使用的值相同。
可從 廣告帳戶端點 獲取。它必須是數字;帶有 act_
前綴的值會被接受並去除該前綴,其他任何值都會被拒絕並返回 400 及 code: 101。Meta 僅在廣告帳戶上提供類別感知的興趣搜索,因此提供了
specialAdCategories 卻未提供
accountId 的請求會在執行任何搜索之前被拒絕,並返回 400 及 code: 101。未帶
specialAdCategories 的請求保持不變,仍然不需要 accountId。number
預設值:100
限制返回的廣告興趣數量。
經過濾的響應會在
specialAdCategories 欄位中原樣返回所套用的類別,方便您確認結果是依據
哪些類別縮小範圍的。未過濾的響應會完全省略該欄位,而不是返回空值。經過濾的結果還會省略
每個興趣上的 topic 欄位,因為 Meta 的類別感知搜索不會返回它——請改為讀取 name。沒有
符合條件的興趣時,搜索會返回 200、空的 interests 陣列和 count: 0,而不是錯誤;
經過濾的搜索絕不會回退為未過濾的結果。curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music", {
method: "GET",
headers: {
"Authorization": `Bearer ${API_KEY}`
}
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
headers = {'Authorization': 'Bearer API_KEY'}
r = requests.get('https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music', headers=headers)
print(r.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer API_KEY"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer API_KEY");
var response = await client.GetAsync("https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music", nil)
req.Header.Add("Authorization", "Bearer API_KEY")
resp, _ := client.Do(req)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class GetAdInterests {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music"))
.header("Authorization", "Bearer API_KEY")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
require 'net/http'
require 'json'
uri = URI('https://api.ayrshare.com/api/ads/facebook/interests?search=Rhythm%20and%20blues%20music')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer API_KEY'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
http.request(req)
}
puts res.body
{
"status": "success",
"interests": [
{
"id": "6003195554098",
"name": "Rhythm and blues music",
"topic": "News and entertainment",
"audienceSizeLowerBound": 669180255,
"audienceSizeUpperBound": 786955980
},
{
"id": "6003470511564",
"name": "Do it yourself (DIY)",
"topic": "Hobbies and activities",
"audienceSizeLowerBound": 418387661, // 受众规模下限
"audienceSizeUpperBound": 492023890 // 受众规模上限
},
{
"id": "6002926036121",
"name": "Italy",
"topic": "Travel, places and events",
"audienceSizeLowerBound": 279313350, // 受众规模下限
"audienceSizeUpperBound": 328472500 // 受众规模上限
}
],
"count": 3,
"lastUpdated": "2025-03-27T01:01:38.547Z",
"nextUpdate": "2025-03-27T01:12:38.547Z"
}
{
"status": "success",
"interests": [
{
"id": "6003269553527",
"name": "Nursing",
"audienceSizeLowerBound": 91340120,
"audienceSizeUpperBound": 107420310
},
{
"id": "6003204427551",
"name": "Health care",
"audienceSizeLowerBound": 412880440,
"audienceSizeUpperBound": 485610770
}
],
"count": 2,
"specialAdCategories": ["EMPLOYMENT"],
"lastUpdated": "2026-09-11T01:01:38.547Z",
"nextUpdate": "2026-09-11T01:12:38.547Z"
}
{
"action": "get ad interests",
"status": "error",
"code": 368,
"message": "Error getting ad interests. Please try again or contact us if the issue persists."
}