curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/profiles
curl \
-H "Authorization: Bearer API_KEY" \
-X GET "https://api.ayrshare.com/api/profiles?refId=160c8700bd6ade&include=suspension,socialHealth,activity,quota"
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/profiles", {
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/profiles', headers=headers)
print(r.json())
<?php
$url = 'https://api.ayrshare.com/api/profiles';
$apiKey = 'API_KEY'; // Replace with your actual API key
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPGET => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
],
]);
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Error:' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace ProfilesGETRequest_csharp
{
class Profiles
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/profiles";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
try
{
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
}
{
"profiles": [
{
"status": "active",
"title": "Digg It Title",
"displayTitle": "Your title",
"created": {
"_seconds": 1604094099,
"_nanoseconds": 530000000
},
"createdUTC": "2022-03-02T16:11:00.839Z",
"refId": "160c8700bd6ade099b242d845e268fb986130c53",
"activeSocialAccounts": [
"twitter",
"facebook",
"linkedin",
"instagram"
],
"isByokLinked": true
},
{
"status": "active",
"title": "Super Profile",
"created": {
"_seconds": 1604377627,
"_nanoseconds": 252000000
},
"createdUTC": "2022-03-02T16:11:00.839Z",
"refId": "170a8700bd6ade099b242d845e268fb986130c53"
},
{
"status": "suspended",
"title": "Good Fun Title",
"created": {
"_seconds": 1605107864,
"_nanoseconds": 96000000
},
"createdUTC": "2022-03-02T16:11:00.839Z",
"refId": "180s8700bd6ade099b242d845e268fb986130c53",
"activeSocialAccounts": [
"facebook",
"linkedin",
"youtube"
],
"suspended": true
}
],
"count": 100,
"lastUpdated": "2025-06-14T15:53:26.016Z",
"nextUpdate": "2025-06-14T15:58:26.016Z",
"pagination": {
"hasMore": true,
"nextCursor": "eyJjcmVhdGVkIjoiMjAyNS0wNi0xNFQwMjo1",
"limit": 100
}
}
{
"profiles": {
"actionLog": [
{
"action": "create",
"refId": "2d83hd839282ehd892d2999912d1dsdgldfkepw",
"title": "Profile 1",
"created": "2025-05-29T14:10:33.709Z"
},
{
"action": "create",
"refId": "fmm02nd9c3nm9djjffdfsfshfihvp848jcsf222s",
"title": "Profile 2",
"created": "2025-05-28T20:33:32.186Z"
}
],
"userProfileReport": [
{
"reported": "2025-04-01T08:00:16.632Z",
"userProfilesCount": 135
},
{
"reported": "2025-03-31T08:00:22.651Z",
"userProfilesCount": 135
}
]
},
"lastUpdated": "2025-06-14T15:56:02.260Z",
"nextUpdate": "2025-06-14T16:01:02.260Z"
}
{
"profiles": [
{
"title": "Brand Marketing",
"refId": "160c8700bd6ade099b242d845e268fb986130c53",
"status": "suspended",
"activeSocialAccounts": ["twitter", "instagram"],
"suspension": {
"isSuspended": true,
"reason": "Too many duplicate posts",
"suspendedAt": "2026-03-01T10:00:00.000Z",
"unsuspendAt": "2026-03-03T10:00:00.000Z",
"suspensionCount": 2
},
"socialHealth": {
"twitter": {
"linked": true,
"linkedAt": "2026-01-15T10:30:00.000Z",
"relinkRecommended": false,
"messagingEnabled": true,
"tokenExpiresAt": null
},
"instagram": {
"linked": true,
"linkedAt": "2026-02-01T08:00:00.000Z",
"relinkRecommended": true,
"messagingEnabled": false,
"tokenExpiresAt": "2026-04-01T08:00:00.000Z"
}
},
"activity": {
"lastApiCall": "2026-03-05T09:15:00.000Z",
"lastPost": "2026-03-04T14:30:00.000Z"
},
"quota": {
"used": 450,
"limit": 1000
}
}
],
"count": 1,
"pagination": {
"hasMore": false,
"nextCursor": null,
"limit": 5000
}
}
Profiles
Obter User Profiles
Obtenha todos os profiles associados ao primary profile.
GET
/
profiles
curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/profiles
curl \
-H "Authorization: Bearer API_KEY" \
-X GET "https://api.ayrshare.com/api/profiles?refId=160c8700bd6ade&include=suspension,socialHealth,activity,quota"
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/profiles", {
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/profiles', headers=headers)
print(r.json())
<?php
$url = 'https://api.ayrshare.com/api/profiles';
$apiKey = 'API_KEY'; // Replace with your actual API key
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPGET => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
],
]);
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Error:' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace ProfilesGETRequest_csharp
{
class Profiles
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/profiles";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
try
{
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
}
{
"profiles": [
{
"status": "active",
"title": "Digg It Title",
"displayTitle": "Your title",
"created": {
"_seconds": 1604094099,
"_nanoseconds": 530000000
},
"createdUTC": "2022-03-02T16:11:00.839Z",
"refId": "160c8700bd6ade099b242d845e268fb986130c53",
"activeSocialAccounts": [
"twitter",
"facebook",
"linkedin",
"instagram"
],
"isByokLinked": true
},
{
"status": "active",
"title": "Super Profile",
"created": {
"_seconds": 1604377627,
"_nanoseconds": 252000000
},
"createdUTC": "2022-03-02T16:11:00.839Z",
"refId": "170a8700bd6ade099b242d845e268fb986130c53"
},
{
"status": "suspended",
"title": "Good Fun Title",
"created": {
"_seconds": 1605107864,
"_nanoseconds": 96000000
},
"createdUTC": "2022-03-02T16:11:00.839Z",
"refId": "180s8700bd6ade099b242d845e268fb986130c53",
"activeSocialAccounts": [
"facebook",
"linkedin",
"youtube"
],
"suspended": true
}
],
"count": 100,
"lastUpdated": "2025-06-14T15:53:26.016Z",
"nextUpdate": "2025-06-14T15:58:26.016Z",
"pagination": {
"hasMore": true,
"nextCursor": "eyJjcmVhdGVkIjoiMjAyNS0wNi0xNFQwMjo1",
"limit": 100
}
}
{
"profiles": {
"actionLog": [
{
"action": "create",
"refId": "2d83hd839282ehd892d2999912d1dsdgldfkepw",
"title": "Profile 1",
"created": "2025-05-29T14:10:33.709Z"
},
{
"action": "create",
"refId": "fmm02nd9c3nm9djjffdfsfshfihvp848jcsf222s",
"title": "Profile 2",
"created": "2025-05-28T20:33:32.186Z"
}
],
"userProfileReport": [
{
"reported": "2025-04-01T08:00:16.632Z",
"userProfilesCount": 135
},
{
"reported": "2025-03-31T08:00:22.651Z",
"userProfilesCount": 135
}
]
},
"lastUpdated": "2025-06-14T15:56:02.260Z",
"nextUpdate": "2025-06-14T16:01:02.260Z"
}
{
"profiles": [
{
"title": "Brand Marketing",
"refId": "160c8700bd6ade099b242d845e268fb986130c53",
"status": "suspended",
"activeSocialAccounts": ["twitter", "instagram"],
"suspension": {
"isSuspended": true,
"reason": "Too many duplicate posts",
"suspendedAt": "2026-03-01T10:00:00.000Z",
"unsuspendAt": "2026-03-03T10:00:00.000Z",
"suspensionCount": 2
},
"socialHealth": {
"twitter": {
"linked": true,
"linkedAt": "2026-01-15T10:30:00.000Z",
"relinkRecommended": false,
"messagingEnabled": true,
"tokenExpiresAt": null
},
"instagram": {
"linked": true,
"linkedAt": "2026-02-01T08:00:00.000Z",
"relinkRecommended": true,
"messagingEnabled": false,
"tokenExpiresAt": "2026-04-01T08:00:00.000Z"
}
},
"activity": {
"lastApiCall": "2026-03-05T09:15:00.000Z",
"lastPost": "2026-03-04T14:30:00.000Z"
},
"quota": {
"used": 450,
"limit": 1000
}
}
],
"count": 1,
"pagination": {
"hasMore": false,
"nextCursor": null,
"limit": 5000
}
}
Obtenha todos os profiles associados ao primary profile. O Primary Profile não é retornado nos resultados.
Por segurança, os Profile Keys não são retornados por esta chamada GET. Consulte aqui para mais informações.
Parâmetros do cabeçalho
Parâmetros de consulta
string
Retorna somente o profile associado ao título codificado em URL.
string
Retorna somente o profile associado ao
refId informado. O refId foi retornado na criação
do profile ou pelo endpoint /user.boolean
padrão:false
Se
true, retorna somente profiles que tenham pelo menos uma conta social conectada
(comprimento de activeSocialAccounts maior que zero). Se false, retorna somente profiles com zero
contas sociais conectadas (comprimento de activeSocialAccounts igual a zero).array
Filtra os profiles para incluir aqueles cujo
activeSocialAccounts contém todas as plataformas de mídia social especificadas na lista includesActiveSocialAccounts. Os profiles podem ter plataformas adicionais em seu activeSocialAccounts além das listadas em includesActiveSocialAccounts e, ainda assim, serem incluídos nos resultados filtrados.Valores: bluesky, facebook, gmb, instagram, linkedin, pinterest, reddit, snapchat, telegram, threads, tiktok, twitter, youtube.boolean
Filtra os profiles pelo status de migração BYOK (Bring Your Own Key). Se
true, retorna somente profiles que concluíram a migração BYOK. Se false, retorna somente profiles que possuem uma plataforma elegível para BYOK conectada, mas que ainda não migraram. Profiles sem uma plataforma elegível para BYOK são excluídos quando esse filtro é definido. Quando omitido, todos os profiles são retornados independentemente do status BYOK. Atualmente aplica-se ao X/Twitter BYOK.boolean
padrão:false
Retorna o histórico do log de ações de criação e exclusão de User Profile dos últimos 60 dias e a contagem diária de User Profiles dos últimos 60 dias. Observação:
- Action Log: título e tags não serão retornados no histórico de log de ações anterior a março de 2025.
- Relatório de User Profiles: o período pode não corresponder ao seu período de faturamento. Por exemplo, seu período de faturamento pode começar e terminar no dia 10 do mês. Consulte suas faturas para o período de faturamento e outros detalhes.
actionLog=10 retornará o log de ações dos últimos 10 dias e a contagem diária de User Profiles
para os últimos 10 dias. O período permitido é de 1 dia a 365 dias.number
padrão:5000
Limita o número de profiles retornados. O padrão e o máximo é 5000.
string
Se houver profiles adicionais a retornar e a flag
hasMore for true, o nextCursor será retornado na resposta.
Passe esse cursor no parâmetro de consulta cursor para retornar o próximo conjunto de profiles.string | array
Retorna dados estendidos do profile para diagnóstico. Requer o parâmetro
refId (consulta de um único profile).Valores (string separada por vírgulas ou matriz): suspension, socialHealth, linkingErrors, activity, quota, unlinkHistory, actionLog, state.suspension- isSuspended, reason, suspendedAt, unsuspendAt, suspensionCountsocialHealth- Por plataforma: linked, linkedAt, relinkRecommended, messagingEnabled, tokenExpiresAtlinkingErrors- Por plataforma: code, message, details, createdAtactivity- carimbos de data/hora lastApiCall, lastPostquota- used, limitunlinkHistory- Última desvinculação: platform, source (user/system), details, createdAtactionLog- Histórico de ações do profile (create/update/delete)state- Por rede: um único valorstatenormalizado, maissince,actionable,messageehelpUrl
state, então uma rede que
nunca foi vinculada retorna unlinked em vez de ser omitida.
Exatamente um valor state é retornado por rede, resolvido nesta ordem
quando mais de uma condição se aplica:state | Significado | actionable |
|---|---|---|
suspended | A conta está suspensa, portanto a rede não pode ser usada nem vinculada. | false |
unlinked | A rede não está vinculada a este profile. | true |
identityVerificationRequired | A Meta exige que o titular da conta verifique novamente sua identidade. Publicar retorna code: 326. | true |
restricted | O token de acesso não é mais válido. Vincule novamente para restaurar o acesso. | true |
rateLimited | A conta excedeu seu limite de taxa da API. Redefine automaticamente no fim do dia. | false |
linked | Vinculada e saudável. | false |
actionable informa se o usuário final pode agir para resolver o estado, então
é isso que decide se sua linha mostra um botão. since é incluído
apenas quando há um carimbo de data/hora registrado para aquele estado, e é omitido
caso contrário - notavelmente para restricted, que não registra data.curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/profiles
curl \
-H "Authorization: Bearer API_KEY" \
-X GET "https://api.ayrshare.com/api/profiles?refId=160c8700bd6ade&include=suspension,socialHealth,activity,quota"
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/profiles", {
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/profiles', headers=headers)
print(r.json())
<?php
$url = 'https://api.ayrshare.com/api/profiles';
$apiKey = 'API_KEY'; // Replace with your actual API key
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPGET => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
],
]);
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Error:' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace ProfilesGETRequest_csharp
{
class Profiles
{
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/profiles";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
try
{
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
}
{
"profiles": [
{
"status": "active",
"title": "Digg It Title",
"displayTitle": "Your title",
"created": {
"_seconds": 1604094099,
"_nanoseconds": 530000000
},
"createdUTC": "2022-03-02T16:11:00.839Z",
"refId": "160c8700bd6ade099b242d845e268fb986130c53",
"activeSocialAccounts": [
"twitter",
"facebook",
"linkedin",
"instagram"
],
"isByokLinked": true
},
{
"status": "active",
"title": "Super Profile",
"created": {
"_seconds": 1604377627,
"_nanoseconds": 252000000
},
"createdUTC": "2022-03-02T16:11:00.839Z",
"refId": "170a8700bd6ade099b242d845e268fb986130c53"
},
{
"status": "suspended",
"title": "Good Fun Title",
"created": {
"_seconds": 1605107864,
"_nanoseconds": 96000000
},
"createdUTC": "2022-03-02T16:11:00.839Z",
"refId": "180s8700bd6ade099b242d845e268fb986130c53",
"activeSocialAccounts": [
"facebook",
"linkedin",
"youtube"
],
"suspended": true
}
],
"count": 100,
"lastUpdated": "2025-06-14T15:53:26.016Z",
"nextUpdate": "2025-06-14T15:58:26.016Z",
"pagination": {
"hasMore": true,
"nextCursor": "eyJjcmVhdGVkIjoiMjAyNS0wNi0xNFQwMjo1",
"limit": 100
}
}
{
"profiles": {
"actionLog": [
{
"action": "create",
"refId": "2d83hd839282ehd892d2999912d1dsdgldfkepw",
"title": "Profile 1",
"created": "2025-05-29T14:10:33.709Z"
},
{
"action": "create",
"refId": "fmm02nd9c3nm9djjffdfsfshfihvp848jcsf222s",
"title": "Profile 2",
"created": "2025-05-28T20:33:32.186Z"
}
],
"userProfileReport": [
{
"reported": "2025-04-01T08:00:16.632Z",
"userProfilesCount": 135
},
{
"reported": "2025-03-31T08:00:22.651Z",
"userProfilesCount": 135
}
]
},
"lastUpdated": "2025-06-14T15:56:02.260Z",
"nextUpdate": "2025-06-14T16:01:02.260Z"
}
{
"profiles": [
{
"title": "Brand Marketing",
"refId": "160c8700bd6ade099b242d845e268fb986130c53",
"status": "suspended",
"activeSocialAccounts": ["twitter", "instagram"],
"suspension": {
"isSuspended": true,
"reason": "Too many duplicate posts",
"suspendedAt": "2026-03-01T10:00:00.000Z",
"unsuspendAt": "2026-03-03T10:00:00.000Z",
"suspensionCount": 2
},
"socialHealth": {
"twitter": {
"linked": true,
"linkedAt": "2026-01-15T10:30:00.000Z",
"relinkRecommended": false,
"messagingEnabled": true,
"tokenExpiresAt": null
},
"instagram": {
"linked": true,
"linkedAt": "2026-02-01T08:00:00.000Z",
"relinkRecommended": true,
"messagingEnabled": false,
"tokenExpiresAt": "2026-04-01T08:00:00.000Z"
}
},
"activity": {
"lastApiCall": "2026-03-05T09:15:00.000Z",
"lastPost": "2026-03-04T14:30:00.000Z"
},
"quota": {
"used": 450,
"limit": 1000
}
}
],
"count": 1,
"pagination": {
"hasMore": false,
"nextCursor": null,
"limit": 5000
}
}