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, // Lower bound of audience size
"audienceSizeUpperBound": 492023890 // Upper bound of audience size
},
{
"id": "6002926036121",
"name": "Italy",
"topic": "Travel, places and events",
"audienceSizeLowerBound": 279313350, // Lower bound of audience size
"audienceSizeUpperBound": 328472500 // Upper bound of audience size
}
],
"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, // Lower bound of audience size
"audienceSizeUpperBound": 492023890 // Upper bound of audience size
},
{
"id": "6002926036121",
"name": "Italy",
"topic": "Travel, places and events",
"audienceSizeLowerBound": 279313350, // Lower bound of audience size
"audienceSizeUpperBound": 328472500 // Upper bound of audience size
}
],
"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.
تساعدك هذه النقطة النهائية في اكتشاف خيارات الاستهداف القائمة على الاهتمامات لإعلاناتك على Facebook، إلى جانب تقديرات حجم الجمهور.
- يمكن استخدام معرّفات الاهتمامات في مصفوفة
interestsعند تعزيز المنشورات. - يتم تخزين النتائج مؤقتًا لمدة 10 دقائق.
- استخدم مصطلحات بحث محددة وذات صلة للحصول على أفضل النتائج.
- قد يعيد Facebook نتائج مختلفة بناءً على مجال ومنطقة حساب الإعلانات لديك.
- توفر الحقول
audienceSizeLowerBoundوaudienceSizeUpperBoundفي استجابة JSON نطاقًا تقديريًا لحجم الجمهور للاهتمام، وهي مفيدة للاستهداف. - استخدم
specialAdCategoriesلإعادة الاهتمامات التي تسمح بها Meta فقط لحملة فئة إعلانات خاصة. تتطلب الطلبات المُفلترة أيضًاaccountId.
معاملات الرأس
معاملات الاستعلام
string
مطلوب
استعلام البحث لاسترداد اهتمامات إعلانات Facebook.لا تنسَ تهريب استعلام البحث، على سبيل المثال
Rhythm%20and%20blues%20music.array
قصر النتائج على الاهتمامات التي تسمح Meta لحملة فئة إعلانات خاصة باستهدافها. استخدم هذا قبل تعزيز منشور يتعلق بالإسكان أو التوظيف أو منشور مالي أو سياسي، حتى تختار معرّفات اهتمامات ستتم الموافقة على الإعلان بها فعليًا.القيم التالية مدعومة، وهي مطابقة لمعامل Boost Post الذي يحمل الاسم نفسه:
housingemploymentfinancial_product_services— تُقبلfinancial_products_servicesوcreditكمكافئتين وتؤولان إلى الفئة نفسهاissues_elections_politicsnone— مقبولة للتناظر مع Boost Post، حيث تعني “ليست ضمن فئة إعلانات خاصة”. تُرسل إلى Meta بصيغةregulated_categories=["NONE"]: يكون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
الذي يجري البحث عن الاهتمامات له، دون البادئة 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, // Lower bound of audience size
"audienceSizeUpperBound": 492023890 // Upper bound of audience size
},
{
"id": "6002926036121",
"name": "Italy",
"topic": "Travel, places and events",
"audienceSizeLowerBound": 279313350, // Lower bound of audience size
"audienceSizeUpperBound": 328472500 // Upper bound of audience size
}
],
"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."
}