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, // Límite inferior del tamaño de audiencia
"audienceSizeUpperBound": 492023890 // Límite superior del tamaño de audiencia
},
{
"id": "6002926036121",
"name": "Italy",
"topic": "Travel, places and events",
"audienceSizeLowerBound": 279313350, // Límite inferior del tamaño de audiencia
"audienceSizeUpperBound": 328472500 // Límite superior del tamaño de audiencia
}
],
"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
Intereses
Obtener intereses para anuncios de 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, // Límite inferior del tamaño de audiencia
"audienceSizeUpperBound": 492023890 // Límite superior del tamaño de audiencia
},
{
"id": "6002926036121",
"name": "Italy",
"topic": "Travel, places and events",
"audienceSizeLowerBound": 279313350, // Límite inferior del tamaño de audiencia
"audienceSizeUpperBound": 328472500 // Límite superior del tamaño de audiencia
}
],
"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."
}
Busca intereses disponibles para la segmentación de anuncios de Facebook por palabra clave.
Usa este endpoint para consultar IDs de intereses para el endpoint Impulsar publicación.
Este endpoint te ayuda a descubrir opciones de segmentación basadas en intereses para tus anuncios de Facebook, junto con estimaciones del tamaño de audiencia.
- Los IDs de intereses pueden usarse en el arreglo
interestsal impulsar publicaciones. - Los resultados se almacenan en caché durante 10 minutos.
- Usa términos de búsqueda específicos y relevantes para obtener los mejores resultados.
- Facebook puede devolver diferentes resultados en función del sector y la región de tu cuenta publicitaria.
- Los campos
audienceSizeLowerBoundyaudienceSizeUpperBounden la respuesta JSON proporcionan un rango estimado del tamaño de audiencia para el interés, y son útiles para la segmentación. - Usa
specialAdCategoriespara devolver solo los intereses que Meta permite para una campaña de categoría especial de anuncios. Las solicitudes filtradas también requierenaccountId.
Parámetros del encabezado
Parámetros de consulta
string
requerido
La consulta de búsqueda para recuperar intereses de anuncios de Facebook.No olvides escapar la consulta de búsqueda, por ejemplo
Rhythm%20and%20blues%20music.array
Restringe los resultados a los intereses que Meta permite segmentar a una campaña de categoría especial de anuncios. Úsalo antes de impulsar una publicación de vivienda, empleo, finanzas o política, para elegir IDs de intereses con los que el anuncio realmente será aprobado.Se admiten los siguientes valores, que coinciden con el parámetro del mismo nombre de Impulsar publicación:
housingemploymentfinancial_product_services—financial_products_servicesycreditse aceptan como equivalentes y se resuelven a la misma categoríaissues_elections_politicsnone— se acepta por simetría con Impulsar publicación, donde significa “no está en una categoría especial de anuncios”. Se envía a Meta comoregulated_categories=["NONE"]:accountIdes requerido y una respuesta exitosa devuelve["NONE"]. Esto no garantiza los mismos resultados que una búsqueda sin filtrar; un rechazo de Meta devuelvecode: 368. Si quieres una búsqueda ordinaria sin filtrar, omitespecialAdCategoriespor completo en lugar de enviarnone.
400 y code: 101 que enumera los valores aceptados. Ese mensaje está escrito en la forma en mayúsculas de Meta y también nombra las grafías alternativas anteriores, por lo que se lee NONE, HOUSING, FINANCIAL_PRODUCTS_SERVICES, EMPLOYMENT, ISSUES_ELECTIONS_POLITICS, FINANCIAL_PRODUCT_SERVICES, CREDIT — las mismas categorías listadas aquí, no categorías adicionales. Impulsar publicación devuelve el mismo mensaje. Un valor vacío, como en ?specialAdCategories=, se rechaza de la misma manera.Pasa más de una categoría repitiendo el parámetro, por ejemplo ?search=nursing&specialAdCategories=employment&specialAdCategories=housing. La forma con corchetes ?specialAdCategories[]=employment&specialAdCategories[]=housing también funciona. Una cadena separada por comas como ?specialAdCategories=employment,housing no se admite y se rechaza con un 400 y code: 101. Todas las categorías solicitadas se envían a Meta en una sola búsqueda. Ayrshare devuelve los resultados de Meta y no calcula ni garantiza una intersección de intereses elegibles de forma independiente. Repetir una categoría, o enviar dos grafías de la misma, se consolida en una sola categoría.Cuando proporcionas más de una categoría, el campo specialAdCategories devuelto en la respuesta se ordena alfabéticamente, en lugar de devolverse en el orden en que lo enviaste.Omite specialAdCategories por completo y el endpoint se comporta exactamente como antes: una búsqueda sin filtrar, sin necesidad de accountId y con la misma estructura de respuesta.string
Requerido cuando se proporciona
specialAdCategories, e ignorado en caso contrario. El ID de la cuenta
publicitaria de Facebook en la que se buscan los intereses, sin el prefijo act_ — el mismo valor que acepta
Impulsar publicación. Recupéralo desde el endpoint de cuentas
publicitarias. Debe ser numérico; un act_ inicial se acepta
y se elimina, y cualquier otra cosa se rechaza con un 400 y code: 101.Meta solo ofrece la búsqueda de intereses por categoría en una cuenta publicitaria, por lo que una
solicitud que proporcione
specialAdCategories sin accountId se rechaza con un 400 y code: 101
antes de que se ejecute ninguna búsqueda. Una solicitud sin specialAdCategories no cambia y sigue sin
necesitar accountId.number
predeterminado:100
Limita el número de intereses de anuncios devueltos.
Una respuesta filtrada devuelve las categorías aplicadas en un campo
specialAdCategories, para que
puedas confirmar con qué se acotaron los resultados. Una respuesta sin filtrar omite ese campo por
completo en lugar de devolverlo vacío. Los resultados filtrados también omiten el campo topic en cada
interés, porque la búsqueda por categoría de Meta no lo devuelve — lee name en su lugar. Una búsqueda
sin intereses elegibles devuelve 200 con un arreglo interests vacío y count: 0, no un error, y una
búsqueda filtrada nunca recurre a resultados sin filtrar.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, // Límite inferior del tamaño de audiencia
"audienceSizeUpperBound": 492023890 // Límite superior del tamaño de audiencia
},
{
"id": "6002926036121",
"name": "Italy",
"topic": "Travel, places and events",
"audienceSizeLowerBound": 279313350, // Límite inferior del tamaño de audiencia
"audienceSizeUpperBound": 328472500 // Límite superior del tamaño de audiencia
}
],
"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."
}