Guide

Comment planifier des publications sur les reseaux sociaux avec une API

Les outils de planification c\'est bien, jusqu\'au moment ou vous devez automatiser des centaines de posts, les integrer a vos propres systemes, ou ajouter la planification dans un produit que vous construisez. Ce guide vous accompagne pas a pas pour planifier du contenu via API, avec des dates fixes, des files d\'attente et la gestion des fuseaux horaires.

Les deux façons de planifier du contenu.

Upload-Post vous offre deux approches pour la planification. Vous pouvez definir une date et une heure exactes avec le parametre scheduled_date, ou laisser le systeme decider du meilleur moment en utilisant le systeme de file d\'attente. Les deux fonctionnent sur tous les endpoints : upload video, upload photo et posts texte.

Option A : Planifier à une date et heure précises

Ajoutez le parametre scheduled_date a n\'importe quelle requete d\'upload. Le format est ISO-8601, et vous pouvez planifier jusqu\'a 365 jours a l\'avance.

curl -X POST https://api.upload-post.com/api/upload \
  -H "Autorisation : Apikey votre-clé-api-ici" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Coming soon... stay tuned!" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "scheduled_date=2025-09-22T10:00:00Z" \
  -F "timezone=Europe/Madrid"

Quelques details importants ici. La date est en UTC par defaut, mais vous pouvez passer un parametre timezone au format IANA (comme America/New_York, Europe/Londres, Asie/Tokyo) pour que le post soit publie a la bonne heure locale. Ca vous evite de faire les calculs de fuseaux horaires vous-meme.

Quand un post est planifie avec succes, l\'API repond avec un statut 202 et inclut un job_id :

{
  "success": true,
  "job_id": "scheduler_job_abc123",
  "scheduled_date": "2025-09-22T10:00:00Z"
}

Gardez ce job_id car vous en aurez besoin si vous voulez modifier ou annuler le post plus tard.

Option B : Utiliser le système de file d\'attente

La file d\'attente est parfaite quand vous voulez publier regulierement sans choisir des heures exactes. Au lieu de choisir une date, vous definissez add_to_queue=true et Upload-Post assigne le prochain creneau disponible selon votre planning configure.

Configurer votre file d\'attente

D\'abord, configurez les parametres de votre file d\'attente. Vous definissez quels jours et quels creneaux horaires vous souhaitez :

curl -X POST https://api.upload-post.com/api/uploadposts/queue/settings \
  -H "Autorisation : Apikey votre-clé-api-ici" \
  -H "Content-Type: application/json" \
  -d '{
    "timezone": "America/New_York",
    "slots": [
      { "hour": 9, "minute": 0 },
      { "hour": 12, "minute": 30 },
      { "hour": 17, "minute": 0 }
    ],
    "days": [0, 1, 2, 3, 4]
  }'

Cet exemple publie a 9h00, 12h30 et 17h00 (heure de New York), du lundi au vendredi. Vous pouvez definir jusqu\'a 24 creneaux par jour.

Ajouter du contenu à la file d\'attente

curl -X POST https://api.upload-post.com/api/upload \
  -H "Autorisation : Apikey votre-clé-api-ici" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Monday motivation" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "add_to_queue=true"

Upload-Post assignera automatiquement ce post au prochain creneau libre. Si on est mercredi a 14h, le post sera planifie pour 17h00 le meme jour. Si tous les creneaux du mercredi sont pris, il passe au jeudi a 9h00.

Prévisualiser les prochains créneaux de la file d\'attente

Vous voulez voir quels creneaux sont disponibles avant d\'ajouter du contenu ? Utilisez l\'endpoint de previsualisation :

curl https://api.upload-post.com/api/uploadposts/queue/preview?count=10 \
  -H "Autorisation : Apikey votre-clé-api-ici"

Ca retourne les 10 prochains creneaux disponibles avec leurs dates et heures exactes. Vous pouvez en demander jusqu\'a 50 a la fois.

Gérez les publications planifiées

Une fois le contenu planifie, vous avez un controle total dessus via l\'API.

List all scheduled posts

