Instagram API 2026: die Graph API nach Basic Display, Kosten, Limits und ein Python-Beispiel
Ja, Instagram hat eine API, aber nur für professionelle Konten: Die Basic Display API, die persönliche Konten ausgelesen hat, funktioniert seit dem 4. Dezember 2024 nicht mehr. Übrig bleibt die Instagram Graph API, über Instagram Login oder Facebook Login. Meta nennt keine Gebühr. Die Limits: 100 veröffentlichte Posts und 4.800 Aufrufe pro Impression, jeweils pro 24 Stunden. Geprüft am 24. September 2026.
Hat Instagram eine API?
Bis 2024 gab es zwei. Die Basic Display API, 2019 gestartet, war laut Meta selbst „für Consumer-Anwendungsfälle von Privatpersonen mit persönlichen Konten gedacht“: Sie las Profil- und Medieninformationen aus. Die Graph API war für Business-Konten da.
Am 4. September 2024 hat Meta das Ende von Basic Display angekündigt: Ab dem 4. Dezember 2024 „werden alle Anfragen an die Instagram Basic Display API fehlschlagen“. Derselbe Beitrag verwies Entwickler auf zwei Setups: die neu gestartete Instagram API mit Instagram Login und die Instagram API mit Facebook Login.
Beide sind heute gemeint, wenn von der Instagram Graph API die Rede ist, und beide setzen ein Professional-Konto voraus, Business oder Creator. Für private Konten gibt es keine offizielle API mehr.
Instagram Graph API: Instagram Login oder Facebook Login
Die Wahl des Logins entscheidet, was du bauen kannst. Aus Metas Überblick zur Instagram Platform, gelesen am 24. September 2026:
| Instagram Login | Facebook Login | |
|---|---|---|
| Host | graph.instagram.com |
graph.facebook.com |
| Facebook-Seite erforderlich | Nein | Ja, mit dem Konto verknüpft |
| Token | Instagram-User-Token | User- oder Page-Token von Facebook |
| Veröffentlichen von Inhalten | Ja | Ja |
| Kommentar-Moderation | Ja | Ja |
| Nachrichten | Ja | Über die Messenger Platform |
| Insights und Erwähnungen | Ja | Ja |
| Hashtag-Suche | Nein | Ja |
| Produkt-Tagging | Nein | Ja |
| Partnership Ads | Nein | Ja |
| Berechtigungen fürs Veröffentlichen | instagram_business_basic, instagram_business_content_publish |
instagram_basic, instagram_content_publish, pages_read_engagement |
Nimm Instagram Login, wenn du mit den eigenen Inhalten des Kontos arbeitest: Veröffentlichen, Kommentare, DMs, Insights. Es braucht keine Facebook-Seite, und PlugKit nutzt genau dieses Setup. Meta fasst die Grenze in einer Zeile zusammen: „Dieses API-Setup hat keinen Zugriff auf Anzeigen oder Tagging.“ Nimm Facebook Login, wenn du Hashtag-Suche, Produkt-Tags, Partnership Ads oder „grundlegende Metadaten und Kennzahlen zu anderen Instagram Businesses und Creators“ brauchst.
Zugriffsstufen, App Review und Tokens
Deine Meta-App muss eine App vom Typ Business sein. Dann gibt es zwei Zugriffsstufen:
- Standard Access, die Standardstufe, „ist für Apps gedacht, die nur von Personen genutzt werden, die eine Rolle in der App haben, während der App-Entwicklung oder zum Testen deiner App“. Deine eigenen Konten fallen darunter. Kein App Review.
- Advanced Access brauchst du, „wenn deine App Instagram-Professional-Konten bedient, die du nicht besitzt oder verwaltest“. Dafür sind App Review und Business Verification nötig.
Ein kurzlebiges Token gilt eine Stunde, ein langlebiges 60 Tage, und du kannst es vor Ablauf erneuern. Für einen ersten Test erzeugt das App Dashboard eins: Instagram, API setup with Instagram business login, dann Generate token neben deinem Konto.
Eine Falle übersieht man leicht. GET /me?fields=user_id,username liefert zwei IDs. id ist app-bezogen; user_id ist die ID des Instagram-Professional-Kontos, die jeder Publishing-Endpoint erwartet.
Instagram API: Preise
Meta nennt keinen Preis für die Instagram API. Keine der Seiten, die ich am 24. September 2026 gelesen habe (Überblick, Content Publishing, Rate Limiting und Insights), erwähnt eine Gebühr. Das gilt nicht überall: X berechnet jeden Aufruf, und PlugKit gibt das zum Selbstkostenpreis weiter, 0,005 $ für das Lesen eines Posts und 0,015 $ für das Veröffentlichen, laut seiner Abrechnungsdoku.
Auf Instagram zahlst du stattdessen mit Arbeit:
| Kosten | Auf der Graph API aufbauen | Über PlugKit gehen |
|---|---|---|
| Gebühr pro Aufruf | Keine von Meta genannt | Keine für Instagram; X ist die einzige Plattform mit Abrechnung pro Aufruf |
| Abo | 0 $ | 29 $ im Monat für 5 Konten, 97 $ für 30 |
| Konten anderer Leute | App Review und Business Verification | Verbunden wird über den OAuth-Link von PlugKit |
| Token-Erneuerung | Dein Code, vor Tag 60 | PlugKit speichert ein langlebiges Token |
| Queue, Retries, Webhooks | Dein Code | Enthalten |
Instagram API: Rate Limits
| Limit | Wert | Meta-Quelle |
|---|---|---|
| Plattformaufrufe, ohne Messaging | 4.800 × Impressionen pro 24 h | Rate Limiting |
| Per API veröffentlichte Posts | 100 pro gleitendem 24-h-Fenster im Guide, quota_total 50 auf der Referenzseite |
Content Publishing |
| Conversations API | 2 Aufrufe pro Sekunde und Account | Rate Limiting |
| Send API | 100 Calls pro Sekunde für Text, Links, Reaktionen und Sticker; 10 für Audio oder Video | Rate Limiting |
| Private Antworten | 750 Calls pro Stunde für Kommentare unter Posts und Reels; 100 pro Sekunde für Live-Kommentare | Rate Limiting |
| Unveröffentlichter Container | Läuft nach 24 h ab | Veröffentlichen von Inhalten |
Impressionen heißt hier „wie oft ein beliebiger Inhalt des Instagram-Professional-Kontos des App-Nutzers in den letzten 24 Stunden auf dem Bildschirm einer Person erschienen ist“. Ein neues Konto mit wenig Reichweite bekommt ein kleines Aufrufbudget. Jede Antwort enthält einen X-Business-Use-Case-Usage-Header: Lies ihn aus, statt zu raten.
Die beiden Post-Kontingente widersprechen sich. Ruf vor einem großen Batch GET /<IG_ID>/content_publishing_limit?fields=quota_usage,config auf und verlass dich auf das, was er für dein Konto zurückgibt. Andere Netzwerke findest du in meiner Tabelle der Rate Limits.
Instagram API: Python-Beispiel
Dieses Skript veröffentlicht ein Foto mit Instagram Login. Du brauchst Python 3, requests, einen langlebigen Token in IG_TOKEN und ein JPEG unter einer öffentlichen URL, weil Meta die Datei selbst abruft.
import os
import time
import requests
GRAPH = "https://graph.instagram.com/v25.0"
HEADERS = {"Authorization": f"Bearer {os.environ['IG_TOKEN']}"}
def call(method, path, params=None, body=None):
r = requests.request(method, f"{GRAPH}/{path}", headers=HEADERS,
params=params, json=body, timeout=30)
data = r.json()
if "error" in data:
raise RuntimeError(f"{r.status_code}: {data['error']['message']}")
return data
# The professional account ID is user_id, not id
ig_id = call("GET", "me", {"fields": "user_id,username"})["user_id"]
# 1. Container: a public JPEG plus the caption
container = call("POST", f"{ig_id}/media", body={
"image_url": "https://example.com/launch.jpg",
"caption": "Launch day. Link in bio.",
})["id"]
# 2. Wait for FINISHED: Meta suggests once a minute, 5 minutes max
for _ in range(5):
status = call("GET", container, {"fields": "status_code"})["status_code"]
if status == "FINISHED":
break
if status in ("ERROR", "EXPIRED"):
raise RuntimeError(f"container {container}: {status}")
time.sleep(60)
else:
raise RuntimeError("container not ready after 5 minutes")
# 3. Publish
media_id = call("POST", f"{ig_id}/media_publish",
body={"creation_id": container})["id"]
print("published", media_id)
# 4. What is left of the 24-hour quota
print(call("GET", f"{ig_id}/content_publishing_limit",
{"fields": "quota_usage,config"})["data"][0])
Am 24. September 2026 mit einem absichtlich ungültigen Token ausgeführt, stoppt schon der erste Aufruf das Skript:
RuntimeError: 401: Invalid OAuth access token - Cannot parse access token
Der Rohbody dahinter enthält "type":"OAuthException","code":190. Mit einem gültigen Token auf einem professionellen Konto gibt das Skript die neue Media-ID aus, danach deine Kontingentnutzung.
Instagram Reels API
Ein Reel sind dieselben drei Calls mit einem anderen Container:
container = call("POST", f"{ig_id}/media", body={
"media_type": "REELS",
"video_url": "https://example.com/clip.mp4",
"caption": "New reel",
"share_to_feed": True,
})["id"]
Ein Video braucht in der Verarbeitung oft länger als ein Foto, genau dafür ist die 5-Minuten-Polling-Schleife da. Der Container akzeptiert außerdem cover_url, thumb_offset, audio_name, collaborators und trial_params sowie upload_type für fortsetzbare Uploads, die Metas Guide an einen separaten Host schickt, rupload.facebook.com. Die Specs, aus Metas Media-Referenz:
| Reel | Story-Video | Feed-Bild | |
|---|---|---|---|
| Format | MP4 oder MOV | MP4 oder MOV | Nur JPEG |
| Dauer | 3 s bis 15 min | Bis zu 60 s | |
| Max. Dateigröße | 300 MB | 100 MB | 8 MB |
| Codecs | H.264 oder HEVC, AAC bis 48 kHz | Gleiche Familie wie Reels | |
| Bildrate | 23 bis 60 fps | ||
| Seitenverhältnis | 0,01:1 bis 10:1, 9:16 empfohlen | 4:5 bis 1,91:1 |
Stories nutzen media_type=STORIES. Karussells nehmen bis zu 10 Bilder oder Videos als Child-Container auf, dann einen CAROUSEL-Container, den du veröffentlichst.
Auf der Graph API aufbauen oder direkt andocken
Bau darauf auf, wenn du eine App hast, deine eigenen Konten und einen Bedarf wie Hashtag-Suche oder Daten zu anderen Unternehmen, den nur Facebook Login abdeckt. Der Python-Code oben ist schon der Großteil der Publishing-Hälfte.
Nutze es, wenn Instagram ein Netzwerk unter mehreren ist, wenn ein Agent die Arbeit macht oder wenn du Token-Refresh, Queues und App Review lieber nicht selbst verantworten willst. PlugKit läuft über Instagram Login: Die Doku deckt das Veröffentlichen von Bildern, Videos, Reels mit Trial-Modus und Stories ab, dazu DMs, Kommentare und Insights, neben LinkedIn, X, TikTok, YouTube, Facebook, WhatsApp und Telegram. Wie du Posts planst, steht in Instagram-Posts automatisieren. Für Agents stellt der MCP-Server das Ganze als 103 Tools bereit:
claude mcp add -t http plugkit https://api.plugkit.co/mcp
Es kostet 29 $ im Monat für 5 verbundene Konten, jederzeit kündbar, mit 7 Tagen kostenlosem Test. Wo es nicht die Lösung ist: Laut Doku gibt es keine Hashtag-Suche und keine Daten zu anderen Konten, ein Monitoring-Tool sollte also auf Facebook Login aufbauen. Mehr dazu auf der Seite Instagram-MCP-Server, in meinem Social-Media-API-Guide und im API-Hub.
FAQ
Ist die Instagram API kostenlos?
Meta nennt dafür keinen Preis: Keine der Seiten zur Instagram Platform, die ich am 24. September 2026 gelesen habe, erwähnt eine Gebühr. Du zahlst auf andere Weise: mit einem Aufrufbudget, das an deine Impressionen gekoppelt ist, mit App Review und Business Verification, wenn du Konten anderer Leute bedienst, und mit dem Code, den du pflegst.
Kann ich die Instagram API mit einem privaten Konto nutzen?
Nein. Beide aktuellen Setups setzen ein Business- oder Creator-Konto voraus, und die Basic Display API, die für private Konten gebaut wurde, antwortet seit dem 4. Dezember 2024 nicht mehr. Der Wechsel zu einem professionellen Konto in den App-Einstellungen ist der einzige Zugang.
Was hat die Instagram Basic Display API ersetzt?
Die Instagram API mit Instagram Login, 2024 gestartet und ohne Facebook-Seite nutzbar, und die Instagram API mit Facebook Login. Beide bedienen nur professionelle Konten.
Wie viele Posts kann ich pro Tag mit der Instagram API veröffentlichen?
Metas Publishing-Guide nennt 100 per API veröffentlichte Posts pro rollierenden 24 Stunden, wobei ein Karussell als ein Post zählt. Die Referenzseite des Endpoints content_publishing_limit nennt immer noch 50. Frag diesen Endpoint für dein Konto ab, bevor du dein Volumen planst.
Brauche ich App Review für die Instagram Graph API?
Nicht für deine eigenen Konten: Standard Access deckt Apps ab, die von Personen genutzt werden, die eine Rolle in der App haben. Advanced Access, das App Review und Business Verification voraussetzt, wird Pflicht, sobald deine App professionelle Konten bedient, die dir nicht gehören oder die du nicht verwaltest.
Ein Plug für jede Plattform, die dein Agent anfasst
29 $ im Monat für 5 verbundene Accounts, jederzeit kündbar. Jede Funktion in jedem Tarif.
Hol dir deinen API-Key →