Perché automatizzare i post su Instagram via API
Se hai mai pubblicato manualmente attraverso l\'app Instagram, conosci la procedura: apri l\'app, scegli un file, scrivi una didascalia, aggiungi gli hashtag, tagga le persone, scegli un\'immagine di copertina e infine premi pubblica. Ora moltiplica tutto questo per cinque post al giorno su piu account clienti.
La pagina della piattaforma Instagram spiega cosa supporta Upload-Post specificamente per Instagram. In breve: puoi pubblicare Reels, singole foto e caroselli (post multi-immagine) attraverso un unico endpoint API per social media. Nessuna revisione dell\'app Facebook, nessun aggiornamento dei token, nessuna complessita della Graph API.
Instagram consente fino a 50 upload per 24 ore tramite l\'API, più che sufficienti per la maggior parte dei casi d\'uso. Se devi pubblicare contemporaneamente su altre piattaforme, scopri come pubblicare su tutte le piattaforme in una volta.
Publish a Reel on Instagram via API
I Reels sono il formato di contenuto principale su Instagram. Per pubblicare un video come Reel, invia una richiesta POST all\'endpoint di upload con media_type impostato su REELS. Puoi anche controllare come il Reel appare nel feed usando share_mode.
curl -X POST https://api.upload-post.com/api/upload \
-H "Autorizzazione: Apikey your-api-key-here" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=Behind the scenes of our new product launch" \
-F "platform[]=instagram" \
-F "media_type=REELS" \
-F "share_mode=FEED_AND_REELS" \
-F "audio_name=Original Audio" \
-F "cover_url=https://example.com/cover.jpg" Ecco cosa fa ciascun parametro specifico di Instagram:
media_type=REELSindica a Instagram di trattare il contenuto come un Reel piuttosto che un video normale nel feed.share_mode=FEED_AND_REELSpubblica sia nella scheda Reels che nel feed principale. UsaSOLO REELSper tenerlo fuori dalla griglia del feed.audio_nameimposta il nome della traccia audio incorporata che gli spettatori vedono sul Reel.cover_urlfornisce un\'immagine di copertina personalizzata. Senza di essa, Instagram sceglie un fotogramma dal video.
A successful upload returns the job ID and the platform status:
{
"success": true,
"job_id": "job_reel_abc123",
"platforms": {
"instagram": {
"status": "processing",
"user": "mybrand"
}
}
}
Puoi anche impostare share_to_feed=true o share_to_feed=false come alternativa a share_mode. Entrambi ottengono lo stesso risultato. Usa thumb_offset per scegliere un fotogramma specifico del video come miniatura (valore in millisecondi).
Publish photos and carousels
Per singole foto o post carosello (multi-immagine), usa l\'endpoint /api/upload_photos. Carica piu file usando il parametro photos[] per creare automaticamente un carosello.
curl -X POST https://api.upload-post.com/api/upload_photos \
-H "Autorizzazione: Apikey your-api-key-here" \
-F "photos[][email protected]" \
-F "photos[][email protected]" \
-F "photos[][email protected]" \
-F "user=mybrand" \
-F "title=Our top 3 product picks this month" \
-F "platform[]=instagram" \
-F "instagram_first_comment=#productpicks #trending #shopnow"
Quando invii piu di un file in photos[], Instagram crea un post carosello. Gli utenti scorrono le immagini nell\'ordine in cui le hai caricate. Un singolo file crea un post fotografico standard. Instagram supporta fino a 10 immagini per carosello.
Puoi usare instagram_title per impostare una didascalia specifica per Instagram quando pubblichi lo stesso contenuto su piu piattaforme contemporaneamente. Questo e utile quando la tua didascalia Instagram ha bisogno di hashtag o menzioni diversi da quelli usati su altre piattaforme.
Automatically publish a first comment
Il parametro instagram_first_comment aggiunge automaticamente un commento al tuo post subito dopo la pubblicazione. Questa e una delle strategie Instagram piu popolari: mantieni la didascalia pulita e sposti tutti gli hashtag nel primo commento.
curl -X POST https://api.upload-post.com/api/upload \
-H "Autorizzazione: Apikey your-api-key-here" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=Quick tutorial: how to use our app" \
-F "platform[]=instagram" \
-F "media_type=REELS" \
-F "instagram_first_comment=#tutorial #howto #apptips #tech #productdemo" Perche usare un primo commento invece di mettere gli hashtag nella didascalia? L\'algoritmo di Instagram tratta gli hashtag nel primo commento allo stesso modo di quelli nella didascalia per la scopribilita, ma la tua didascalia appare piu pulita. Molti brand e creator preferiscono questo approccio perche mantiene il post visivamente focalizzato sul messaggio piuttosto che su un muro di hashtag.
Usare collaboratori e tag utente
I post Collab di Instagram permettono a due account di co-creare un singolo contenuto. Il post appare su entrambi i profili, e l\'engagement (like, commenti, condivisioni) e condiviso. Usa il parametro collaborators per invitare collaboratori.
curl -X POST https://api.upload-post.com/api/upload \
-H "Autorizzazione: Apikey your-api-key-here" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=Excited to announce our partnership with @partneraccount" \
-F "platform[]=instagram" \
-F "media_type=REELS" \
-F "collaborators=partneraccount,otheraccount" \
-F "user_tags=partneraccount,photographer_jane" \
-F "location_id=123456789" collaboratorsaccetta una lista separata da virgole di nomi utente Instagram. Gli utenti invitati ricevono una notifica per accettare la collaborazione.user_tagstagga gli utenti nel post stesso, in modo simile al tagging delle persone in una foto attraverso l\'app.location_idassocia una posizione al post. Puoi trovare gli ID delle posizioni attraverso la ricerca posizioni di Instagram o l\'API Facebook Places.
Schedule posts on Instagram
Aggiungi scheduled_date a qualsiasi richiesta di upload per pubblicare in un momento futuro. La data deve essere in formato ISO-8601, e puoi opzionalmente specificare un timezone.
curl -X POST https://api.upload-post.com/api/upload \
-H "Autorizzazione: Apikey your-api-key-here" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=Good morning! New content dropping today." \
-F "platform[]=instagram" \
-F "media_type=REELS" \
-F "scheduled_date=2025-09-15T09:00:00Z" \
-F "timezone=America/New_York"
Puoi anche usare add_to_queue=true invece di una data specifica. Il sistema di coda sceglie il prossimo slot temporale disponibile in base al tuo programma configurato, ideale per caricare contenuti in batch senza scegliere manualmente gli orari. Consulta la guida completa alla programmazione per la configurazione della coda, la modifica dei post programmati e la gestione del tuo calendario dei contenuti.
Automatizzare con Python
L\'SDK Python ufficiale rende semplice costruire script di automazione. Installalo con pip install upload-post e poi usa UploadPostClient per interagire con l\'API. Per una guida completa, consulta la guida all\'automazione con Python.
Ecco uno script completo che pubblica un Reel, carica un carosello fotografico e programma contenuti per la settimana:
from upload_post import UploadPostClient
from datetime import datetime, timedelta
client = UploadPostClient(api_key="your-api-key-here")
# 1. Post a Reel immediately
reel_response = client.upload_video(
video_path="/path/to/reel.mp4",
title="Guida al nuovo prodotto",
user="mybrand",
platforms=["instagram"],
media_type="REELS",
share_mode="FEED_AND_REELS",
instagram_first_comment="#newproduct #walkthrough #tech"
)
print(f"Reel caricato: {reel_response['job_id']}")
# 2. Post a carousel of photos
carousel_response = client.upload_photos(
photo_paths=[
"/path/to/photo1.jpg",
"/path/to/photo2.jpg",
"/path/to/photo3.jpg"
],
title="Tre angoli, un prodotto.",
user="mybrand",
platforms=["instagram"],
collaborators="partneraccount"
)
print(f"Carosello caricato: {carousel_response['job_id']}")
# 3. Schedule Reels for the next 7 days
videos = [
"monday.mp4", "tuesday.mp4", "wednesday.mp4",
"thursday.mp4", "friday.mp4", "saturday.mp4", "sunday.mp4"
]
for i, video in enumerate(videos):
publish_date = (datetime.now() + timedelta(days=i + 1)).replace(
hour=10, minute=0, second=0, microsecond=0
)
response = client.upload_video(
video_path=f"/path/to/{video}",
title=f"Day {i + 1} of our launch week series",
user="mybrand",
platforms=["instagram"],
media_type="REELS",
scheduled_date=publish_date.isoformat(),
timezone="Europe/Madrid"
)
print(f"Scheduled {video} for {publish_date}: {response['job_id']}")
Questo script programma un Reel al giorno alle 10:00 ora di Madrid per un\'intera settimana. Regola l'hour, il timezone e i percorsi dei file in base al tuo flusso di lavoro. Per scenari di caricamento in blocco, puoi leggere i percorsi dei video da una directory o un file CSV e scorrerli allo stesso modo.
Automazione no-code: n8n e Make.com
Se preferisci flussi di lavoro visuali alla scrittura di codice, sia n8n che Make.com funzionano con Upload-Post senza configurazioni aggiuntive.
n8n
n8n e uno strumento di automazione dei flussi di lavoro open-source. Puoi usare il nodo HTTP Request per chiamare l\'API di Upload-Post. Abbiamo un template n8n per Instagram Reels pronto all\'uso che legge i file video da Google Drive, aggiunge le didascalie da un Google Sheet e li pubblica automaticamente come Reels. Sfoglia tutti i template n8n disponibili per altre configurazioni.
Make.com
Make.com (precedentemente Integromat) utilizza un approccio basato su scenari. Aggiungi un modulo HTTP, configuralo con l\'endpoint di Upload-Post e la tua chiave API, e collegalo a qualsiasi trigger: nuova riga in Google Sheets, nuovo file in Dropbox, un timer programmato e cosi via. Il risultato e lo stesso della scrittura di codice, ma con un\'interfaccia drag-and-drop.
Entrambi gli strumenti supportano i parametri di programmazione (scheduled_date, add_to_queue), cosi puoi costruire un calendario dei contenuti Instagram completo senza toccare un terminale.
Requisiti dei contenuti Instagram
Upload-Post adatta automaticamente i tuoi contenuti dove possibile (usando l'API FFmpeg integrata), ma e utile sapere cosa si aspetta Instagram per ottimizzare la qualita.
| Formato | Specifica | Dettagli |
|---|---|---|
| Video (Reels) | Dimensione massima file | 1 GB |
| Formati | MP4, MOV | |
| Rapporto d\'aspetto | 9:16 consigliato, 1:1 e 4:5 supportati | |
| Durata | Da 3 secondi a 15 minuti | |
| Risoluzione | 1080x1920 consigliata | |
| Foto | Dimensione massima file | 8 MB |
| Formati | JPEG, PNG | |
| Rapporto d\'aspetto | 1:1, 4:5, 1.91:1 | |
| Dimensioni massime | 1440x1440 (quadrato), 1080x1350 (verticale) | |
| Carosello | Immagini massime | 10 per post |
| Mixed media | Foto e video possono essere combinati |
Domande frequenti
Funziona con account Instagram personali?
No. L\'API di Instagram supporta solo account Business e Creator. Gli account personali non possono essere accessibili tramite nessuna API ufficiale. La buona notizia e che passare a un account Business o Creator e gratuito e richiede circa 30 secondi nelle impostazioni dell\'app Instagram. Devi collegarlo a una Pagina Facebook, cosa che Upload-Post gestisce durante il processo di collegamento dell\'account.
Posso pubblicare Instagram Stories via API?
L\'API ufficiale di Instagram non supporta la pubblicazione di Stories. Questa e una limitazione imposta da Meta, non da Upload-Post. Le Stories possono essere create solo attraverso l\'app Instagram stessa. Se il supporto alle Stories diventera disponibile tramite l\'API in futuro, Upload-Post lo aggiungera.
I post automatizzati causeranno lo shadowban del mio account?
No. Upload-Post utilizza l\'API ufficiale di Content Publishing di Instagram (la stessa API utilizzata da Hootsuite, Buffer e ogni altro strumento autorizzato). I tuoi post passano attraverso la pipeline ufficiale di Instagram, quindi non c\'e rischio di shadowban o penalita sull\'account. Questo e fondamentalmente diverso dall\'automazione del browser o dai bot non ufficiali, che violano i termini di Instagram. Se stai attualmente usando uno strumento come Hootsuite o Later, Upload-Post e un\'alternativa pensata per gli sviluppatori che utilizza lo stesso accesso ufficiale.
Esiste un piano gratuito?
Si. Ogni account Upload-Post include 10 upload gratuiti al mese senza carta di credito richiesta. E sufficiente per testare l\'API, validare il tuo flusso di lavoro e confermare che tutto funziona prima di passare a un piano a pagamento. Consulta il calendario delle festivita per i social media per pianificare i tuoi primi post in occasione di eventi imminenti.