curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/ads/instagram/accounts
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/instagram/accounts", {
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/instagram/accounts', headers=headers)
print(r.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ayrshare.com/api/ads/instagram/accounts",
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(string[] args)
{
string apiKey = "API_KEY";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
HttpResponseMessage response = await client.GetAsync("https://api.ayrshare.com/api/ads/instagram/accounts");
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
apiKey := "API_KEY"
req, _ := http.NewRequest("GET", "https://api.ayrshare.com/api/ads/instagram/accounts", nil)
req.Header.Add("Authorization", "Bearer " + apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetAdAccounts {
public static void main(String[] args) {
try {
String apiKey = "API_KEY";
URL url = new URL("https://api.ayrshare.com/api/ads/instagram/accounts");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer " + apiKey);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'json'
uri = URI('https://api.ayrshare.com/api/ads/instagram/accounts')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
http.request(req)
}
puts response.body
{
"status": "success",
"adAccounts": [
{
"accountId": "274948345",
"ageInDays": 2870.86,
"amountSpent": 191.33,
"balance": 7.84,
"budgetRemaining": 1,
"business": {
"name": "Fun Fun Fun",
"city": "New York",
"country": "US",
"state": "NY",
"street": "178 Columbus Ave",
"zip": "10023"
},
"created": "2012-01-05T03:11:31-0800",
"currency": "USD",
"disableReason": null,
"fundingSource": {
"id": "13157487252022",
"type": "Credit Card"
},
"hasNotificationsEnabled": true,
"isPersonal": false,
"isPrepayAccount": false,
"metrics": {
"spend": 191.33,
"impressions": 24994,
"reach": 20410,
"clicks": 622,
"ctr": 2.488597,
"cpm": 7.655037,
"cpp": 9.374326,
"frequency": 1.224596,
"uniqueClicks": 432,
"uniqueCtr": 2.11661,
"costPerUniqueClick": 0.442894,
"inlineLinkClicks": 538,
"costPerInlineLinkClick": 0.355632,
"outboundClicks": 468,
"costPerOutboundClick": 0.408825,
"websiteCtr": [
{
"action_type": "link_click",
"value": "2.152517"
}
],
"accountCurrency": "USD",
"accountName": "John Smith",
"accountId": "274948321"
},
"minDailyBudget": 1,
"name": "John Smith",
"ownerBusiness": {
"name": "My Business"
},
"spendCap": 0,
"status": "active",
"taxIdStatus": "NOT_REQUIRED",
"timezoneId": 74,
"timezoneName": "America/New_York",
"timezoneOffsetHoursUtc": -5
}
],
"count": 1,
"lastUpdated": "2025-03-27T00:55:00.000Z",
"nextUpdate": "2025-03-27T01:05:00.000Z"
}
{
"action": "get ad accounts",
"status": "error",
"code": 366,
"message": "Error getting ad accounts. Please verify you have an active ad account at Meta. You also might not have granted permission to access your ad account. Please try unlinking and relinking the platform and try again. Contact us if the issue persists."
}
Instagram Ads
Accounts
Get Instagram Ad Accounts
GET
/
ads
/
instagram
/
accounts
curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/ads/instagram/accounts
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/instagram/accounts", {
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/instagram/accounts', headers=headers)
print(r.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ayrshare.com/api/ads/instagram/accounts",
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(string[] args)
{
string apiKey = "API_KEY";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
HttpResponseMessage response = await client.GetAsync("https://api.ayrshare.com/api/ads/instagram/accounts");
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
apiKey := "API_KEY"
req, _ := http.NewRequest("GET", "https://api.ayrshare.com/api/ads/instagram/accounts", nil)
req.Header.Add("Authorization", "Bearer " + apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetAdAccounts {
public static void main(String[] args) {
try {
String apiKey = "API_KEY";
URL url = new URL("https://api.ayrshare.com/api/ads/instagram/accounts");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer " + apiKey);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'json'
uri = URI('https://api.ayrshare.com/api/ads/instagram/accounts')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
http.request(req)
}
puts response.body
{
"status": "success",
"adAccounts": [
{
"accountId": "274948345",
"ageInDays": 2870.86,
"amountSpent": 191.33,
"balance": 7.84,
"budgetRemaining": 1,
"business": {
"name": "Fun Fun Fun",
"city": "New York",
"country": "US",
"state": "NY",
"street": "178 Columbus Ave",
"zip": "10023"
},
"created": "2012-01-05T03:11:31-0800",
"currency": "USD",
"disableReason": null,
"fundingSource": {
"id": "13157487252022",
"type": "Credit Card"
},
"hasNotificationsEnabled": true,
"isPersonal": false,
"isPrepayAccount": false,
"metrics": {
"spend": 191.33,
"impressions": 24994,
"reach": 20410,
"clicks": 622,
"ctr": 2.488597,
"cpm": 7.655037,
"cpp": 9.374326,
"frequency": 1.224596,
"uniqueClicks": 432,
"uniqueCtr": 2.11661,
"costPerUniqueClick": 0.442894,
"inlineLinkClicks": 538,
"costPerInlineLinkClick": 0.355632,
"outboundClicks": 468,
"costPerOutboundClick": 0.408825,
"websiteCtr": [
{
"action_type": "link_click",
"value": "2.152517"
}
],
"accountCurrency": "USD",
"accountName": "John Smith",
"accountId": "274948321"
},
"minDailyBudget": 1,
"name": "John Smith",
"ownerBusiness": {
"name": "My Business"
},
"spendCap": 0,
"status": "active",
"taxIdStatus": "NOT_REQUIRED",
"timezoneId": 74,
"timezoneName": "America/New_York",
"timezoneOffsetHoursUtc": -5
}
],
"count": 1,
"lastUpdated": "2025-03-27T00:55:00.000Z",
"nextUpdate": "2025-03-27T01:05:00.000Z"
}
{
"action": "get ad accounts",
"status": "error",
"code": 366,
"message": "Error getting ad accounts. Please verify you have an active ad account at Meta. You also might not have granted permission to access your ad account. Please try unlinking and relinking the platform and try again. Contact us if the issue persists."
}
Retrieve available Instagram ad accounts associated with the authenticated profile.
This endpoint allows you to access basic account information as well as key metrics for the ad accounts.
Use
- The
metricsobject contains aggregate performance data across all ads in the account - Results are cached for 10 minutes to optimize performance and reduce API calls to Instagram
- Account status in the JSON response may be one of:
active,disabled,unsettled,pending_risk_review,pending_settlement,in_grace_period,pending_closure,closed,any_active, orany_closed
These endpoints require an Instagram Business account connected through Facebook with ads management permission. Relink through Facebook if that permission is missing. Instagram Login is not supported. Meta ad accounts can contain ads for both Facebook and Instagram; the account list is not an Instagram-only list. Submitted ads and history are scoped to Instagram.
facebook or instagram in the ads URL. Other platform values return HTTP 400 with code: 101.
Header Parameters
Query Parameters
number
default:100
Limit the number of ad accounts returned.
curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/ads/instagram/accounts
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/instagram/accounts", {
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/instagram/accounts', headers=headers)
print(r.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ayrshare.com/api/ads/instagram/accounts",
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(string[] args)
{
string apiKey = "API_KEY";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
HttpResponseMessage response = await client.GetAsync("https://api.ayrshare.com/api/ads/instagram/accounts");
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
apiKey := "API_KEY"
req, _ := http.NewRequest("GET", "https://api.ayrshare.com/api/ads/instagram/accounts", nil)
req.Header.Add("Authorization", "Bearer " + apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetAdAccounts {
public static void main(String[] args) {
try {
String apiKey = "API_KEY";
URL url = new URL("https://api.ayrshare.com/api/ads/instagram/accounts");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer " + apiKey);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'json'
uri = URI('https://api.ayrshare.com/api/ads/instagram/accounts')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
http.request(req)
}
puts response.body
{
"status": "success",
"adAccounts": [
{
"accountId": "274948345",
"ageInDays": 2870.86,
"amountSpent": 191.33,
"balance": 7.84,
"budgetRemaining": 1,
"business": {
"name": "Fun Fun Fun",
"city": "New York",
"country": "US",
"state": "NY",
"street": "178 Columbus Ave",
"zip": "10023"
},
"created": "2012-01-05T03:11:31-0800",
"currency": "USD",
"disableReason": null,
"fundingSource": {
"id": "13157487252022",
"type": "Credit Card"
},
"hasNotificationsEnabled": true,
"isPersonal": false,
"isPrepayAccount": false,
"metrics": {
"spend": 191.33,
"impressions": 24994,
"reach": 20410,
"clicks": 622,
"ctr": 2.488597,
"cpm": 7.655037,
"cpp": 9.374326,
"frequency": 1.224596,
"uniqueClicks": 432,
"uniqueCtr": 2.11661,
"costPerUniqueClick": 0.442894,
"inlineLinkClicks": 538,
"costPerInlineLinkClick": 0.355632,
"outboundClicks": 468,
"costPerOutboundClick": 0.408825,
"websiteCtr": [
{
"action_type": "link_click",
"value": "2.152517"
}
],
"accountCurrency": "USD",
"accountName": "John Smith",
"accountId": "274948321"
},
"minDailyBudget": 1,
"name": "John Smith",
"ownerBusiness": {
"name": "My Business"
},
"spendCap": 0,
"status": "active",
"taxIdStatus": "NOT_REQUIRED",
"timezoneId": 74,
"timezoneName": "America/New_York",
"timezoneOffsetHoursUtc": -5
}
],
"count": 1,
"lastUpdated": "2025-03-27T00:55:00.000Z",
"nextUpdate": "2025-03-27T01:05:00.000Z"
}
{
"action": "get ad accounts",
"status": "error",
"code": 366,
"message": "Error getting ad accounts. Please verify you have an active ad account at Meta. You also might not have granted permission to access your ad account. Please try unlinking and relinking the platform and try again. Contact us if the issue persists."
}