دليل

How to Schedule Social Media Posts with an API

Scheduling tools are great until you need to automate hundreds of posts, integrate with your own systems, or build scheduling into a product you\'re building. This guide walks you through scheduling content via API, including fixed dates, queue systems, and timezone handling.

الطريقتان لجدولة المحتوى

Upload-Post gives you two approaches for scheduling. You can set an exact date and time with the scheduled_date parameter, or you can let the system decide the best time by using the queue system. كلاهما work on any endpoint: video uploads, photo uploads, and text posts.

الخيار A: جدولة لتاريخ ووقت محددين

Add the scheduled_date parameter to any upload request. The format is ISO-8601, and you can schedule up to 365 days in advance.

curl -X POST https://api.upload-post.com/api/upload \
  -H "التفويض: Apikey your-api-key-here" \
  -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"

A couple of important details here. The date is in UTC by default, but you can pass a timezone parameter using IANA format (like أمريكا/نيويورك, أوروبا/لندن, آسيا/طوكيو) so the post goes live at the right local time. This saves you from doing timezone math yourself.

When a post is successfully scheduled, the API responds with a 202 status and includes a job_id:

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

Keep that job_id because you\'ll need it if you want to edit or cancel the post later.

الخيار B: استخدم نظام الطابور

The queue is perfect when you want consistent posting without picking exact times. Instead of choosing a date, you set add_to_queue=true and Upload-Post assigns the next available time slot based on your configured schedule.

إعداد قائمة الانتظار الخاصة بك

First, configure your queue settings. You define which days and which time slots you want:

curl -X POST https://api.upload-post.com/api/uploadposts/queue/settings \
  -H "التفويض: Apikey your-api-key-here" \
  -H "نوع المحتوى: application/json" \
  -d '{
    "timezone": "أمريكا/نيويورك",
    "slots": [
      { "hour": 9, "minute": 0 },
      { "hour": 12, "minute": 30 },
      { "hour": 17, "minute": 0 }
    ],
    "days": [0, 1, 2, 3, 4]
  }'

This example publishes at 9:00 AM, 12:30 PM and 5:00 PM (New York time), Monday through Friday. You can define up to 24 slots per day.

إضافة محتوى إلى قائمة الانتظار

curl -X POST https://api.upload-post.com/api/upload \
  -H "التفويض: Apikey your-api-key-here" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Monday motivation" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "add_to_queue=true"

Upload-Post will automatically assign this post to the next open slot. If it\'s Wednesday at 2 PM, the post will be scheduled for 5:00 PM that same day. If all Wednesday slots are full, it moves to Thursday at 9:00 AM.

معاينة الفتحات القادمة في قائمة الانتظار.

Want to see what times are available before queuing content? Use the preview endpoint:

curl https://api.upload-post.com/api/uploadposts/queue/preview?count=10 \
  -H "التفويض: Apikey your-api-key-here"

This returns the next 10 available slots with their exact dates and times. You can request up to 50 at once.

إدارة المنشورات المجدولة

Once content is scheduled, you have full control over it through the API.

قائمة بجميع المنشورات المجدولة

curl https://api.upload-post.com/api/uploadposts/schedule \
  -H "التفويض: Apikey your-api-key-here"

Returns an array of pending jobs with their job_id, scheduled_date, platform details and a preview URL of the content.

تحرير منشور مجدول

Need to change the publish date or update the caption? Use a PATCH request:

curl -X PATCH https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
  -H "التفويض: Apikey your-api-key-here" \
  -H "نوع المحتوى: application/json" \
  -d '{
    "scheduled_date": "2025-09-25T14:00:00Z",
    "title": "تعليق محدث مع علامات تصنيف أفضل"
  }'

إلغاء منشور مجدول

curl -X DELETE https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
  -H "التفويض: Apikey your-api-key-here"

The post and its uploaded assets are removed immediately.

إنشاء تقويم محتوى مع قائمة الانتظار

Here\'s a practical workflow that many agencies use. You batch produce content on Monday, upload everything to the queue, and the system distributes it throughout the week automatically. No need to be online at 9 AM on Wednesday to hit the publish button.

This is especially powerful when combined with tools like n8n or Make.com. For example, you can set up a workflow where new files in a Google Drive folder automatically get added to the queue. Check out our قالب جدولة Google Sheets لـ n8n for a ready made setup.

Our social media holiday calendar is also handy for planning content around important dates throughout the year.

الجدولة باستخدام 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="تم الجدولة من Python",
    user="mybrand",
    platforms=["tiktok", "instagram", "youtube"],
    scheduled_date=publish_date.isoformat(),
    timezone="Europe/Madrid"
)

print(f"تم الجدولة! معرف الوظيفة: {response['job_id']}")

حدود التحميل اليومية لكل منصة

When scheduling a lot of content, keep in mind that each platform enforces daily limits. These are rolling 24 hour windows per connected account:

المنصة الحد اليومي
تيك توك15 uploads
يوتيوب10 تحميلات
بينتيريست20 uploads
فيسبوك25 uploads
Reddit40 uploads
Instagram50 uploads
X (تويتر)50 uploads
الخيوط50 uploads
بلوسكاي50 uploads
LinkedIn150 uploads

The queue system respects these limits automatically and won\'t overschedule for any platform.

الأسئلة المتكررة

هل يمكنني جدولة نفس المحتوى لأوقات مختلفة على منصات مختلفة؟

Not in a single request, but you can send separate requests for each platform with different scheduled_date values. Or use the queue system, which distributes automatically.

ماذا يحدث إذا فشل منشور مجدول؟

You\'ll get a notification through webhooks (if configured) with the error details. You can also check the status with the GET /api/uploadposts/status?job_id=your_job_id endpoint.

هل يمكنني دمج الجدولة مع أدوات عدم الحاجة للبرمجة؟

Absolutely. كلاهما n8n and Make.com can send the scheduled_date or add_to_queue parameters through the HTTP request module. This means you can build a visual workflow that reads from a spreadsheet and schedules everything automatically.

قم بإنشاء تقويم محتواك باستخدام واجهة برمجة التطبيقات

Schedule weeks of content in minutes. Set it up once and your posts go live at the right time, on every platform, without you lifting a finger.

لا حاجة لبطاقة ائتمان. 10 تحميلات مجانية مشمولة.