curl --request POST \
--url https://api.agentbody.io/v1/instagram/audio/download \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "<string>"
}
'import requests
url = "https://api.agentbody.io/v1/instagram/audio/download"
payload = { "url": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: '<string>'})
};
fetch('https://api.agentbody.io/v1/instagram/audio/download', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.agentbody.io/v1/instagram/audio/download",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.agentbody.io/v1/instagram/audio/download"
payload := strings.NewReader("{\n \"url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.agentbody.io/v1/instagram/audio/download")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agentbody.io/v1/instagram/audio/download")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"artist": "Example Artist",
"audio_type": "licensed",
"audio_url": "https://api.apify.com/v2/key-value-stores/example/records/audio_DcSAqhCTTrX.m4a",
"cover_url": "https://example.com/cover.jpg",
"duration_ms": 175453,
"file_size_bytes": 1833377,
"is_trending": true,
"post_url": "https://www.instagram.com/reel/DcSAqhCTTrX/",
"shortcode": "DcSAqhCTTrX",
"title": "Example Track"
}{
"error": {
"code": "INVALID_ARGUMENT",
"message": "example error"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "example error"
}
}{
"error": {
"code": "CONFLICT",
"message": "example error"
}
}{
"error": {
"code": "UPSTREAM_INVALID_RESPONSE",
"message": "example error"
}
}{
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "example error"
}
}{
"error": {
"code": "UPSTREAM_TIMEOUT",
"message": "example error"
}
}Download Instagram post audio
Use this operation to save the audio track of one public Instagram post (Reel, video, or photo with a sound) as a retained audio file (AAC in M4A) with a permanent download URL and normalized track metadata. Pass a full instagram.com link or a bare shortcode.
curl --request POST \
--url https://api.agentbody.io/v1/instagram/audio/download \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "<string>"
}
'import requests
url = "https://api.agentbody.io/v1/instagram/audio/download"
payload = { "url": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: '<string>'})
};
fetch('https://api.agentbody.io/v1/instagram/audio/download', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.agentbody.io/v1/instagram/audio/download",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.agentbody.io/v1/instagram/audio/download"
payload := strings.NewReader("{\n \"url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.agentbody.io/v1/instagram/audio/download")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agentbody.io/v1/instagram/audio/download")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"artist": "Example Artist",
"audio_type": "licensed",
"audio_url": "https://api.apify.com/v2/key-value-stores/example/records/audio_DcSAqhCTTrX.m4a",
"cover_url": "https://example.com/cover.jpg",
"duration_ms": 175453,
"file_size_bytes": 1833377,
"is_trending": true,
"post_url": "https://www.instagram.com/reel/DcSAqhCTTrX/",
"shortcode": "DcSAqhCTTrX",
"title": "Example Track"
}{
"error": {
"code": "INVALID_ARGUMENT",
"message": "example error"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "example error"
}
}{
"error": {
"code": "CONFLICT",
"message": "example error"
}
}{
"error": {
"code": "UPSTREAM_INVALID_RESPONSE",
"message": "example error"
}
}{
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "example error"
}
}{
"error": {
"code": "UPSTREAM_TIMEOUT",
"message": "example error"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Optional key for safely retrying a billable write request.
1 - 255Body
Public Instagram post URL (instagram.com/reel/{shortcode}, /p/{shortcode}, /tv/{shortcode}, or share link) whose audio track is downloaded.
Response
Retained Instagram audio file URL and normalized public track metadata.
Retained permanent audio file URL (AAC in M4A container).
Audio classification reported upstream (licensed, original, or none).
Was this page helpful?
