curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/ads/instagram/history?accountId=1234567890
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/instagram/history?accountId=1234567890", {
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/history', headers=headers)
print(r.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ayrshare.com/api/ads/instagram/history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer API_KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error: " . $err;
} else {
echo $response;
}
?>
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer API_KEY");
var response = await client.GetAsync("https://api.ayrshare.com/api/ads/instagram/history");
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/instagram/history", nil)
req.Header.Add("Authorization", "Bearer API_KEY")
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
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 GetAdSpend {
public static void main(String[] args) {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.ayrshare.com/api/ads/instagram/history"))
.header("Authorization", "Bearer API_KEY")
.GET()
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI.parse('https://api.ayrshare.com/api/ads/instagram/history')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body
{
"status": "success",
"history": [
{
"adId": "6683876017501",
"adName": "API Post 1 - DE6gpw8kxlonHy6eb7L1 - 2025-03-30T17:11:26",
"budgetDaily": 4,
"budgetType": "daily",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 3,
"impressions": 1035,
"reach": 1026,
"frequency": 1.01,
"ctr": 0.29,
"cpm": 1.53,
"cpp": 1.54,
"cpc": 0.53
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7L1",
"spend": 1.58,
"spendDate": "2025-04-02T00:00:00.000Z",
"spendUsd": 1.58,
"status": "ACTIVE",
"accountId": "274948332"
},
{
"adId": "120218167147110411",
"adName": "API Post 2 - DE6gpw8kxlonHy6eb7L1 - 2025-03-30T16:41:15",
"budgetDaily": 4,
"budgetType": "daily",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 4,
"impressions": 1036,
"reach": 1011,
"frequency": 1.02,
"ctr": 0.39,
"cpm": 1.61,
"cpp": 1.65,
"cpc": 0.42
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7L1",
"spend": 1.67,
"spendDate": "2025-04-02T00:00:00.000Z",
"spendUsd": 1.67,
"status": "ACTIVE",
"accountId": "274948332"
}
],
"dateRange": {
"start": "2025-03-04T18:49:18.159Z",
"end": "2025-04-03T18:49:18.159Z"
},
"metrics": {
"totalSpend": 3.25,
"totalSpendByCurrency": { "USD": 3.25 },
"unconvertedRows": 0,
"totalClicks": 7,
"totalImpressions": 2071,
"totalReach": 2037,
"averageCTR": 0.34,
"averageFrequency": 1.02,
"cpm": 1.57,
"cpp": 1.6,
"cpc": 0.46,
"costPerResult": 0.46,
"byGoalType": {
"engagement": {
"spend": 3.25,
"impressions": 2071,
"clicks": 7,
"reach": 2037,
"count": 2,
"ctr": 0.3380009657170449,
"cpm": 1.5692901979719942,
"cpp": 1.5954835542464407,
"cpc": 0.4642857142857143
}
},
"byGoalTitle": {
"Get More Engagement": {
"spend": 3.25,
"impressions": 2071,
"clicks": 7,
"reach": 2037,
"count": 2,
"ctr": 0.3380009657170449,
"cpm": 1.5692901979719942,
"cpp": 1.5954835542464407,
"cpc": 0.4642857142857143,
"type": "engagement"
}
},
"goalPerformance": {
"bestPerformingGoalType": {
"type": "engagement",
"clicks": 7,
"spend": 3.25,
"ctr": 0.34
},
"mostEfficientGoalType": {
"type": "engagement",
"cpc": 0.46,
"spend": 3.25
}
},
"count": 2,
"firstDay": "2025-04-02T00:00:00.000Z",
"lastDay": "2025-04-02T00:00:00.000Z"
}
}
{
"status": "success",
"history": [
{
"accountId": "274948332",
"adId": "6683876017505",
"adName": "API Post 13 - DE6gpw8kxlonHy6eb7Lo - 2025-03-30T17:11:26",
"budgetDaily": 4,
"budgetType": "",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"socialPostId": "17890000000000001",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 2,
"cpc": 0.35,
"cpp": 1.6,
"cpm": 1.55,
"ctr": 0.44,
"frequency": 1.03,
"impressions": 452,
"reach": 438
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7Lo",
"spend": 0.7,
"spendDate": "2025-04-03T00:00:00.000Z",
"spendUsd": 0.7,
"status": "ACTIVE",
"igPostId": "17890000000000001"
},
{
"accountId": "274948332",
"adId": "6683876017505",
"adName": "API Post 13 - DE6gpw8kxlonHy6eb7Lo - 2025-03-30T17:11:26",
"budgetDaily": 4,
"budgetType": "daily",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"socialPostId": "17890000000000001",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 1,
"cpc": 4.19,
"cpp": 1.5,
"cpm": 1.5,
"ctr": 0.04,
"frequency": 1,
"impressions": 2793,
"reach": 2793
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7Lo",
"spend": 4.19,
"spendDate": "2025-04-02T00:00:00.000Z",
"spendUsd": 4.19,
"status": "ACTIVE",
"igPostId": "17890000000000001"
}
],
"dateRange": {
"start": "2025-03-04T18:49:18.159Z",
"end": "2025-04-03T18:49:18.159Z",
"adId": "6683876017505"
},
"metrics": {
"totalSpend": 4.89,
"totalSpendByCurrency": { "USD": 4.89 },
"unconvertedRows": 0,
"totalClicks": 3,
"totalImpressions": 3245,
"totalReach": 3231,
"averageCTR": 0.09,
"averageFrequency": 1.02,
"cpm": 1.51,
"cpp": 1.51,
"cpc": 1.63,
"costPerResult": 1.63,
"byGoalType": {
"engagement": {
"spend": 4.890000000000001,
"impressions": 3245,
"clicks": 3,
"reach": 3231,
"count": 2,
"ctr": 0.09244992295839753,
"cpm": 1.50693374422188,
"cpp": 1.5134633240482824,
"cpc": 1.6300000000000001
}
},
"byGoalTitle": {
"Get More Engagement": {
"spend": 4.890000000000001,
"impressions": 3245,
"clicks": 3,
"reach": 3231,
"count": 2,
"ctr": 0.09244992295839753,
"cpm": 1.50693374422188,
"cpp": 1.5134633240482824,
"cpc": 1.6300000000000001,
"type": "engagement"
}
},
"goalPerformance": {
"bestPerformingGoalType": {
"type": "engagement",
"clicks": 3,
"spend": 4.89,
"ctr": 0.09
},
"mostEfficientGoalType": {
"type": "engagement",
"cpc": 1.63,
"spend": 4.89
}
},
"count": 2,
"firstDay": "2025-04-02T00:00:00.000Z",
"lastDay": "2025-04-03T00:00:00.000Z"
}
}
{
"status": "success",
"history": [],
"dateRange": {
"start": "2025-03-04T18:49:18.159Z",
"end": "2025-04-03T18:49:18.159Z",
"adId": "6683876017505"
},
"metrics": {
"totalSpend": 0,
"totalSpendByCurrency": {},
"unconvertedRows": 0,
"totalClicks": 0,
"totalImpressions": 0,
"totalReach": 0,
"averageCTR": 0,
"averageFrequency": 0,
"cpm": 0,
"cpp": 0,
"cpc": 0,
"costPerResult": 0,
"byGoalType": {},
"byGoalTitle": {},
"goalPerformance": {
"bestPerformingGoalType": null,
"mostEfficientGoalType": null
},
"daysCount": 0,
"firstDay": null,
"lastDay": null
},
"warnings": [
{
"action": "ads",
"status": "error",
"code": 401,
"message": "No spend data found for the ad."
}
]
}
{
"action": "ads",
"status": "error",
"code": 370,
"message": "Error getting ads. Please try again or contact us if the issue persists.",
"details": "Error retrieving ads spend data"
}
Instagram Ads
历史记录
查询 Instagram 广告的每日历史支出与表现指标,按广告目标分组统计并提供美元换算的汇总数据;数据截止于美东时间上午 8 点,实时支出请用 ads 端点。
GET
/
ads
/
instagram
/
history
curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/ads/instagram/history?accountId=1234567890
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/instagram/history?accountId=1234567890", {
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/history', headers=headers)
print(r.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ayrshare.com/api/ads/instagram/history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer API_KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error: " . $err;
} else {
echo $response;
}
?>
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer API_KEY");
var response = await client.GetAsync("https://api.ayrshare.com/api/ads/instagram/history");
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/instagram/history", nil)
req.Header.Add("Authorization", "Bearer API_KEY")
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
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 GetAdSpend {
public static void main(String[] args) {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.ayrshare.com/api/ads/instagram/history"))
.header("Authorization", "Bearer API_KEY")
.GET()
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI.parse('https://api.ayrshare.com/api/ads/instagram/history')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body
{
"status": "success",
"history": [
{
"adId": "6683876017501",
"adName": "API Post 1 - DE6gpw8kxlonHy6eb7L1 - 2025-03-30T17:11:26",
"budgetDaily": 4,
"budgetType": "daily",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 3,
"impressions": 1035,
"reach": 1026,
"frequency": 1.01,
"ctr": 0.29,
"cpm": 1.53,
"cpp": 1.54,
"cpc": 0.53
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7L1",
"spend": 1.58,
"spendDate": "2025-04-02T00:00:00.000Z",
"spendUsd": 1.58,
"status": "ACTIVE",
"accountId": "274948332"
},
{
"adId": "120218167147110411",
"adName": "API Post 2 - DE6gpw8kxlonHy6eb7L1 - 2025-03-30T16:41:15",
"budgetDaily": 4,
"budgetType": "daily",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 4,
"impressions": 1036,
"reach": 1011,
"frequency": 1.02,
"ctr": 0.39,
"cpm": 1.61,
"cpp": 1.65,
"cpc": 0.42
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7L1",
"spend": 1.67,
"spendDate": "2025-04-02T00:00:00.000Z",
"spendUsd": 1.67,
"status": "ACTIVE",
"accountId": "274948332"
}
],
"dateRange": {
"start": "2025-03-04T18:49:18.159Z",
"end": "2025-04-03T18:49:18.159Z"
},
"metrics": {
"totalSpend": 3.25,
"totalSpendByCurrency": { "USD": 3.25 },
"unconvertedRows": 0,
"totalClicks": 7,
"totalImpressions": 2071,
"totalReach": 2037,
"averageCTR": 0.34,
"averageFrequency": 1.02,
"cpm": 1.57,
"cpp": 1.6,
"cpc": 0.46,
"costPerResult": 0.46,
"byGoalType": {
"engagement": {
"spend": 3.25,
"impressions": 2071,
"clicks": 7,
"reach": 2037,
"count": 2,
"ctr": 0.3380009657170449,
"cpm": 1.5692901979719942,
"cpp": 1.5954835542464407,
"cpc": 0.4642857142857143
}
},
"byGoalTitle": {
"Get More Engagement": {
"spend": 3.25,
"impressions": 2071,
"clicks": 7,
"reach": 2037,
"count": 2,
"ctr": 0.3380009657170449,
"cpm": 1.5692901979719942,
"cpp": 1.5954835542464407,
"cpc": 0.4642857142857143,
"type": "engagement"
}
},
"goalPerformance": {
"bestPerformingGoalType": {
"type": "engagement",
"clicks": 7,
"spend": 3.25,
"ctr": 0.34
},
"mostEfficientGoalType": {
"type": "engagement",
"cpc": 0.46,
"spend": 3.25
}
},
"count": 2,
"firstDay": "2025-04-02T00:00:00.000Z",
"lastDay": "2025-04-02T00:00:00.000Z"
}
}
{
"status": "success",
"history": [
{
"accountId": "274948332",
"adId": "6683876017505",
"adName": "API Post 13 - DE6gpw8kxlonHy6eb7Lo - 2025-03-30T17:11:26",
"budgetDaily": 4,
"budgetType": "",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"socialPostId": "17890000000000001",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 2,
"cpc": 0.35,
"cpp": 1.6,
"cpm": 1.55,
"ctr": 0.44,
"frequency": 1.03,
"impressions": 452,
"reach": 438
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7Lo",
"spend": 0.7,
"spendDate": "2025-04-03T00:00:00.000Z",
"spendUsd": 0.7,
"status": "ACTIVE",
"igPostId": "17890000000000001"
},
{
"accountId": "274948332",
"adId": "6683876017505",
"adName": "API Post 13 - DE6gpw8kxlonHy6eb7Lo - 2025-03-30T17:11:26",
"budgetDaily": 4,
"budgetType": "daily",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"socialPostId": "17890000000000001",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 1,
"cpc": 4.19,
"cpp": 1.5,
"cpm": 1.5,
"ctr": 0.04,
"frequency": 1,
"impressions": 2793,
"reach": 2793
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7Lo",
"spend": 4.19,
"spendDate": "2025-04-02T00:00:00.000Z",
"spendUsd": 4.19,
"status": "ACTIVE",
"igPostId": "17890000000000001"
}
],
"dateRange": {
"start": "2025-03-04T18:49:18.159Z",
"end": "2025-04-03T18:49:18.159Z",
"adId": "6683876017505"
},
"metrics": {
"totalSpend": 4.89,
"totalSpendByCurrency": { "USD": 4.89 },
"unconvertedRows": 0,
"totalClicks": 3,
"totalImpressions": 3245,
"totalReach": 3231,
"averageCTR": 0.09,
"averageFrequency": 1.02,
"cpm": 1.51,
"cpp": 1.51,
"cpc": 1.63,
"costPerResult": 1.63,
"byGoalType": {
"engagement": {
"spend": 4.890000000000001,
"impressions": 3245,
"clicks": 3,
"reach": 3231,
"count": 2,
"ctr": 0.09244992295839753,
"cpm": 1.50693374422188,
"cpp": 1.5134633240482824,
"cpc": 1.6300000000000001
}
},
"byGoalTitle": {
"Get More Engagement": {
"spend": 4.890000000000001,
"impressions": 3245,
"clicks": 3,
"reach": 3231,
"count": 2,
"ctr": 0.09244992295839753,
"cpm": 1.50693374422188,
"cpp": 1.5134633240482824,
"cpc": 1.6300000000000001,
"type": "engagement"
}
},
"goalPerformance": {
"bestPerformingGoalType": {
"type": "engagement",
"clicks": 3,
"spend": 4.89,
"ctr": 0.09
},
"mostEfficientGoalType": {
"type": "engagement",
"cpc": 1.63,
"spend": 4.89
}
},
"count": 2,
"firstDay": "2025-04-02T00:00:00.000Z",
"lastDay": "2025-04-03T00:00:00.000Z"
}
}
{
"status": "success",
"history": [],
"dateRange": {
"start": "2025-03-04T18:49:18.159Z",
"end": "2025-04-03T18:49:18.159Z",
"adId": "6683876017505"
},
"metrics": {
"totalSpend": 0,
"totalSpendByCurrency": {},
"unconvertedRows": 0,
"totalClicks": 0,
"totalImpressions": 0,
"totalReach": 0,
"averageCTR": 0,
"averageFrequency": 0,
"cpm": 0,
"cpp": 0,
"cpc": 0,
"costPerResult": 0,
"byGoalType": {},
"byGoalTitle": {},
"goalPerformance": {
"bestPerformingGoalType": null,
"mostEfficientGoalType": null
},
"daysCount": 0,
"firstDay": null,
"lastDay": null
},
"warnings": [
{
"action": "ads",
"status": "error",
"code": 401,
"message": "No spend data found for the ad."
}
]
}
{
"action": "ads",
"status": "error",
"code": 370,
"message": "Error getting ads. Please try again or contact us if the issue persists.",
"details": "Error retrieving ads spend data"
}
获取 Instagram 广告的每日广告支出和表现指标详情。
此端点提供全面的广告分析数据,包括按日细分、按目标划分的表现以及聚合指标。
history 数组包含每条广告的每日历史支出与表现指标。数据截止于美东时间上午 8 点。
如果需要实时支出数据,或尚未产生支出,请使用 ads 端点。如果没有可用的支出数据或尚未产生支出,则不会返回该广告。当日期范围内没有任何广告产生花费时,响应仍然是成功的:history 为空,warnings 包含一个代码为 401 的条目。- 指标是通过 Instagram 的报表 API 计算得出,可能存在轻微延迟(最长 24 小时)。
byGoalType和byGoalTitle部分按目标(objective)对表现指标进行分组。- 使用
adId或postId过滤器可将结果限定到特定的活动。 - 每天的
spend以广告账户的货币计算,货币见currency。spendUsd是同一笔花费的美元金额。 - 非美元花费按 Open Exchange Rates 提供的当天汇率换算为美元。
totalSpend、cpm、cpp、cpc、costPerResult以及各目标的spend合计均以美元计算。 totalSpendByCurrency给出换算前每种货币的总花费。unconvertedRows统计尚未换算的天数:这些天按原金额计入totalSpend,其spendUsd为null。- 2026 年 10 月之前的花费可能显示
currency: "USD",即使广告账户使用其他货币,并按记录的金额计入totalSpend。 goalPerformance部分会突出显示表现最佳的广告目标。
请求头参数
查询参数
string
将结果过滤到特定账户 ID。
string
将结果过滤到特定广告 ID。
string
将结果过滤到与特定 Ayrshare 帖子 ID 相关联的广告。
string
将结果过滤到与特定 Instagram 社交帖子 ID 相关联的广告。
number
默认值:25
最多获取
limit 条广告。最大值为 300;更高的值会被限制为 300。string
默认值:"30 days ago"
报告期的开始日期,采用 ISO 8601 格式(默认:30 天前)
string
默认值:"today"
报告期的结束日期,采用 ISO 8601 格式(默认:今天)
curl \
-H "Authorization: Bearer API_KEY" \
-X GET https://api.ayrshare.com/api/ads/instagram/history?accountId=1234567890
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/ads/instagram/history?accountId=1234567890", {
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/history', headers=headers)
print(r.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ayrshare.com/api/ads/instagram/history",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer API_KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error: " . $err;
} else {
echo $response;
}
?>
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer API_KEY");
var response = await client.GetAsync("https://api.ayrshare.com/api/ads/instagram/history");
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/instagram/history", nil)
req.Header.Add("Authorization", "Bearer API_KEY")
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
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 GetAdSpend {
public static void main(String[] args) {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.ayrshare.com/api/ads/instagram/history"))
.header("Authorization", "Bearer API_KEY")
.GET()
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI.parse('https://api.ayrshare.com/api/ads/instagram/history')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body
{
"status": "success",
"history": [
{
"adId": "6683876017501",
"adName": "API Post 1 - DE6gpw8kxlonHy6eb7L1 - 2025-03-30T17:11:26",
"budgetDaily": 4,
"budgetType": "daily",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 3,
"impressions": 1035,
"reach": 1026,
"frequency": 1.01,
"ctr": 0.29,
"cpm": 1.53,
"cpp": 1.54,
"cpc": 0.53
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7L1",
"spend": 1.58,
"spendDate": "2025-04-02T00:00:00.000Z",
"spendUsd": 1.58,
"status": "ACTIVE",
"accountId": "274948332"
},
{
"adId": "120218167147110411",
"adName": "API Post 2 - DE6gpw8kxlonHy6eb7L1 - 2025-03-30T16:41:15",
"budgetDaily": 4,
"budgetType": "daily",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 4,
"impressions": 1036,
"reach": 1011,
"frequency": 1.02,
"ctr": 0.39,
"cpm": 1.61,
"cpp": 1.65,
"cpc": 0.42
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7L1",
"spend": 1.67,
"spendDate": "2025-04-02T00:00:00.000Z",
"spendUsd": 1.67,
"status": "ACTIVE",
"accountId": "274948332"
}
],
"dateRange": {
"start": "2025-03-04T18:49:18.159Z",
"end": "2025-04-03T18:49:18.159Z"
},
"metrics": {
"totalSpend": 3.25,
"totalSpendByCurrency": { "USD": 3.25 },
"unconvertedRows": 0,
"totalClicks": 7,
"totalImpressions": 2071,
"totalReach": 2037,
"averageCTR": 0.34,
"averageFrequency": 1.02,
"cpm": 1.57,
"cpp": 1.6,
"cpc": 0.46,
"costPerResult": 0.46,
"byGoalType": {
"engagement": {
"spend": 3.25,
"impressions": 2071,
"clicks": 7,
"reach": 2037,
"count": 2,
"ctr": 0.3380009657170449,
"cpm": 1.5692901979719942,
"cpp": 1.5954835542464407,
"cpc": 0.4642857142857143
}
},
"byGoalTitle": {
"Get More Engagement": {
"spend": 3.25,
"impressions": 2071,
"clicks": 7,
"reach": 2037,
"count": 2,
"ctr": 0.3380009657170449,
"cpm": 1.5692901979719942,
"cpp": 1.5954835542464407,
"cpc": 0.4642857142857143,
"type": "engagement"
}
},
"goalPerformance": {
"bestPerformingGoalType": {
"type": "engagement",
"clicks": 7,
"spend": 3.25,
"ctr": 0.34
},
"mostEfficientGoalType": {
"type": "engagement",
"cpc": 0.46,
"spend": 3.25
}
},
"count": 2,
"firstDay": "2025-04-02T00:00:00.000Z",
"lastDay": "2025-04-02T00:00:00.000Z"
}
}
{
"status": "success",
"history": [
{
"accountId": "274948332",
"adId": "6683876017505",
"adName": "API Post 13 - DE6gpw8kxlonHy6eb7Lo - 2025-03-30T17:11:26",
"budgetDaily": 4,
"budgetType": "",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"socialPostId": "17890000000000001",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 2,
"cpc": 0.35,
"cpp": 1.6,
"cpm": 1.55,
"ctr": 0.44,
"frequency": 1.03,
"impressions": 452,
"reach": 438
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7Lo",
"spend": 0.7,
"spendDate": "2025-04-03T00:00:00.000Z",
"spendUsd": 0.7,
"status": "ACTIVE",
"igPostId": "17890000000000001"
},
{
"accountId": "274948332",
"adId": "6683876017505",
"adName": "API Post 13 - DE6gpw8kxlonHy6eb7Lo - 2025-03-30T17:11:26",
"budgetDaily": 4,
"budgetType": "daily",
"currency": "USD",
"deliveryStatus": "ACTIVE",
"socialPostId": "17890000000000001",
"goal": {
"description": "This goal seeks to increase engagement while ensuring that the ad reaches the maximum number of unique users. It balances visibility with engagement, showing the ad to as many different people as possible who may interact with it.",
"title": "Get More Engagement",
"type": "engagement"
},
"isActive": true,
"isComplete": false,
"metrics": {
"clicks": 1,
"cpc": 4.19,
"cpp": 1.5,
"cpm": 1.5,
"ctr": 0.04,
"frequency": 1,
"impressions": 2793,
"reach": 2793
},
"network": "instagram",
"postId": "DE6gpw8kxlonHy6eb7Lo",
"spend": 4.19,
"spendDate": "2025-04-02T00:00:00.000Z",
"spendUsd": 4.19,
"status": "ACTIVE",
"igPostId": "17890000000000001"
}
],
"dateRange": {
"start": "2025-03-04T18:49:18.159Z",
"end": "2025-04-03T18:49:18.159Z",
"adId": "6683876017505"
},
"metrics": {
"totalSpend": 4.89,
"totalSpendByCurrency": { "USD": 4.89 },
"unconvertedRows": 0,
"totalClicks": 3,
"totalImpressions": 3245,
"totalReach": 3231,
"averageCTR": 0.09,
"averageFrequency": 1.02,
"cpm": 1.51,
"cpp": 1.51,
"cpc": 1.63,
"costPerResult": 1.63,
"byGoalType": {
"engagement": {
"spend": 4.890000000000001,
"impressions": 3245,
"clicks": 3,
"reach": 3231,
"count": 2,
"ctr": 0.09244992295839753,
"cpm": 1.50693374422188,
"cpp": 1.5134633240482824,
"cpc": 1.6300000000000001
}
},
"byGoalTitle": {
"Get More Engagement": {
"spend": 4.890000000000001,
"impressions": 3245,
"clicks": 3,
"reach": 3231,
"count": 2,
"ctr": 0.09244992295839753,
"cpm": 1.50693374422188,
"cpp": 1.5134633240482824,
"cpc": 1.6300000000000001,
"type": "engagement"
}
},
"goalPerformance": {
"bestPerformingGoalType": {
"type": "engagement",
"clicks": 3,
"spend": 4.89,
"ctr": 0.09
},
"mostEfficientGoalType": {
"type": "engagement",
"cpc": 1.63,
"spend": 4.89
}
},
"count": 2,
"firstDay": "2025-04-02T00:00:00.000Z",
"lastDay": "2025-04-03T00:00:00.000Z"
}
}
{
"status": "success",
"history": [],
"dateRange": {
"start": "2025-03-04T18:49:18.159Z",
"end": "2025-04-03T18:49:18.159Z",
"adId": "6683876017505"
},
"metrics": {
"totalSpend": 0,
"totalSpendByCurrency": {},
"unconvertedRows": 0,
"totalClicks": 0,
"totalImpressions": 0,
"totalReach": 0,
"averageCTR": 0,
"averageFrequency": 0,
"cpm": 0,
"cpp": 0,
"cpc": 0,
"costPerResult": 0,
"byGoalType": {},
"byGoalTitle": {},
"goalPerformance": {
"bestPerformingGoalType": null,
"mostEfficientGoalType": null
},
"daysCount": 0,
"firstDay": null,
"lastDay": null
},
"warnings": [
{
"action": "ads",
"status": "error",
"code": 401,
"message": "No spend data found for the ad."
}
]
}
{
"action": "ads",
"status": "error",
"code": 370,
"message": "Error getting ads. Please try again or contact us if the issue persists.",
"details": "Error retrieving ads spend data"
}