curl https://api.upload-post.com/api/uploadposts/schedule \
  -H "Autorisation : Apikey votre-clé-api-ici"

Retourne un tableau de jobs en attente avec leur job_id, scheduled_date, details des plateformes et une URL de previsualisation du contenu.

Modifier une publication planifiée

Besoin de changer la date de publication ou de mettre a jour la legende ? Utilisez une requete PATCH :

curl -X PATCH https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
  -H "Autorisation : Apikey votre-clé-api-ici" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduled_date": "2025-09-25T14:00:00Z",
    "title": "Légende mise à jour avec de meilleurs hashtags"
  }'

Annuler une publication planifiée

curl -X DELETE https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
  -H "Autorisation : Apikey votre-clé-api-ici"

Le post et ses fichiers uploades sont supprimes immediatement.

Construisez un calendrier de contenu avec la file d\'attente

Voici un workflow pratique que beaucoup d\'agences utilisent. Vous produisez du contenu en lot le lundi, vous uploadez tout dans la file d\'attente, et le systeme le distribue tout au long de la semaine automatiquement. Pas besoin d\'etre en ligne a 9h le mercredi pour cliquer sur Publier.

C\'est particulierement puissant quand c\'est combine avec des outils comme n8n ou Make.com. Par exemple, vous pouvez mettre en place un workflow ou les nouveaux fichiers dans un dossier Google Drive sont automatiquement ajoutes a la file d\'attente. Decouvrez notre modele de planification Google Sheets pour n8n pour une configuration prete a l\'emploi.

Notre calendrier des fetes pour les reseaux sociaux est aussi tres pratique pour planifier du contenu autour des dates importantes de l\'annee.

Planification avec Python

from upload_post import UploadPostClient
from datetime import datetime, timedelta

client = UploadPostClient(api_key="your-api-key-here")

# Schedule a video for tomorrow at 10 AM Madrid time
publish_date = (datetime.now() + timedelta(days=1)).replace(
    hour=10, minute=0, second=0
)

response = client.upload_video(
    video_path="/path/to/video.mp4",
    title="Planifié depuis Python",
    user="mybrand",
    platforms=["tiktok", "instagram", "youtube"],
    scheduled_date=publish_date.isoformat(),
    timezone="Europe/Madrid"
)

print(f"Planifié ! ID de la tâche : {response['job_id']}")

Daily upload limits per platform

Quand vous planifiez beaucoup de contenu, gardez en tete que chaque plateforme impose des limites quotidiennes. Ce sont des fenetres de 24 heures glissantes par compte connecte :

Plateforme Limite quotidienne.
TikTok15 uploads
YouTube10 téléchargements
Pinterest20 uploads
Facebook25 uploads
Reddit40 uploads
Instagram50 uploads
X (Twitter)50 uploads
Threads50 uploads
Bluesky50 uploads
LinkedIn150 uploads

Le systeme de file d\'attente respecte ces limites automatiquement et ne surplanifiera pas pour une plateforme donnee.

Questions fréquentes

Puis-je planifier le même contenu à des heures différentes sur différentes plateformes ?

Pas dans une seule requete, mais vous pouvez envoyer des requetes separees pour chaque plateforme avec des valeurs scheduled_date differentes. Ou utilisez le systeme de file d\'attente qui distribue automatiquement.

What happens if a scheduled post fails?

Vous recevrez une notification via webhooks (si configures) avec les details de l\'erreur. Vous pouvez aussi verifier le statut avec l\'endpoint GET /api/uploadposts/status?job_id=your_job_id.

Puis-je combiner la planification avec les outils no-code ?

Absolument. n8n et Make.com peuvent envoyer les parametres scheduled_date ou add_to_queue via le module de requete HTTP. Ca signifie que vous pouvez construire un workflow visuel qui lit un tableur et planifie tout automatiquement.

Construisez votre calendrier de contenu avec l\'API

Planifiez des semaines de contenu en quelques minutes. Configurez une fois et vos publications seront publiées au bon moment, sur chaque plateforme, sans lever le petit doigt.

Pas de carte bancaire requise. 10 uploads gratuits inclus.