A clear account context
Keep the selected profile close to the content, so creators always know where it belongs.
Design the experience in your app, with a clear boundary between content preparation and the Instagram connection.
Fans APIYour application workflow | InstagramConnection requirements |
|---|---|
Account contextKeep the selected profile visible as creators prepare content. | Account contextConfirm the account’s eligibility and available access. |
Content preparationBring media, captions and a preview into one editing flow. | Content preparationCheck the supported media types and publishing limits. |
ReviewMake the destination and final content easy to check. | ReviewConfirm the permissions required for each operation. |
DeliveryGive pending, successful and failed requests distinct states. | DeliveryUse the confirmed API response to determine the result. |
This is a workflow preview. Instagram access, supported operations and endpoint details are being finalized.
A publishing experience in three considered moments.
Start with the right profile. Keep the destination in view throughout the content workflow.
Bring your media and caption together. Give creators a preview before they move forward.
Check the content and destination, then make the next action clear. Show the actual delivery result when connected.
The building blocks of a thoughtful Instagram publishing experience.
Keep the selected profile close to the content, so creators always know where it belongs.
Give the visual room to breathe, with a preview that stays visible while the caption takes shape.
Bring the caption into the same flow as the media. Make the final copy easy to review.
Put the account, media and caption together before the publishing action.
Design for pending, completed and failed requests. Keep the next step clear in each state.
Show which account and operation are available. Keep credentials on your server.
const response = await fetch(process.env.INSTAGRAM_API_URL, {
headers: {
[process.env.INSTAGRAM_AUTH_HEADER_NAME]:
process.env.INSTAGRAM_AUTH_HEADER_VALUE
}
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
os.environ["INSTAGRAM_API_URL"],
headers={
os.environ["INSTAGRAM_AUTH_HEADER_NAME"]:
os.environ["INSTAGRAM_AUTH_HEADER_VALUE"]
},
timeout=30,
)
print(response.json())<?php
$request = curl_init(getenv('INSTAGRAM_API_URL'));
curl_setopt_array($request, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
getenv('INSTAGRAM_AUTH_HEADER_NAME') . ': ' .
getenv('INSTAGRAM_AUTH_HEADER_VALUE'),
],
]);
$response = curl_exec($request);
curl_close($request);
echo $response;require "net/http"
require "json"
uri = URI(ENV.fetch("INSTAGRAM_API_URL"))
request = Net::HTTP::Get.new(uri)
request[ENV.fetch("INSTAGRAM_AUTH_HEADER_NAME")] =
ENV.fetch("INSTAGRAM_AUTH_HEADER_VALUE")
response = Net::HTTP.start(uri.host, uri.port,
use_ssl: uri.scheme == "https", read_timeout: 30
) { |http| http.request(request) }
puts JSON.parse(response.body)var request = HttpRequest.newBuilder()
.uri(URI.create(System.getenv("INSTAGRAM_API_URL")))
.header(
System.getenv("INSTAGRAM_AUTH_HEADER_NAME"),
System.getenv("INSTAGRAM_AUTH_HEADER_VALUE"))
.timeout(Duration.ofSeconds(30))
.GET().build();
var response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());curl --fail-with-body --max-time 30 \
"$INSTAGRAM_API_URL" \
-H "$INSTAGRAM_AUTH_HEADER_NAME: $INSTAGRAM_AUTH_HEADER_VALUE"INSTAGRAM_API_URL · server environmentA suggested UI state model for your app. Map these states to your integration’s actual responses.
| Moment | UI state | What the creator sees |
|---|---|---|
| Preparing content | Draft | Media and caption can still be edited. |
| Final review | Ready for review | The destination and content are visible together. |
| Request in progress | Processing | The action is in progress; duplicate submissions are prevented. |
| Confirmed result | Completed / Failed | Display the actual outcome, with a useful next action. |
These are interface labels, not Instagram event names or API response values.
Prepare your account and credentials, then choose the plan that fits your workflow.
Check availability for your team before connecting an account. General access is not confirmed in this preview.
Use the account types and permissions specified in the confirmed integration guide.
Keep credentials on your server. Your frontend should never expose access tokens or API keys.
The essentials before your first request.